Repository navigation
Add time-indexed Gaussian capture playback to RuLab - #9
Conversation
|
The first complete capture candidate passed all seven RuLab gates and all 12 desktop/mobile browser cases in run https://github.com/ruvnet/worldgraph/actions/runs/34065809784. All five existing CI jobs passed too. I downloaded both retained artifacts and verified their archive digests, all seven log hashes, ten required build hashes and all four frame hashes. Desktop/mobile capture screenshots show the real synthetic Gaussian scene and separate requested/displayed timestamps. The final source revision includes the completed review notes and stronger Play/Pause/delayed-read test synchronization. Its own complete validation run is now executing; publication remains pending that result. No physical-GPU FPS or learned-model quality claim is made. |
|
Published: https://ruvnet.github.io/worldgraph/ Example: choose 4D capture → Try synthetic 4D example, play/pause, move the camera independently and scrub the four Gaussian samples. The inspector separates requested and displayed timestamps and exports the native Rust capture graph. Local bundles retain exact manifest bytes and validate frame SHA-256 before display. Merged source: Release metadata: https://ruvnet.github.io/worldgraph/release.json. Verified all 19 published Git blobs, 14 served application/asset files and exact release metadata. Legacy page remains unchanged. Final evidence confirms seven gates, 106 unit tests, 22 harness tests, 88 Rust tests and 12 desktop/mobile software-WebGL browser cases; the existing five-job CI also passed. The live picker and actual Rust initialization were checked in the cloud browser; that runtime has no GPU, so rendered-scene evidence comes from CI. The sample is synthetic, with no trained reconstruction/prediction or physical-GPU performance claim. Automatic main deployment still requires administrator inspection; this publication did not alter protections. No Slack messages were sent because the session exposes no Slack messaging capability. |
RuLab now opens time-indexed Gaussian captures with an independent camera, one shared coordinate transform, and explicit requested/displayed timestamps. The first sample is staged transactionally; later seeks coalesce to one decode and hold the last accepted scene on failure, with explicit retry.
Strict local file limits, SHA-256 verification, decoder preflight, finite shared bounds, cancellation and resource disposal apply before replacement. Manifest export preserves the exact originally hashed bytes. A separate native Rust WASM graph records two semantic nodes and one derived-from edge for provenance; source claims and registration remain unverified.
The included synthetic example has four samples of 2,847 Gaussians each. The README, ADR 206, independent review and fixed harness document the contract and require all five example artifacts. This is time-indexed appearance playback, without a trained reconstruction or predictive model.
Validation: all seven RuLab gates passed in https://github.com/ruvnet/worldgraph/actions/runs/34066084944 — 106 unit tests, 22 harness tests, 88 Rust tests, WASM compilation, TypeScript/build and 12 desktop/mobile software-WebGL browser cases. All five existing CI jobs passed in https://github.com/ruvnet/worldgraph/actions/runs/34066084942. Both retained artifact digests, all seven log hashes, ten required build hashes and all sample hashes were independently compared. The tested merge tree matches final source.
Four independent review findings were fixed: extreme-scale normalization, stale experiment import, manifest export identity and scene attribution of frame measurements. Physical GPU performance and reconstruction accuracy remain unmeasured.
Published and verified at https://ruvnet.github.io/worldgraph/ using the exact CI artifacts. Pages run 34066958586 succeeded; all 19 published Git blobs, 14 served web assets and release.json matched verified evidence. The main automatic deploy job still needs administrator inspection; no environment protections or permissions changed. Slack messaging tools are unavailable, so no Slack posts were sent.
Closes #8