Skip to content

feat: add receiver-side communication support loop#2191

Open
lightcoloror wants to merge 1 commit into
cboard-org:masterfrom
lightcoloror:pr/receiver-side-communication-loop
Open

feat: add receiver-side communication support loop#2191
lightcoloror wants to merge 1 commit into
cboard-org:masterfrom
lightcoloror:pr/receiver-side-communication-loop

Conversation

@lightcoloror
Copy link
Copy Markdown

@lightcoloror lightcoloror commented May 15, 2026

Summary

Adds a receiver-side communication support loop with text-to-symbol matching, review, reorder, replace, and send-to-output behavior, backed by receiver pipeline tests and UI tests.

Context

This workflow is informed by experimentation from picinterpreter (TuYuJia), a communication-support prototype that explored bidirectional AAC flows, especially the receiver-side path of:

  • entering short text
  • matching text to symbols
  • reviewing and correcting the symbol sequence before use

Reference repository:

Why

This PR brings that receiver-side loop into a more generic, reusable form for cboard rather than shipping a product-branded integration.

Verification

  • src/common/communicationSupport/receiverPipeline.test.js
  • src/components/Board/CommunicationSupport/ReceiverLoopPanel.component.test.js
  • src/components/Board/Tuyujia/__tests__/matcher.test.js

@RodriSanchez1
Copy link
Copy Markdown
Collaborator

Hello @lightcoloror ! Thanks for your contribution!

Could you explain me what this PR does? Please create an issue, explaning why we need this. Also I noticed that it's not integrated in any actual component, so I do not how to even test it

@lightcoloror
Copy link
Copy Markdown
Author

Thanks for the feedback. You are right that the current PR is not mounted in an existing screen yet, so it is not manually testable from the normal app UI right now.\n\nI created the requested issue here: #2194\n\nWhat this PR currently adds is the reusable receiver-side core for a communication-support flow:\n\n- start from short text\n- segment it into tokens / words\n- match those tokens against loaded communication tiles\n- review the proposed symbol sequence\n- reorder or replace symbols before use\n- send the corrected sequence to the output bar\n\nSo this PR is more of a reusable primitive / building block than a fully integrated feature screen.\n\nHow to test this PR today:\n\n- src/common/communicationSupport/receiverPipeline.test.js\n- src/components/Board/CommunicationSupport/ReceiverLoopPanel.component.test.js\n- src/components/Board/Tuyujia/tests/matcher.test.js\n\nIf you prefer, I can rework the PR in one of these directions:\n\n1. keep this PR as a reusable primitive and improve the description\n2. add a minimal integration entrypoint in the app so it becomes manually testable from the UI\n3. close this PR and reopen later together with a visible integration\n\nGiven your comment, I think option 2 is probably the most useful next step.

@lightcoloror
Copy link
Copy Markdown
Author

One more note for context: I am not a professional programmer, and most of my development workflow here is AI-assisted. So if some parts of the implementation or explanation are less polished than usual, please excuse that. I am still trying to be careful, responsive, and improve the contribution based on your feedback. Thank you for your patience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants