Repository navigation
Use cached V8 by default on Linux ARM64 - #508
Merged
Merged
Conversation
Planning document extracted from 8167695fd2528bdb7fe99eb259b73e43501d93b6; source commit preserved.
…isioning contract
The packaged-quickjs spec read split("\n - ")[0] as a string. With
noUncheckedIndexedAccess that index is string | undefined, so `pnpm typecheck`
failed with TS18048 at ci-structure.spec.ts lines 3042 and 3044.
Throw a named error when the step is missing instead of relying on the index.
No runtime behaviour changes: split always returns at least one element.
Verified: pnpm typecheck exits 0; pnpm exec vitest run
scripts/__tests__/ci-structure.spec.ts passes 162/162.
…ing as ground Stride sync (footPlantSpeed) restored the rig root with quaternion.copy, which rewrote a (0, PI, 0) Euler as (PI, 0, PI); every later rotation.y increment then turned the figure the mirrored way, so the starter jogged backwards. Restore the exact Euler instead. Trimesh colliders now set FIX_INTERNAL_EDGES on web and native Rapier: a capsule pressed into a platform's side read grounded on triangle edges and sank at 0.16 m/s instead of falling. Red-green: animation.spec.ts (mirrored Euler) and character.spec.ts (grounded at tick 42 on a trimesh wall); native cargo tests pass. Native wall-fall runtime behaviour is unverified beyond the Rust unit tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… movement proof - Player pushes dynamic bodies (pushesDynamicBodies), so the crate moves. - HUD progress is published by Play (spawn -> island edge, 0..100) instead of |playerX| * 10, which started at 20 and fell while walking forward. - Player.debug() reports facingAxis, clip and strideSynced; the crate is an entity with debug(). - playtests/movement.playtest.json proves the figure faces each of the four travel directions, jogs while moving, idles when stopped, plays Jump_Start, keeps stride sync, and shoves the crate. Local: 25/25 existing starter scenarios plus movement 3/3 under Xvfb WebGPU. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eading as ground animation: footPlantSpeed restored every object's rotation Euler, which round- trips each bone quaternion through Euler and moved vq-locomotion poses (failed test-unit 3/4 and integration/animation on the last push). Only the game-owned root needs its Euler kept; bones restore their quaternion as before. physics: Rapier's computedGrounded counts any positive up component, so a character pressed into a rounded-box wall stayed grounded and sank at 0.16 m/s. Grounded now needs a walkable contact (normal.y >= 0.5) when the step recorded contacts; a snap-to-ground step records none and keeps Rapier's answer. Native Rust mirrors it. New red-then-green test uses the starter's rounded island. Native runtime behaviour is covered by cargo tests only, not a native playtest. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The player moved at 2 m/s with a clip whose natural speed is 5.9 m/s, so the jog played at 0.34x. Walk is now 1.5 m/s, Shift runs at 5 m/s, speed eases with a 0.15 s exponential, and Walk_Loop and Jog_Fwd_Loop blend through BlendSpace1D and AnimationPlayer.playWeighted so stride sync keeps both feet matched. debug() gains gait and speed. Every starter scenario was retimed for the new speed; respawn waits 240 ticks because the player now slides past the island wall instead of sticking. movement.playtest.json checks walk and run gaits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jonit-dev
enabled auto-merge
October 15, 2026 22:19
github-merge-queue
Bot
removed this pull request from the merge queue due to no response for status checks
Oct 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linux ARM64 now selects cached V8 13.1.201.22 by default, replacing QuickJS on this supported desktop target. The source producer builds once per pinned recipe, publishes an immutable verified payload, and the downloader enforces its receipt hash on fresh and warm acquisition.
The paired qualification also needs honest inputs and startup state: preserve the verified starter executable's bytes/mode across the performance cook on success or failure; compile compute pipelines without mutating solver buffers; admit fixed compute alongside physics and scene ticks from the existing prime; and align the authored render-chain scenario at tick 600, failing closed on overshoot.
33f753c230cc90a741ed2b062d278cdef04e696fpassed 779 files (three skipped), 10,662 tests (20 skipped), in 590.02 seconds, with temporary-directory counts unchanged. Browser/native row-75 proofs preserve seven solver buffers during compile-only warmup and subsequently change four; the deadline proof uses a controlled clock. These results predate the later CI repair batch and do not qualify its final head.mystral-toolsexecutables were missing; no third GPU attempt or runtime PASS is claimed. These Node editor/test and CI selection/fixture changes are verified separately; the C++ host, V8 producer, core runtime and measured starter workload source are unchanged by this repair batch. Fresh ARM CI remains pending.c312cee5a9ad5bdf60da347bfd89423af0022c38, run 38784079933: strict six-run QuickJS JS-frame p50s 30.42/31.05/30.70 ms (median 30.70) versus V8 6.08/6.17/6.06 ms (median 6.08). Twelve steady windows reportcompiling=false, the same bundle/features and ARM llvmpipe LLVM 20.1.2 Vulkan adapter; AA is dropped and Image undefined in both arms. Four actual captures pass seven assertions each and 660 frames; the separate raw pose audit agrees at aligned ticks 600/660/1261 (prealignment ticks 80/81/79/78; residual UUID, CPU/GPU-cost and asynchronous-readback differences retained). A fresh read-only judge returns NEUTRAL / PASS for both QuickJS/V8 pairs, both within-engine repeat comparisons and overall, scoped to ARM software Vulkan. The current-source starter artifact in that run passes 300 non-blank V8 frames.38784079933remains FAILED: Windows receipt transport hit a 30-second GitHub API timeout, leaving authoritative Windows receipt coverage and its required join unproven; all other selected jobs, including Android, succeeded. Earlier UI/SDK failures remain historical in PRD-615. No threshold or strict receipt-verifier relaxation is included.Actual aligned ARM poses, retained at immutable image commit
736c78915fb7c3eadd52c39c7bbf5c1d16a198ac(image publication passed normal hooks):