Skip to content

feat(react): add subsystem boundary view - #87

Merged
ramesh521 merged 5 commits into
AudioReach:feature/use-case-designerfrom
satyakris:fix/subsystem-internals
Sep 16, 2026
Merged

ramesh521 merged 5 commits into
AudioReach:feature/use-case-designerfrom
satyakris:fix/subsystem-internals

Conversation

@satyakris

Copy link
Copy Markdown
Contributor

Summary

  • Add a scoped subsystem boundary view for drilled-in subsystems.
  • Mirror boundary ports while preserving source and target port IDs for subsystem-aware link creation.
  • Protect boundary structure from editing and keyboard deletion.
  • Correct boundary-crossing data-edge and connection-preview routing.

Validation

  • pnpm lint
  • pnpm typecheck
  • pnpm build
  • pnpm test

@satyakris
satyakris force-pushed the fix/subsystem-internals branch from 2d4472f to 66dd4f6 Compare September 16, 2026 02:47
Edit the use case visualizer design/documentation to add details
about the subsystem boundary view which is shown when a user
double clicks or drills down into a subsystem.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
@satyakris
satyakris force-pushed the fix/subsystem-internals branch from 66dd4f6 to 7102cea Compare September 16, 2026 05:39
Comment thread packages/react-app/src/features/usecase-visualizer/lib/connection-role.ts Outdated
Add the scoped subsystem boundary LevelView contract,
inner-link adapter, enclosing layout, runtime resizing,
and boundary renderer with focused regression coverage.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
Carry rendered endpoint roles through context-menu
connections while preserving domain port direction
and subsystem-aware APIs.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
Guard active boundary structure while preserving
child navigation, port and edge editing,
and subsystem link operations.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
A boundary port's handle position matches its physical side on
the enclosing frame, but its real counterpart always sits on the
interior side of that same edge under the rendered-role inversion.
Feeding the raw Position into getBezierPath computed the curve on
the wrong side, looping the edge back into the frame with the
arrowhead pointing away from its counterpart.

resolveDataEdgePositions mirrors only the boundary endpoint's
Position before calling the bezier helper, and
getBoundaryAwareBezierPath floors the control-point offset at that
same endpoint so the curve departs the port instead of hugging it.
DataLinkEdge and the new BoundaryAwareConnectionLine (the
in-progress connection preview) both apply the same fix, since the
live line otherwise looped back until the mouse was released even
though the finished edge already rendered correctly.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
@satyakris
satyakris force-pushed the fix/subsystem-internals branch from 7102cea to d8d5d62 Compare September 16, 2026 08:42
@ramesh521
ramesh521 merged commit 24cf754 into AudioReach:feature/use-case-designer Sep 16, 2026
16 checks passed
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