Repository navigation
Court/editor fixes, release+preview Pages pipeline, and arc42 docs - #6
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This branch bundles a round of rendering/interaction fixes, a reworked
GitHub Pages deployment, and new architecture documentation.
Rendering & editor fixes
touch-action: noneand alarger hit radius for coarse pointers, so entities can be dragged on phones.
fixing mis-placed hits/drags whenever the court was scaled (i.e. always on
mobile).
self-intersecting filled shape.
right-click selection.
Release + preview deployment (
v0.2.0)/→ newestv*release tag (the "final" build)/preview/→ currentmain(the "test" build, redeployed on every merge)scripts/build-pages.sh(possible because the app has no runtime deps anduses relative asset paths). Until the first tag exists, root mirrors preview.
v*tag,scripts/check-version.shfails CI unlesspackage.jsonmatches the tag, so a release can never ship a mismatched version.
build+ E2Etestpass.Documentation
doc/arc42.md: full arc42 architecture writeup (context, buildingblocks, 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.
/preview/URL alongside the release URL and links thearchitecture doc.
Testing
npm run build+node scripts/validate-examples.jsgreen.scripts/build-pages.shandscripts/check-version.shverified locally(no-tag and tagged cases, version gate, and serving
_siteso both/and/preview/load with correct version badges).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