Back to replicas
Replica documentation
To Build a Better Ballot
Local route /interactive-explanation/ballot/ vendors the original article,
playable election modules, and sandbox with only hosting-safe metadata fixes and the shared
public reference footer layered on top.
Upstream snapshot: fc9716c57467b5889eac64dd6bcf3512a4e298c3
License: CC0 1.0
Source snapshot
Vendor baseline came from the published ncase/ballot site tree. The local copy
keeps the article-scale index.html, the play/ election modules,
the standalone sandbox/ route, and the original media assets.
- Live page verified against
https://ncase.me/ballot/ on 2026-03-10.
- CC0 provenance stays in docs while the public page uses only the shared reference footer.
- Share URLs, metadata, and subpath handling were fixed before any public-surface cleanup.
Asset and source map
ballot/index.html preserves the long-form narrative and embeds each election module in sequence.
ballot/play/*.html contains the draggable voter/candidate scenes and comparison experiments.
ballot/play/js/ contains election logic, counting visuals, and the sandbox runtime.
ballot/sandbox/ preserves the standalone scenario builder and sharable model route.
ballot/img/, ballot/social/, and ballot/splash/ stay vendored as-is.
Known deviations
- The public article and sandbox now use the shared footer instead of any floating provenance UI.
- Top-level self-promo, repo, and supporter blocks were removed from the public page body.
- Static share anchors and sandbox save links now resolve to the local replica routes instead of embedding the original host.
- Top-of-page translation and original-site link blocks were removed so the public route stays footer-only.
Reproduction notes
- Vendor the original article tree first, then verify each embedded election scene before cleanup edits.
- Preserve the sandbox as a separate route so saved scenarios keep working under the local subpath.
- Audit both the opening translation blocks and closing share markup, then run
node interactive-explanation/tools/check-public-surface.mjs.
Parity checklist
Loading...
Loading parity contract...