Skip to content

feat(rate-of-closure): link launch monitor scatter selection - #4440

Draft
d-sorgcodexagent[bot] wants to merge 5 commits into
codex/4433-visualization-tab-visibilityfrom
codex/4433-launch-monitor-linked-scatter
Draft

feat(rate-of-closure): link launch monitor scatter selection#4440
d-sorgcodexagent[bot] wants to merge 5 commits into
codex/4433-visualization-tab-visibilityfrom
codex/4433-launch-monitor-linked-scatter

Conversation

@d-sorgcodexagent

Copy link
Copy Markdown
Contributor

Summary

Advances #4433 from initial visibility into matched direct visualization interaction for the React and PyQt Launch Monitor Analytics tabs.

  • preserves each retained row by dataset-generation plus zero-based ordinal; no player identity is inferred from shot/session/vendor fields
  • links both scatter views through pointer and keyboard selection with Home/End/arrows/Escape, selected-marker emphasis, and accessible retained-row status
  • strictly aligns portable decimal/CSV/JSON projection semantics across Python and TypeScript and rejects ragged, nested, nonfinite, radix, Unicode-digit, and unsafe values
  • keeps raw retained data available to the analysis missing-data policy while deterministically capping display geometry at 2,000 marks and failing closed above 250,000 retained rows
  • preserves selected rows through display decimation, distinguishes missing versus decimated availability, and computes nearest pointer selection in rendered pixels
  • ensures selection/reset do not rerun statistics; predictor/outcome/request edits invalidate stale analysis results and exports until a fresh Run
  • adds responsive rendered interaction and selected-state PyQt diagnostics without promoting artifacts to approved goldens

Stack

Evidence

  • Rate Python: 1,266 passed
  • React Vitest: 906 passed
  • focused Python/TypeScript: 20 / 18 passed
  • production Playwright linked interaction + visibility: 3 passed across 1440x900, 1280x720, and 390x844
  • PyQt full 18-tab audit at 100% and 150% DPI: passed, including selected-row diagnostic
  • 100,000-row planner: about 86–90 ms, exactly 2,000 displayed marks
  • Vite build, TypeScript, ESLint, Ruff, format, diff, and changed-file <=400 LOC: green
  • independent exact-head review: GO

Honest boundary

This remains a presentation-only linked view. Dataset fingerprints are runtime-local and nonportable; raw authority/export is not decimated. Approved visual goldens, formal assistive-technology review, archive integration, generalized shared interaction roles across the other tabs, all-state geometry, user approval, downstream validation, and protected publication remain open. #4433 is not complete.

@d-sorgcodexagent

Copy link
Copy Markdown
Contributor Author

Reviewed correction head

PR #4440 now points to exact 7030a846f84ace0dde1ee0df0bf191ed7b3b3ed3.

Late adversarial review closed before publication:

  • overflow-safe normalized plotting for ±MAX, constant maxima, near-ULP maxima, signed zero/subnormals, and zero paired points in both renderers;
  • atomic dataset-bound defaults/results/exports with browser import epochs and PyQt generation-tagged callbacks;
  • strict 8 MiB / 250k-row / 256-column / 2M-dense-cell / 64 KiB-per-field UTF-8 import boundaries, duplicate-key rejection, fatal UTF-8, malformed CSV normalization, suffix-before-read, and no global CSV field-limit mutation;
  • identical well-formed-Unicode scalar rules for JSON keys/string values, including lone-surrogate rejection, valid supplementary pairs, and normalized duplicate detection;
  • exact hosted MyPy boundaries fixed.

Broad prior evidence remains: 1,271 Rate tests, 910 React tests, production React/PyQt rendered audits, build/static gates, and independent exact-head GO reviews. Fresh protected checks are queued/running normally; no merge-completion claim is made and #4433 remains open.

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.

0 participants