FORGE · vertical-slice · closed pilot secondary

30-minute demo beats

Product arc for the open MCV.GG substrate demo — not a full MMO. Runtime proof lives in cell-node vertical-slice tests; this page is the client-facing beat map and juice key surface from @mcv-gg/forge-contract. 8 presentation-bound beats fire client-only CSS juice on mock (no host required). Browser edge panel proves mock / WS-stub / WS-proxy — never native ALPN forge QUIC.

Target
~30m
Beat sum
28m
World
dev/slice
Bound juice
8 beats

Live host QUIC: ALPN forge · SNI localhost (Node pipe / gateway — not browser-native).

Secondary demo · intentional edge

Browser edge

not native QUIC ALPN forge

Offline MockForgeTransport — no network, no bridge, not live FORGE.

When: Default for friends / laptop demos. Juice tray works without host.

  1. mockOpen this page · Connect/prove (no host)
  2. ws-stubcd forge && cargo run -p forge-ws-bridge -- --bind 127.0.0.1:7710 --mode stub
  3. ws-proxycd mcv-gg/infra/forge && make self-host-smoke # then bridge --mode proxy + session UUID

Presentation bound · mock-first

Juice tray

Bookend arc (login → world → combat/loot → turn-in → arena → credits). Maps pack juice keys (sfx / vfx / ui / camera) to visible channels. Fire is client-only CSS — no FORGE wire, no host required.

8 bound

Stage idle — fire a channel below

1.Login / create

bound

Fast local account; first character lands without friction

  • BannerWelcome to the Slice
  • SFXui.login_ok
  • Camerachar_select_idle

2.Enter world

bound

Seamless handoff into a readable starting space

  • BannerSlice Outpost
  • SFXworld.zone_enter
  • VFXspawn_fade_in
  • Cameraspawn_establish

3.First objective

bound

Clear call-to-action within 60s of spawn

  • BannerCull the Wolves
  • SFXquest.accept
  • UIobjective_toast

5.Combat

bound

Auto-attack + ability; AI fights back; readable damage

  • SFXcombat.hit_flesh
  • SFXcombat.slice_bolt
  • VFXvfx.slice_bolt_cast
  • VFXvfx.impact_spark
  • Cameracombat_punch_light

7.Loot

bound

Clear inventory delta; one memorable item path

  • SFXloot.pickup
  • VFXloot_sparkle
  • UIloot_toast

8.Turn-in / reward

bound

Sword / gold / XP land with juice

  • BannerQuest complete
  • SFXquest.complete
  • VFXreward_burst
  • Camerareward_hold

10.Arena / climax

bound

Queue → instance → duel → Elo/payout

  • BannerArena ready
  • SFXarena.queue
  • SFXarena.fight_start
  • VFXarena_gate_flash
  • Cameraarena_wide

11.Credits / share

bound

End card: built on FORGE / MCV.GG

  • BannerBuilt on FORGE
  • SFXui.credits
  • UIshare_prompt

Toast log empty

  1. 1.Login / create

    presentation bound~1.5m · login_create

    Fast local account; first character lands without friction

    Banner: Welcome to the Slice

    sfx: ui.login_okcamera: char_select_idle
  2. 2.Enter world

    presentation bound~1.5m · enter_world

    Seamless handoff into a readable starting space

    Banner: Slice Outpost

    sfx: world.zone_entervfx: spawn_fade_incamera: spawn_establish
  3. 3.First objective

    presentation bound~2m · first_objective

    Clear call-to-action within 60s of spawn

    Banner: Cull the Wolves

    sfx: quest.acceptui: objective_toast
  4. 4.Traversal

    ~2m · traversal

    Movement and camera feel good; authored space

    sfx: footstep.dirtcamera: follow_soft
  5. 5.Combat

    presentation bound~5m · combat

    Auto-attack + ability; AI fights back; readable damage

    sfx_hit: combat.hit_fleshsfx_ability: combat.slice_boltvfx_ability: vfx.slice_bolt_castvfx_hit: vfx.impact_sparkcamera: combat_punch_light
  6. 6.Quest credit

    ~1m · quest_credit

    Kill feedback is immediate and fair

    sfx: quest.progressui: objective_tick
  7. 7.Loot

    presentation bound~2m · loot

    Clear inventory delta; one memorable item path

    sfx: loot.pickupvfx: loot_sparkleui: loot_toast
  8. 8.Turn-in / reward

    presentation bound~2m · turn_in

    Sword / gold / XP land with juice

    Banner: Quest complete

    sfx: quest.completevfx: reward_burstcamera: reward_hold
  9. 9.Social beat

    ~3m · social

    Trade or short multiplayer moment

    sfx: ui.trade_okui: trade_panel
  10. 10.Arena / climax

    presentation bound~6m · arena_climax

    Queue → instance → duel → Elo/payout

    Banner: Arena ready

    sfx_queue: arena.queuesfx_start: arena.fight_startvfx: arena_gate_flashcamera: arena_wide
  11. 11.Credits / share

    presentation bound~2m · credits

    End card: built on FORGE / MCV.GG

    Banner: Built on FORGE

    sfx: ui.creditsui: share_prompt