Skip to content

Court/editor fixes, release+preview Pages pipeline, and arc42 docs - #6

Merged
OliEder merged 5 commits into
mainfrom
claude/app-review-Oy0Ta
May 30, 2026
Merged

OliEder merged 5 commits into
mainfrom
claude/app-review-Oy0Ta

Conversation

@OliEder

@OliEder OliEder commented May 30, 2026

Copy link
Copy Markdown
Contributor

Summary

This branch bundles a round of rendering/interaction fixes, a reworked
GitHub Pages deployment, and new architecture documentation.

Rendering & editor fixes

  • Touch support: unified Pointer Events path + touch-action: none and a
    larger hit radius for coarse pointers, so entities can be dragged on phones.
  • Coordinate mapping: client→viewBox now goes through the SVG screen CTM,
    fixing mis-placed hits/drags whenever the court was scaled (i.e. always on
    mobile).
  • Curves: corrected curved-line direction and dribble-wave orientation.
  • FIBA defender: drawn as a proper open stroked horseshoe instead of a
    self-intersecting filled shape.
  • Half-court center circle: arc now bulges into the court.
  • Repaired ball possession, line selection, snap-indicator persistence and
    right-click selection.

Release + preview deployment (v0.2.0)

  • GitHub Pages now hosts two builds side by side:
    • / → newest v* release tag (the "final" build)
    • /preview/ → current main (the "test" build, redeployed on every merge)
  • Both are rebuilt from their own git ref on every deploy by
    scripts/build-pages.sh (possible because the app has no runtime deps and
    uses relative asset paths). Until the first tag exists, root mirrors preview.
  • On a v* tag, scripts/check-version.sh fails CI unless package.json
    matches the tag, so a release can never ship a mismatched version.
  • Deploy runs only after build + E2E test pass.

Documentation

  • New doc/arc42.md: full arc42 architecture writeup (context, building
    blocks, runtime, deployment, ADRs, quality, risks), with diagrams embedded
    as PNGs (so they render in the GitHub mobile app too) plus the editable
    Mermaid source in collapsible blocks.
  • README surfaces the /preview/ URL alongside the release URL and links the
    architecture doc.

Testing

  • npm run build + node scripts/validate-examples.js green.
  • Playwright E2E: 51 tests passing.
  • scripts/build-pages.sh and scripts/check-version.sh verified locally
    (no-tag and tagged cases, version gate, and serving _site so both / and
    /preview/ load with correct version badges).
  • All five Mermaid diagrams validated with the Mermaid parser and rendered in a
    headless browser.

Note for the reviewer

For the Actions-based deploy to take effect, the repo's Settings → Pages →
Source
must be set to GitHub Actions.

https://claude.ai/code/session_01H8rjA9L8mXvBm5FREpaPfD


Generated by Claude Code

claude added 5 commits May 30, 2026 10:03
Reflects the mobile-touch and court-rendering fixes on this branch. Updates
package.json, the in-app version badge, and the version assertion test.
Restructure the Pages deployment so a release and a test build coexist:

- Root (/) serves the newest v* release tag; /preview serves current main.
  Both are rebuilt from their own source tree on every deploy by
  scripts/build-pages.sh (the app uses only relative asset paths, so it works
  from any sub-path). Until the first tag exists, root mirrors the preview.

- Deploy runs on main pushes and on v* tag pushes, but only after build +
  E2E tests pass.

- On a tag push, a version-check job fails the pipeline unless package.json
  matches the tag (scripts/check-version.sh), so a release can't ship a
  mismatched version.

Both scripts were verified locally (no-tag and tagged cases, version gate,
and serving _site so root + /preview load with correct version badges).
Documents the release flow in the README.
- Add doc/arc42.md: full arc42 architecture writeup capturing the editor's
  module structure, runtime flows, the release/preview Pages deployment, the
  key fixes from recent work (pointer input, screen-CTM coordinate mapping,
  curve direction, FIBA defender symbol, center-circle arc), the test strategy,
  and known risks.
- README: surface the /preview/ (current main) URL alongside the release URL
  and link the architecture doc.
Convert the architecture diagrams to Mermaid (rendered natively by GitHub):
- context flowchart (chapter 3)
- building-block component diagram (chapter 5)
- drag-interaction sequence diagram (chapter 6)
- deployment graph + CI pipeline flowchart (chapter 7)

All five diagrams were validated with the Mermaid parser and rendered in a
headless browser to confirm they display correctly.
The GitHub mobile app (and some other viewers) don't render ```mermaid``` code
blocks. Pre-render all five diagrams to PNGs under doc/diagrams/ and embed them
as images so they show everywhere, while keeping the editable Mermaid source in
a collapsible <details> block beneath each image.

Images were rendered from the Mermaid sources in a headless browser at 2x.
@OliEder
OliEder merged commit 32999cf into main May 30, 2026
4 checks passed
@OliEder
OliEder deleted the claude/app-review-Oy0Ta branch May 30, 2026 15:33
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