[Epic] Web deployment parity & divergence-testing sprint #387
Labels
No labels
Alpha Release Requirement
Bugfix
Demo Target
Documentation
Major Feature
Minor Feature
priority:tier1-active
priority:tier2-foundation
priority:tier3-future
priority:tier4-deferred
Refactoring & Cleanup
system:animation
system:documentation
system:grid
system:input
system:performance
system:procgen
system:python-binding
system:rendering
system:ui-hierarchy
Tiny Feature
workflow:blocked
workflow:needs-benchmark
workflow:needs-documentation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
#346 [Performance] Document web-build (WASM) profiling workflow — DevTools + emcc, sibling to #345
john/McRogueFace
#347 [Rendering] Investigate renderer parity: SFML (desktop) vs SDL2/WebGL (web) — shaders & pixel-perfect output
john/McRogueFace
#381 [Tooling] Deterministic snippet screenshots as a visual-regression oracle (rendered into the doc-site repo, not the engine)
john/McRogueFace
#388 [Keystone] Cross-backend screenshot diff harness (desktop-headless oracle vs web canvas)
john/McRogueFace
#389 [Testing] Validate SDL-event → SFML-enum input parity (asserted "Full", never tested)
john/McRogueFace
#390 [Hardening] SDL2Renderer: Fail-Early on shader/program compile, GL context loss, canvas resize
john/McRogueFace
Reference
john/McRogueFace#387
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Tracking epic for the web-deployment sprint. The desktop backend is SFML; the web backend is SDL2 + OpenGL ES 2. Game code is written against the SFML API and SDL2 types mirror it, but rendering fidelity parity is unestablished and nothing automatically catches desktop↔web divergence. This epic coordinates the work to change that.
Keystone insight
#347 + #239 + #381 compose into one thing: an automated cross-backend divergence harness. Render the snippet corpus on the web backend (via a headless browser), capture the canvas, and diff against the deterministic desktop-headless PNG oracle. That single harness turns "manually eyeball parity per game" into a CI signal and serves parity, divergence-testing, and SDL-hardening at once.
Bucket map
Web parity (fidelity):
WASM divergence testing:
SDL validation & hardening:
DX for web deployment:
make deploy-playground✅ doneRecommended sequence
Child issues are linked as dependencies below.