Skip to content

docs: document graph subsystem, add testing guide, and improve recommendations - #12

Merged
veillette merged 5 commits into
mainfrom
claude/review-simulation-docs-3RS6u
Feb 20, 2026
Merged

docs: document graph subsystem, add testing guide, and improve recommendations#12
veillette merged 5 commits into
mainfrom
claude/review-simulation-docs-3RS6u

Conversation

@veillette

Copy link
Copy Markdown
Collaborator
  • CLAUDE.md: add graph/ subsystem table with file responsibilities and a
    callout about GraphInteractionHandler complexity; add Testing section
    with Vitest setup guidance and highest-value test targets
  • Recommendations: reformat from plain text to structured Markdown with
    title, date, section headers, code blocks, and summary table
  • GraphInteractionHandler.ts: add class-level JSDoc summarising
    responsibilities (zoom, pan, resize, header drag, manual-zoom locking)
    and constructor @PARAM tags

https://claude.ai/code/session_01UhgpoygioBmRF14YA2QBxg

…endations

- CLAUDE.md: add graph/ subsystem table with file responsibilities and a
  callout about GraphInteractionHandler complexity; add Testing section
  with Vitest setup guidance and highest-value test targets
- Recommendations: reformat from plain text to structured Markdown with
  title, date, section headers, code blocks, and summary table
- GraphInteractionHandler.ts: add class-level JSDoc summarising
  responsibilities (zoom, pan, resize, header drag, manual-zoom locking)
  and constructor @PARAM tags

https://claude.ai/code/session_01UhgpoygioBmRF14YA2QBxg
The codebase changes too quickly for a test suite to be worthwhile
right now. Remove the Vitest setup guidance and replace with an explicit
note discouraging contributors from adding tests at this stage.

https://claude.ai/code/session_01UhgpoygioBmRF14YA2QBxg
…nt-disable

- tsconfig.json: add noPropertyAccessFromIndexSignature to close the
  remaining gap alongside noUncheckedIndexedAccess — dot notation on
  index-signature types now requires bracket syntax
- SimModel.ts: remove stale eslint-disable-next-line comment; the
  project uses Biome (not ESLint) and the _dt underscore prefix already
  signals an intentionally unused parameter to both TypeScript and Biome

https://claude.ai/code/session_01UhgpoygioBmRF14YA2QBxg
…imeProperty

Slider from SceneryStack requires a NumberProperty (which carries range
metadata) rather than a plain Property<number>. Changing the declaration
to NumberProperty with an open upper bound (0..MAX_VALUE) satisfies the
Slider constructor's type constraint and lets us remove the
`as unknown as Property<number>` double-cast from PlaybackControlsNode.
Also drops the now-unused Property import from PlaybackControlsNode.

https://claude.ai/code/session_01UhgpoygioBmRF14YA2QBxg
Introduce four local interfaces (CvMat, CvRect, MinMaxLocResult, CV)
that describe exactly the OpenCV.js API surface used by OpenCVTracker.

- cvPromise / loadCV() return Promise<CV> instead of Promise<any>
- private cv: CV | null replaces any
- private templateMat: CvMat | null replaces any
- Single biome-ignore remains only at the true WASM boundary
  (mod.default extraction) where no typed alternative exists

Narrowing through method calls (captureFrame) is handled by capturing
this.cv and this.templateMat into local consts before use, avoiding
non-null assertions while keeping TypeScript happy.

If OpenCV bumps or renames matchTemplate, minMaxLoc, TM_CCOEFF_NORMED,
Mat, Rect, cvtColor, or COLOR_RGBA2GRAY, the compiler will now flag it.

https://claude.ai/code/session_01UhgpoygioBmRF14YA2QBxg
@veillette
veillette merged commit cd37086 into main Feb 20, 2026
@veillette
veillette deleted the claude/review-simulation-docs-3RS6u branch February 20, 2026 16:45
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