mobleysoft.com

EVENTWAKE Engine

This directory is the source of truth for the playable Mobleysoft background. /Users/johnmobley/mobleysoft.com/game/ is the NGINX deployment target.

Rendering Contract

The base renderer is /Users/johnmobley/mobleysoft/blackhole.js, SHA-256 417b9edc4e6e4c9c8857d96bbebb6ad305a516421b92e034b43a9c3627fe9f6d. The deployed /Users/johnmobley/mobleysoft.com/blackhole.js must remain byte-identical.

blackhole-bootstrap.js observes the canonical scene, camera, and renderer constructors, then restores Three.js before the game client initializes. The game uses a second transparent WebGL renderer on encounter-canvas; it does not copy or mutate the canonical shader.

The superseded single-canvas runtimes and page-level prototypes are preserved under backgrounds/legacy/ with checksums. They are absent from the deployed runtime. backgrounds/candidates/live-adapted-e1a5de7a.js preserves the selected pre-r3 adaptation separately.

Runtime Layers

Release Gates

npm run check --prefix /Users/johnmobley/mobleysoft/game
npm run smoke:browser --prefix /Users/johnmobley/mobleysoft/game
npm run benchmark --prefix /Users/johnmobley/mobleysoft/game

check runs pure engine tests, page contracts, deployed-file parity, canonical hash verification, and the game doctor. smoke:browser launches the installed Chrome in an isolated headless profile, loads the local NGINX site, drives real keyboard input through Chrome DevTools Protocol, verifies pause and replay, and captures a rendered frame in memory.

NGINX must serve .mjs as application/javascript. The authoritative mapping is /Users/johnmobley/nginx/mime.types.

Controls

Current Boundary

eventwake-slice-r3 executes the complete Second Arrival state machine in headless acceptance tests and exposes the same systems in the deployed browser. It is not a finished game. Presentation playtesting, the preventable catastrophe, causal hazards, final interior art, audio, haptics, profiling, and physical mobile acceptance remain open.