From 951ce544a66309f6c2ad9886061a8170da32f4f5 Mon Sep 17 00:00:00 2001 From: Ishaan Sathaye Date: Wed, 14 Oct 2026 23:54:53 -0700 Subject: [PATCH 1/3] Make silicon dataflow an interactive floating 3D explorer --- .github/workflows/silicon.yml | 25 +- README.md | 12 +- docs/GUIDE.md | 13 + docs/media/silicon.webp | Bin 0 -> 63476 bytes package.json | 3 +- public/index.html | 3 +- public/silicon-layouts.js | 314 +++++++++++ public/silicon.css | 951 ++++++++++++++++++++++++++++++++++ public/silicon.html | 220 ++++++++ public/silicon.js | 806 ++++++++++++++++++++++++++++ public/style.css | 15 + tests/silicon-browser.mjs | 482 +++++++++++++++++ 12 files changed, 2839 insertions(+), 5 deletions(-) create mode 100644 docs/media/silicon.webp create mode 100644 public/silicon-layouts.js create mode 100644 public/silicon.css create mode 100644 public/silicon.html create mode 100644 public/silicon.js create mode 100644 tests/silicon-browser.mjs diff --git a/.github/workflows/silicon.yml b/.github/workflows/silicon.yml index 48d4743..af1cd19 100644 --- a/.github/workflows/silicon.yml +++ b/.github/workflows/silicon.yml @@ -11,6 +11,29 @@ jobs: persist-credentials: false - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6 with: - node-version: '22' + node-version: "22" - run: node tests/hardware-catalog.mjs - run: cargo test -p doke-core --locked + browser-and-wasm: + runs-on: ubuntu-latest + timeout-minutes: 20 + steps: + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 + with: + persist-credentials: false + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6 + with: + node-version: "22" + - run: rustup target add wasm32-unknown-unknown + - run: cargo install wasm-bindgen-cli --version 0.2.100 --locked + - run: cargo build -p doke-web --target wasm32-unknown-unknown --release --locked + - run: wasm-bindgen target/wasm32-unknown-unknown/release/doke_web.wasm --target web --out-dir public/pkg --out-name doke + - run: npm ci + - run: npx playwright install --with-deps chromium + - run: node tests/silicon-wasm.mjs + - name: Exercise rendered dataflow and controls + run: | + python3 -m http.server 4181 --bind 127.0.0.1 --directory public > /tmp/doke-preview.log 2>&1 & + DOKE_SERVER_PID=$! + trap 'kill "$DOKE_SERVER_PID"' EXIT + node tests/silicon-browser.mjs diff --git a/README.md b/README.md index fa8591a..2a74a05 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # doke -A floating, interactive brain explorer built with Rust, WebAssembly and wgpu. Explore reference anatomy, an enlarged neural tissue window, chemical synapses, a neural circuit and molecular messengers. Mostly grayscale, with restrained color accents and adaptive HDR. +A floating explorer of brains and silicon, built with Rust, WebAssembly and wgpu. Paint an input and follow it through CPU, GPU and tensor models, or inject packets into a switch ASIC model. Explore the human brain through reference anatomy, neural tissue, synapses, circuits and molecular messengers. Mostly grayscale, with restrained color accents and adaptive HDR. ![A short tour of doke: brain anatomy, activity playback, enlarged neurons, synaptic signaling, neural circuits, molecular messengers and scientific source tabs.](docs/media/doke-demo.gif) @@ -19,6 +19,14 @@ Open [localhost:4173](http://localhost:4173). Rendering and simulation run in th The [doke guide](docs/GUIDE.md) covers controls, scientific interpretation, builds, verification and hosting. It is the single maintained project guide. +## Inside silicon + +Open **Silicon** in the top navigation. Paint an 8 × 8 image, step the computation, change memory layout, or block a switch destination. The schematic responds to the actual Rust model. Curated AMD, NVIDIA, Google TPU and Cisco references provide source-linked product facts. The teaching model is separate from those specifications: its ticks do not predict a commercial chip’s speed. + +![The GPU teaching model running a painted input through memory and arithmetic lanes.](docs/media/silicon.webp) + +The [silicon research and roadmap](docs/SILICON.md) explains the evidence, modeling boundaries and planned iterations. + ## What is calculated Brain geometry derives from the Allen Human Reference Atlas; molecule coordinates come from PubChem. Activity highlights, enlarged neurons, synaptic contacts and traveling particles illustrate supported concepts. They are not reconstructed individual cells or measured firing/chemical concentrations. The simplified neural circuit integrates population dynamics in Rust. Source records and scientific limitations are available in the interface. @@ -27,7 +35,7 @@ Brain geometry derives from the Allen Human Reference Atlas; molecule coordinate | Directory | Purpose | | ------------------ | ---------------------------------------------------- | -| `crates/doke-core` | Activity envelopes and numerical E/I model | +| `crates/doke-core` | Brain activity, E/I dynamics and silicon models | | `crates/doke-web` | Rust rendering, camera, procedural cells, shaders | | `public` | Floating interface, source records, runtime assets | | `tools` | Asset generation, validation, builds and deployment | diff --git a/docs/GUIDE.md b/docs/GUIDE.md index 7428ba4..dc3772e 100644 --- a/docs/GUIDE.md +++ b/docs/GUIDE.md @@ -15,6 +15,16 @@ The top navigation chooses **Brain**, **Synapse**, **Neural circuit** or **Messe All explanations use the floating panel on the **left**. About, source records, anatomy regions, activity stories, messenger explanations and model evidence open as named tabs. Reopening an item reuses its tab. Select an earlier tab to return; its reading position is preserved. The × button closes the current tab and returns to the document that opened it; the downward chevron hides the panel without discarding its tabs. Arrow keys, Home and End navigate the tab strip, which scrolls horizontally when needed. Only one document is visible, and tools automatically dismiss the reader on narrow screens. Scene changes hide the reader; its open tabs remain available. Animation updates do not replace a source being read. +## Silicon + +Choose **Silicon ↗** in the brain navigation, or open `silicon.html`. CPU, GPU and Tensor process the same painted 8 × 8 image using a fixed difference filter. Run animates execution; Step advances one declared model tick; ⇥ calculates the completed result. Drag or use arrow keys to orbit; scroll or +/− zoom. Select a block to inspect its current state. Source records stay in the same floating tab panel. + +Change Packed to Strided on GPU to see memory-sector traffic change while the answer stays the same. Toggle the CPU’s tiny cache to expose operand reuse. Tensor shows operands passing through a 4 × 4 array. In Switch ASIC, block A, inject traffic to A and B, then compare FIFO with per-destination VOQ. Queue changes preserve packets; the 32-packet capacity includes in-flight transfers. Reset clears the experiment. + +Reference selections show documented product facts. The small models demonstrate mechanisms, not proprietary layouts or timing. Model ticks, bytes and packet counts describe the explicit teaching rules. They are not benchmarks, die floorplans, a CPU instruction emulator or an execution trace captured on the named product. The [research and roadmap](SILICON.md) records the primary sources and next steps. + +The standalone silicon page does not need generated anatomy. For a quick hardware-only preview, build Wasm with `cargo build -p doke-web --target wasm32-unknown-unknown --release --locked`, run the matching `wasm-bindgen` command from `tools/build.sh`, then serve `public/`. Use the complete setup below for the human brain and all original scenes. + ## Neurons and scientific interpretation The optional tissue window contains four procedural branching neurons, dendritic spines, axonal terminals, receiving processes and visible contact gaps. It occupies a localized area of the reference brain and is off initially. The cells are deliberately enlarged; **their positions, numbers, shapes and connectivity do not come from the atlas**. Flashing particles illustrate signaling and are not computed action potentials. This presentation draws on the structural distinctions discussed in [Spruston's review of pyramidal neurons](https://pubmed.ncbi.nlm.nih.gov/18270515/). @@ -60,6 +70,9 @@ With the local server running: ```sh cargo test -p doke-core --locked +node tests/hardware-catalog.mjs +node tests/silicon-wasm.mjs +DOKE_URL=http://127.0.0.1:4173 node tests/silicon-browser.mjs .venv/bin/python tools/validate_assets.py npm test node tests/refinement.mjs diff --git a/docs/media/silicon.webp b/docs/media/silicon.webp new file mode 100644 index 0000000000000000000000000000000000000000..a6c0393ab9934b480c3fe4fb5b7af1e696051642 GIT binary patch literal 63476 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··· + >·Silicon ↗