Skip to content

Apply codebase quality recommendations 1. Fix silent async failures — add console.error to VideoPlayerNode.play() catch and AutoTrackerNode initFromVideo catch so failures are visible in the console rather than silently discarded. 2. WASM error boundary — AutoTrackerNode now renders an in-video error message (below the drag hint) when OpenCV initialisation fails, giving the user actionable feedback instead of a silent no-op. 3. PlottableProperty registry — extract the 6. Standardize listener cleanup — AutoTrackerN uses a privateambda (same pattern as all other view nod instead of storing bound*-prefixed fields and calling unlink/remove directly from dispose(). Reds rem - #26

Merged
veillette merged 1 commit into
mainfrom
claude/add-recommendations-AaAQp
Feb 22, 2026

Conversation

@veillette

Copy link
Copy Markdown
Collaborator

No description provided.

1. Fix silent async failures — add console.error to VideoPlayerNode.play()
   catch and AutoTrackerNode initFromVideo catch so failures are visible
   in the console rather than silently discarded.

2. WASM error boundary — AutoTrackerNode now renders an in-video error
   message (below the drag hint) when OpenCV initialisation fails, giving
   the user actionable feedback instead of a silent no-op.

3. PlottableProperty registry — extract the nine kinematics quantities from
   KinematicsGraphNode into a new canonical file
   (src/screen-name/graph/kinematics-plottable-properties.ts) with a
   buildKinematicsPlottableProperties(model) factory. Adding a new
   physical quantity now requires a single-file edit.

4. Model-view transform safety — add SimModel.pixelToModelCoords(Vector2)
   as the single, named entry point for converting pixel/scene coordinates
   to model coordinates. Update AutoTrackerNode and DigitizingOverlayNode
   to use it; update the tracksProperty INVARIANT comment to reference the
   new method instead of the raw MVT call.

5. Graph subsystem documentation — replace the one-liner doc comment on
   ConfigurableGraph with a full subsystem overview: file table, data-flow
   diagram, gesture-coordination guidance, and visibility/axis-selection notes.

6. Standardize listener cleanup — AutoTrackerNode now uses a private
   disposeAutoTrackerNode lambda (same pattern as all other view nodes)
   instead of storing bound*-prefixed fields and calling unlink/remove
   directly from dispose(). Redundant bound* class fields removed.

https://claude.ai/code/session_01JerFgrXUb6fycACVYTA971
@veillette
veillette merged commit 194701e into main Feb 22, 2026
1 check passed
@veillette
veillette deleted the claude/add-recommendations-AaAQp branch February 22, 2026 19:39
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