Skip to content

Fast-forward the simulation from drive RPCs - #2004

Merged
Noisemaker111 merged 2 commits into
betafrom
agent-time-scale
Oct 20, 2026
Merged

Noisemaker111 merged 2 commits into
betafrom
agent-time-scale

Conversation

@Noisemaker111

Copy link
Copy Markdown
Owner

Playtests could not reach Beacon Bastion's first wave or the end of Odd Orbit's 20 s work shift. Headless software rendering runs at 0.2–0.4 fps, and on Beacon a frame is about 2.9 s of render against 0.3 ms of simulation.

  • shell/devtools/simStepper.ts (@internal): the mounted driver registers its per-frame step. advanceSimulation(seconds) runs it in 0.05 s frames, capped at 2400 per call.
  • FrameDriver and HudOnlyDriver: the frame body (input, movement, onTick, behaviors, bound actions, hotbar) moves into simulate(rawDt), shared by the render loop and the stepper. A frame gated by a menu or pause still skips the frame metrics, as before.
  • Agent bridge: sim_advance { seconds ≤ 120 } returns { frames, now }, and time_scale { scale } sets and reads the clock's timescale. Both are in the verify skill.
  • Tests for the stepper and the timescale verb; changes/agent-time-scale.md.

Verification

  • bun test packages/shell/src/devtools packages/shell/src/drivers — 35 pass, 0 fail; check-types — pass; bun run gen — ok; ship:preflight — ok
  • Live, Beacon Bastion with only shell swapped: --click "Begin first assault" --wait 6000 --rpc sim_advance 30 returned {"frames":600,"now":30.5}. Left is 6 s in, with no raiders yet. Right is after the advance: 18 raiders marching and the "send wave 2" prompt showing.

sim-advance-ba


Generated by Claude Code

Headless software rendering runs Beacon Bastion at 0.2-0.4 fps (render
~2.9 s/frame, sim 0.3 ms), so its first wave, Odd Orbit's 20 s shift and
other timers never arrived inside a drive capture. The frame and HUD-only
drivers now share their per-frame step with a registered stepper:
sim_advance runs N seconds of it in 0.05 s frames without rendering, and
time_scale sets the clock's timescale.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RwsemkhoUGyeQkdkKFmUmw
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RwsemkhoUGyeQkdkKFmUmw
@Noisemaker111
Noisemaker111 merged commit 390ed92 into beta Oct 20, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants