Files
aetherbound-guild/docs/runtime/fg2/IMPLEMENTATION_PLAN.md
T

11 KiB

FG-2 Production Vertical Slice Implementation Plan

Status: ACTIVE Active step: FG2-STEP-3 Activation baseline: 6ee3765d71b9dcda88bb5bd37163253e7cfb5cd3 Accepted gameplay source: d00c7ad4f960b4498cb4a4f0b88fa8603a1e462b Goal: docs/goals/FG2_PRODUCTION_VERTICAL_SLICE_GOAL.md Contract: docs/runtime/FG2_PRODUCTION_VERTICAL_SLICE_CONTRACT.md

Player-Visible Stopping Point

One canonical Windglass Market-1 route flows through line preparation, event-bound automatic battle, victory or permanent-loss recovery and saved Market 2 with production-direction pixel art, motion, VFX and audio. A fresh H5 at the end is Owner checkpoint 1.

Ordered Steps

Step Status Player outcome Commit boundary
FG2-STEP-0 Contract and audit COMPLETE The exact battle, focal order, pixel direction, media ceiling and evidence gate are frozen. Goal, contract, plan, roadmap, checkpoint and ledger.
FG2-STEP-1 Canonical adapter and graybox COMPLETE One real P10.0 Market/battle path runs through a reusable campaign presentation boundary at the final logical canvas. Adapter/controller, graybox layers, event/input tests and recording probe.
FG2-STEP-2 Identity and environment production COMPLETE Aegis, Scribe, Sprout and Windglass layers have traceable production assets at play size. Asset requests, raw/processed outputs, manifests, validators and normal frames.
FG2-STEP-3 Motion, VFX and game feel IN_PROGRESS Entry, contact, protection, damage, casualty, victory and recovery feel causal and readable. Event presenter, motion manifests, VFX, reduced variants, focused/runtime tests.
FG2-STEP-4 Audio identity and mix PENDING Commits, pressure, impacts, casualty, victory and recovery are audible without masking decisions. Original audio candidates, buses, event router, machine checks and mute lifecycle.
FG2-STEP-5 Slice candidate and H5 PENDING The Owner can remotely judge the final direction in one stable landscape build. Full regressions, layouts, recording, media audit, Web export and Gallery handoff.

Step Contracts

FG2-STEP-1 CANONICAL ADAPTER AND GRAYBOX

ID: FG2-STEP-1
PLAYER OUTCOME: The real Company and enemy meet in one continuous world scene;
  the player can see order, target, cause, result and recovery without app cards.
IN SCOPE: runtime/campaign state/event adapter; one P10.0 Market-1 fixture;
  production-slice controller; logical-grid layer roots; parsed touch/drag;
  graybox motion and fixed recording probe; focused P10.0 regressions.
OUT OF SCOPE: new gameplay, economy, Save changes, generated media, audio,
  later Markets/Regions, H5 and release.
OWNED FILES: new runtime/campaign modules/scenes; narrow main entry flag or
  handoff only; tests/fg2 and UIDs; durable closure after pushed source.
ACCEPTANCE CHECKS: source snapshot/event hashes stay exact; risk-zero success
  and named wounded/high-risk recovery fixtures match P10.0; no duplicated
  authority; 844x390 uses
  the declared logical grid; world-first focal order; controls >=48px; parsed
  Touch/Drag only; fixed 15-30s graybox recording; strict diagnostics zero.
EVIDENCE LEVEL EXPECTED: automated_verified + runtime graybox evidence.
COMMIT BOUNDARY: focused source/test push, fixed-source evidence, docs closure.
LEGAL TERMINAL: FG-2 Step 1 canonical graybox complete.
NEXT STEP: FG2-STEP-2.

Step 1 may not edit any P10.0-P10.3 domain, economy, save, content or accepted test file. A narrow runtime/main.gd handoff may select the canonical campaign controller but may not translate gameplay state itself.

Step 1 product source 197814df079a56b7013d0aa0020c6bdac592bda1 adds the campaign adapter, deterministic success/failure fixtures, five logical world layers and parsed touch/drag graybox controller without changing P10.0-P10.3 authority. Recording-fix source af1c8ee73fb3bfb2428e2287abd61d38a16d9136 changes only the final-frame recording hold.

R1 at /private/tmp/abg-fg2-197814d-step1-r1/evidence/ is append-only INVALID_RECORDING_TEARDOWN; its gray cleanup frame is not reused. Fresh R2 at /private/tmp/abg-fg2-af1c8ee-step1-r2/evidence/ passes 7/7 headless programs, seven normal-render fixtures and a 20.5s MovieWriter recording. Touch/Drag are 9/1 in the complete runtime flow and 5/1 in the recording; fallback/direct, strict diagnostics and black intervals are zero. Audit SHA-256 is 6c33961c6ffd1e7c1221ade91f431d1648450d3e08a137df13cfba6393ab0c00; the 27-row inventory SHA-256 is 553179f7e2fa2be24545d152464b9de67ec918839e4d6f57614c0f8ad7552252.

FG2-STEP-2 IDENTITY AND ENVIRONMENT PRODUCTION

ID: FG2-STEP-2
PLAYER OUTCOME: The route, allied role and enemy pressure read as authored game
  content at actual size before animation or effects explain them.
IN SCOPE: exact bounded asset inventory; low-grid environment layers; Aegis and
  Scribe/Sprout identity locks; required motion within the paid image ceiling;
  deterministic processing, palette/pivot QA, manifests and runtime import.
OUT OF SCOPE: bulk assets, other Professions/enemies/Regions, video, paid audio.
OWNED FILES: assets/fg2 source/processed/runtime paths, generation records,
  processing/verification tools and narrow media registry integration.
ACCEPTANCE CHECKS: low-grid origin, hard clusters, limited palette, no crop/
  fringe/debris, stable baseline and identity, manifest-driven frames, correct
  import/filtering, current normal-render source visible at play size.
EVIDENCE LEVEL EXPECTED: processed + imported + integrated + runtime_seen.
COMMIT BOUNDARY: asset/tool commit, fixed-source visual evidence, docs closure.
LEGAL TERMINAL: FG-2 Step 2 production identities complete.
NEXT STEP: FG2-STEP-3.

Image generation begins with a dry-run and a written request ledger. Maximum paid use for this Goal is four calls and USD 5 total. A fifth call is not an automatic retry; it requires a new Owner decision.

Step 2 source ab525b9f5be09ebab6bef9421f8d0636cee3adcb retains four provider reports at total cost USD 0.056, including the rejected detached- shield Aegis source. Deterministic local processing produces nine environment plates and 14 safe-cell actor frames; manifest SHA-256 is 6dce730a0991e80fc228b50ac82ef5bed121a81c83265a08a3339f356bb18db5. R1 at /private/tmp/abg-fg2-ab525b9-step2-r1/evidence/ is append-only INVALID_EVIDENCE_CAPTURE because its successful import output was not retained. Fresh R2 at /private/tmp/abg-fg2-ab525b9-step2-r2/evidence/ passes all six markers, six normal-render frames and strict diagnostics zero. Audit SHA-256 is 82ac47fd5e5537bc80d9e4aec00b6f387784b8efb807908dd0285aa2a8c06ea1; the 18-row inventory SHA-256 is c678d578707c4ccd1651ae8a3695c0c71fa0e6771649ebdb9f5a0a8c99a01791.

FG2-STEP-3 MOTION, VFX AND GAME FEEL

ID: FG2-STEP-3
PLAYER OUTCOME: The player can read anticipation, collision, protection,
  damage, loss and recovery from bodies and state change, not text or particles.
IN SCOPE: manifest-driven actor states; event presentation adapter; actor-local
  VFX/values; hit pause; restrained shake; state cleanup; accessibility modes.
OUT OF SCOPE: simulation timing/results, new assets outside the fixed inventory,
  audio, H5, device or release.
OWNED FILES: campaign presenter/VFX modules, bounded shaders/materials, tests.
ACCEPTANCE CHECKS: exact event-to-motion mapping; no false success; all effects
  return to rest; input remains active; overlaps capped; reduced motion/flashes
  and low power preserve facts; busy-state recording stays readable.
EVIDENCE LEVEL EXPECTED: runtime_verified + agent_visual_reviewed for motion.
COMMIT BOUNDARY: focused source/test push, fixed runtime evidence, docs closure.
LEGAL TERMINAL: FG-2 Step 3 motion and game feel complete.
NEXT STEP: FG2-STEP-4.

FG2-STEP-4 AUDIO IDENTITY AND MIX

ID: FG2-STEP-4
PLAYER OUTCOME: The player hears commit, pressure, protection, loss, result and
  recovery while routine automatic impacts remain secondary.
IN SCOPE: original local music/ambience/SFX candidates; bus routing; event IDs;
  pooling/rate limits/ducking; mute and lifecycle; machine audio checks.
OUT OF SCOPE: paid ElevenLabs, voice, generative video, complete soundtrack,
  gameplay timing, device listening or release.
OWNED FILES: bounded audio sources/processed runtime files, generation tool,
  audio manifest/router/bus layout, tests and evidence.
ACCEPTANCE CHECKS: declared codecs/durations/peaks/silence/seams; exact event
  binding; duplicate suppression; priority/ducking; mute and low-power preserve
  simulation; no clipped or missing required cue in runtime recording.
EVIDENCE LEVEL EXPECTED: integrated + runtime_seen + machine_audio_checked.
COMMIT BOUNDARY: audio/tool/source push, fixed runtime/machine evidence, docs.
LEGAL TERMINAL: FG-2 Step 4 audio candidate complete.
NEXT STEP: FG2-STEP-5.

FG2-STEP-5 SLICE CANDIDATE AND H5

ID: FG2-STEP-5
PLAYER OUTCOME: The Owner can open one stable remote build and judge the final
  visual, motion, audio and game-feel direction without developer coaching.
IN SCOPE: full regressions; five relevant behavior fixtures; Save/layout/input/
  accessibility matrices; 15-30s final recording; media provenance audit;
  runtime-only Web export, cache configuration and Gallery deployment.
OUT OF SCOPE: native packaging, devices, signing, stores, publishing, bulk art.
OWNED FILES: candidate tests/evidence, Web export metadata, H5 delivery docs.
ACCEPTANCE CHECKS: immutable clean source; all declared markers; strict logs;
  target-size frames; parsed touch/drag; audio machine checks; source-bound H5;
  clean/upstream and owned process cleanup.
EVIDENCE LEVEL EXPECTED: runtime_verified + agent_visual_reviewed +
  machine_audio_checked; human gates remain open for checkpoint.
COMMIT BOUNDARY: candidate source/evidence closure and H5 handoff push.
LEGAL TERMINAL: Aetherbound Guild FG-2 production vertical slice ready for
  Owner checkpoint.
NEXT STEP: wait for Owner checkpoint 1 judgment before bulk Region production.

Issue Register

ID Status Boundary
FG2-I01 RESOLVED_CONTRACT Latest workspace rules require true low-grid pixel art; older non-pixel runtime assets remain references/temporary only.
FG2-I02 RESOLVED_STEP_1 The campaign adapter preserves exact P10.0 source/event hashes and forwards all state changes to existing services.
FG2-I03 RESOLVED_STEP_2 Four calls cost USD 0.056; one Aegis source was rejected and the corrected Aegis, two enemies and three Windglass layers pass the runtime media gate.
FG2-I06 RESOLVED_CONTRACT Fixed Market-1 order reversal does not change outcome; recovery uses a named wounded/high-risk fixture and never a forced result.
FG2-I04 OPEN_STEP_4 Paid SFX/music is unauthorized; local original candidates must meet the machine/runtime gate without a quality overclaim.
FG2-I05 OPEN_OWNER Human visual, motion, audio, comprehension and fun judgment occurs only at the final FG-2 H5 checkpoint.