What's Changed
- shallot-untested-paths: S8 — the release-facing docs say what 0.9.4 actually does by @dylanebert in #119
- shallot-untested-paths: close — promote the untraversed-path class into the release gate by @dylanebert in #120
- shallot demo site/s1 by @dylanebert in #121
- shallot boot noise/s1 by @dylanebert in #122
- shallot-demo-site: s6 by @dylanebert in #123
- shallot demo site/s3 by @dylanebert in #124
- shallot demo site/s2 by @dylanebert in #125
- shallot boot noise/s3 by @dylanebert in #126
- shallot-demo-site: s4 — README leads with live demos, site pointers by @dylanebert in #127
- shallot demo site/s7 by @dylanebert in #128
- shallot boot noise/s2 by @dylanebert in #129
- shallot-demo-site: promote the site unit's testing residue by @dylanebert in #130
- audit-audio-sample-cap: enforce MAX_SAMPLES in sample() with warn + drop by @dylanebert in #131
- audit-gltf-route-skin-free: free live palette block on live→VAT swap by @dylanebert in #132
- audit scene roundtrip integrity/s1 by @dylanebert in #133
- audit cli numeric flags/s1 by @dylanebert in #134
- audit wgsl body helper vacuity/s1 by @dylanebert in #135
- audit tumble joint angular mapping/s1 by @dylanebert in #136
- audit cli numeric flags/s2 by @dylanebert in #137
- audit-cli-numeric-flags: promote numeric flag validation policy to AGENTS.md by @dylanebert in #138
- audit-cli-numeric-flags: restore entry-doc facts, re-home numeric-flag law by @dylanebert in #139
- shallot boot noise/s4 by @dylanebert in #140
- audit tumble late marshal constraints/s2 by @dylanebert in #141
- fountain demote to recipe/s1 by @dylanebert in #142
- audit-claim-and-roster-checks: derive the tumble scene count from a test arm by @dylanebert in #143
- fountain-demote-to-recipe: s2 by @dylanebert in #144
- audit claim and roster checks/s1 by @dylanebert in #145
- fountain demote to recipe/close by @dylanebert in #146
- audit claim and roster checks/s3 by @dylanebert in #147
- audit eval infra vs task verdict/s1 by @dylanebert in #148
- shallot boot noise/s5 by @dylanebert in #149
- audit claim and roster checks/close by @dylanebert in #150
- audit tumble late marshal constraints/s3 by @dylanebert in #151
- audit eval infra vs task verdict/s2 by @dylanebert in #152
- audit-tumble-late-marshal-constraints: close by @dylanebert in #153
- showcase-frame-floor: route voxel's Playwright gate through the WSL real-GPU bridge by @dylanebert in #154
- showcase frame floor/s2 structural gate by @dylanebert in #155
- audit eval infra vs task verdict/s3 by @dylanebert in #156
- audit-tumble-engine-bitexact-literals: correct trig deviation sentence by @dylanebert in #157
- shallot boot noise/s6 by @dylanebert in #158
- showcase-frame-floor: expected-red S2 perf gate, settle carve-check blind spot by @dylanebert in #159
- shallot-boot-noise: promote close residue into testing.md by @dylanebert in #160
- audit eval infra vs task verdict/s4 by @dylanebert in #161
- showcase-frame-floor: showcase perf-floor convention in the tier contract by @dylanebert in #162
- showcase frame floor/close by @dylanebert in #163
- shallot gate never writes/s1 by @dylanebert in #164
- shallot gate never writes/close by @dylanebert in #165
- audit-eval-infra-vs-task-verdict: close by @dylanebert in #166
- voxel-chunk-streaming: S1 pure CPU core — facesInChunk + region allocator by @dylanebert in #167
- voxel-chunk-streaming: S2 mesher rewrite — chunk table + per-chunk cursors by @dylanebert in #168
- voxel chunk streaming/s3 by @dylanebert in #169
- audit tumble engine bitexact literals/s1 by @dylanebert in #170
- audit tumble engine bitexact literals/s1b by @dylanebert in #171
- audit tumble engine bitexact literals/s2 by @dylanebert in #172
- audit tumble engine bitexact literals/s3 by @dylanebert in #173
- audit tumble engine bitexact literals/c1 by @dylanebert in #174
- voxel chunk streaming/close by @dylanebert in #175
- shallot rum slow frame vitals/s1 by @dylanebert in #176
- audit shallot verify tooling integrity/s1 by @dylanebert in #177
- shallot-rum-slow-frame-vitals: real Dogfood-org RUM credentials by @dylanebert in #178
- audit-shallot-contract-vs-code-fixes/s1: five library fixes by @dylanebert in #179
- audit shallot verify tooling integrity/s2 by @dylanebert in #180
- audit-shallot-contract-vs-code-fixes/s2: consolidate vite.ts classifier, fix double-fire by @dylanebert in #181
- audit shallot contract vs code fixes/close by @dylanebert in #182
- shallot-rum-slow-frame-vitals: s2 by @dylanebert in #183
- audit shallot verify tooling integrity/s3 by @dylanebert in #184
- audit shallot verify tooling integrity/close by @dylanebert in #185
- audit-create-shallot-scaffold-pinning: derive emitted shallot range from create-shallot's own version, add manifest metadata, extend install gate by @dylanebert in #186
- audit shallot prose drift sweep/s1 by @dylanebert in #187
- audit shallot prose drift sweep/S2 by @dylanebert in #188
- style: name the narration comment classes, cover the whole repo by @dylanebert in #189
- shallot demo slow frame attribution/s1 by @dylanebert in #190
- audit audio abi mirror gate/s1 by @dylanebert in #191
- audit profile row reorder/s1 by @dylanebert in #192
- audit gltf pool dead worker/s1 by @dylanebert in #193
- audit silent zero fallback/s1 by @dylanebert in #194
- shallot-mobile-controls: s2 — multi-pointer cache, Inputs.touch fields by @dylanebert in #195
- shallot mobile controls/s1 by @dylanebert in #196
- audit default gate discovery/s1 by @dylanebert in #197
- site: eject demos into / so built page titles are human-readable by @dylanebert in #198
- shallot mobile controls/s3 by @dylanebert in #199
- audit gate roster coverage/s1 by @dylanebert in #200
- audit-gate-roster-coverage: s2 by @dylanebert in #201
- audit gate roster coverage/s3 by @dylanebert in #202
- shallot-mobile-controls: s4 touch verification gate by @dylanebert in #203
- release 0.9.5 by @dylanebert in #204
Full Changelog: v0.9.4...v0.9.5