Repository navigation
Conversation
Adds crates/rustywings-wasm and web/, the browser half of the rebuild. Core: World::set_config swaps parameters on a running world (validated, brain shape fixed, grids rebuilt on resolution change) so the UI's sliders apply live. Defaults are untouched; the golden checksum is unchanged. wasm crate: a thin Sim over World. Config crosses as JSON text, because serde_wasm_bindgen silently drops unknown keys and a typo in a shared link must be an error, not a default. Seeds cross as hex strings, ids and ticks as f64. frame.rs packs render state into one flat f32 buffer (header, eight floats per bird, two per seed and patch) and is tested natively. Frontend (no framework): the sim runs on a Web Worker with a fixed-timestep accumulator (1x/4x/16x/max), samples stats every 25 ticks, and posts frames into two recycled transferable buffers. WebGL2 draws patches, seeds, vision wedges, illustrated bird sprites from a Canvas-drawn atlas, and the selection ring in five instanced calls, with a wrapping camera on the torus. SVG charts with a linked crosshair, windowed over 5k/25k/100k ticks; KPI tiles with trends; an inspector showing energy, traits, live retina activation and the hidden-layer weight heatmap; four plain-language sliders that write into the real config; snapshot/rewind; click-to-aim meteor; ?seed=&cfg= share links; keyboard shortcuts; help with credits. Verification: vitest loads the built wasm in Node and asserts the golden checksum 1065c218b08af910 for seed 1 at tick 2000, the same value the Rust suite pins and `rustywings verify` prints. CI gains a web job (wasm-pack, tsc, vitest, vite build) and lints the wasm crate on both targets. Deploy: vercel.json at the root with install/build scripts that put rustup and wasm-pack on Vercel's image; output is web/dist. The Vercel project's root directory must be switched from www/ to the repository root. Docs: ARCHITECTURE.md gains the worker/frame design and a frontend section; decision 0006 records why frames are packed buffers rather than SharedArrayBuffer views and withdraws the zero-copy claim; README rewritten for the new app; CLAUDE.md gains web commands and boundary conventions. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LTmV279xygsXfALmMmQeeL
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Owner
Author
|
Superseded by #4: the branch was renamed to |
This branch had an error being deployed
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.
Superseded by #4.