Changes behind the numbers
Every change that reached a project's default branch. Greyed rows were not counted, with the reason. A project from an older card may show dates and line counts only.
Battle Sim
LANDEDUNCHECKED- fix: make graphics startup resilient on constrained browsers14875ce61 lines
- keep native benchmark independent of swapchain pacing12162275 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- test: drop the rifle-squad loadout test; tests test mechanics14cf00946 linesfolded into the change before it
- review: pin the rifle-squad split by behaviour, drop a dead voice entry4e8b38e86 lines
- test: re-pin parity records for the Eastern RPG rows92adbcc14 linesfolded into the change before it
- fix: assign Eastern RPG squad voice set3d7c9a51 linesfolded into the change before it
- docs: fix archived RPG spec links31278328 linesfolded into the change before it
- docs: archive RPG weapon contracte3c1fdf372 linesfolded into the change before it
- docs: remove archived build slicesf3ada88114 linesfolded into the change before it
- docs: close RPG weapon contract spec20dcf9433 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- ui: clarify blocked shot warning icon8bbe5b82 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Add Eastern general-purpose RPG squad loadoutb441090576 lines
- docs: add arbitrary-slot skirmish spec898954f86 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- docs: reconcile RPG weapon spec with landed worka834ab617 linesfolded into the change before it
- make Windows browser setup reproducible6d9e47411 lines
- air-war-flight record: the reel is approved; no pointers into the deleted scrat…d9914d79 linesfolded into the change before it
- air-war-flight record: the reel is approved; no pointers into the deleted scrat…23309f416 lines
- air-war-flight: one attack height per attack is settled; D14's climb between pa…e91716e4 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- air-war-flight record: runs are short commitments; the edge-strafe limitation i…ab67e4423 linesfolded into the change before it
- passes: a run is a short commitment; the edge guard acts at its point of no ret…56b2e491372 lines
- passes: a dive or pull-out the edge guard turns back lines up again96c0df184 lines
- hud: no game text is selectable; one document-wide rule replaces three local on…f05cd3a20 lines
- street: re-pin the tick-90 digest; the unit digest now folds the flare marker a…304b0222 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- air-war-flight record: correct the statements the closing audit flagged; fix th…423a89036 linesfolded into the change before it
- air-war-flight: close the spec as a rationale recordce7323a1776 linesfolded into the change before it
- air-war-flight: record the review fixes' choices; format48dc4ec17 linesfolded into the change before it
- guidance: an interceptor is guided only at a round its side sees04ce590178 linesfolded into the change before it
- air: a jet circles where its attack ended3d53eab86 lines
- air: pass weapons engage the target; a bomb with no fall to its aim flies no run5187343343 linesfolded into the change before it
- vehicle export: a receipt names its folder's reference library, not its script'…b4e8e9310 linesfolded into the change before it
- weapons: fix the sim-weapons review findingsa2110501647 lines
- Merge the sim air review fixes; re-bless the three parity records both branches…cb922e6768 lines
- Merge branch 'worktree-agent-a5fe5a902285f4fc7' into t3code/air-war-flight-spec…7ca78121301 linesfolded into the change before it
- exact-numbers: re-bless after merging the launch and attitude rules edits (dige…22ce7022 linesfolded into the change before it
- Merge the presentation and web-ui review fixesc88101b288 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3code/air-war-flight-spec-revi…c5fff3b39 linesfolded into the change before it
- skirmish_tournament: classify by flight model and weapon classes; keep the buy …a2328c9151 linesfolded into the change before it
- skirmish AI: one best-air-defender pick, no phantom AA reserve, no fixed_wing r…dd37b26164 linesfolded into the change before it
- skirmish AI: its relocation wait and distance are its own tuning, not battle ru…0a4dd3e54 lines
- air-war-flight: merge the choices ledger's duplicate open/settled rows34eefd713 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Merge remote-tracking branch 'origin/main' into t3code/air-war-flight-spec-revi…92f9000167 linesfolded into the change before it
- street: the attack encounter pins the weapons its staged fights fire; re-pin th…7e42e2224 lines
- air-audio: a marine squad watches the J-10 fly its legs on the 3 km jet field603621a37 linesfolded into the change before it
- consequences: the tank shells open ground while the felled tree is filmed73c194e12 linesfolded into the change before it
- garrison: an edge readout stops at the edge-hide margin, never nearer504859e26 lines
- SEAD missile: an AP-class punch that barely one-shots a radar vehicle (user)728bdbb10 lines
- air-survivability: read flares from capabilities.flares798455f2 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Every shot must meet its target within reachee1651c24955 lines
- Jet nose-on: a hull-fixed row the nose aims fires only nose-onc46dd5113 linesfolded into the change before it
- Aircraft aspect is armour; air-defence missiles are blast-fragmentation487bc59975 linesfolded into the change before it
- A fuse bursts near whatever its round was fired at05dd880161 linesfolded into the change before it
- Refuse ground-layer aircraft; name the neutral side's rule; record D5741e9dc922 linesfolded into the change before it
- Aim, flares and supply: one aim rule, every guided round decoyable, trucks refi…4fcd004454 lines
- Guards: delete the airborne/hull checks the configuration already decides0e1406849 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3code/air-war-flight-spec-revi…e9c09cd26 linesfolded into the change before it
- panels: approve the aircraft-states sheet with the new radar-receiver paneld40b3de24 linesfolded into the change before it
- Merge branch 'awf/first-principles' into t3code/air-war-flight-spec-review48082173725 lines
- tweak-mechanics: sort every unit-kind guard into redundant, load-bearing, unsup…367d4e68 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- AGENTS.md: restrictions are configuration, one sentence in Game rules0d243bf2 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- AGENTS.md: the configuration principle lives in README and tweak-mechanics, not…807ef462 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Docs: never guard in code what configuration decides; refuse the unsupported at…96793925 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Tutorial: teach the air war (aircraft, seeing them, air defence, interception, …55b7abd77 linesfolded into the change before it
- Tutorial shots: a jet arriving and in flight from the skirmish, a radar contact…1c24ca8134 lines
- Merge branch 'awf/interceptors' into t3code/air-war-flight-spec-review0ba97c0488 lines
- Docs: list today's deliberate game rules (suppression, Trophy, objective holdin…832afbb7 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Docs: the role flags and stand-ins this repo built and deleted, so they aren't …05a4bf212 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Docs: a behaviour belongs to what physically has it; weapons own targeting, fla…c7ad87b9 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Record D54: interception per layer, guided rounds, the AI moving held launchers836a1b526 linesfolded into the change before it
- The skirmish AI drives a launcher its cover holds to other ground (air-war-flig…110d15e200 lines
- Tournament report: seconds each clear-path launcher stood held44c867623 linesfolded into the change before it
- A guided missile homes on a round as on an aircraft (air-war-flight D54)f8cdf6a167 linesfolded into the change before it
- Interception is a target class per layer: missile (air-war-flight D54)fb010e6342 linesfolded into the change before it
- Artillery and the long-range SAM hold for a clear launch path (rpg-weapon-contr…5c0b925532 lines
- A round keeps the band it was fired from; interceptors reach it by that band (r…4e564e8259 linesfolded into the change before it
- Every explosive row authors partial_from 0.08 (rpg-weapon-contract 1, named bal…6bfe967192 linesfolded into the change before it
- Weapon rows name their target classes; anti_armor is gone (rpg-weapon-contract …f494eee931 lines
- exact-numbers re-recorded on the merged rules; digest rows unchangedd3c51532 linesfolded into the change before it
- Merge branch 'awf/no-tier': no air-defence tier or flag; interception is can_in…be942b4486 linesfolded into the change before it
- Scenario-overrides record re-recorded under the new reloads; Wasm matches itcbf9e702 linesfolded into the change before it
- Merge branch 'awf/scenario-overrides': any encounter may override any rules ent…e9382c5499 lines
- spec: launch clearance is independent of interception09666192 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: launch clearance is for artillery and the long-range SAM only (user)df4679810 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Merge branch 'awf/tuning' into t3code/air-war-flight-spec-review4076f97649 linesfolded into the change before it
- spec: rpg-weapon-contract — the can_intercept rename lands with D528808f3a4 linesfolded into the change before it
- spec: rpg-weapon-contract reconciled with air-war-flight1128c1538 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3code/air-war-flight-spec-revi…e099cad174 linesfolded into the change before it
- Pantsir-SM is Eastern's short-range air defence (user)66db0d26 lines
- Air lab: the jet encounter's hidden gun stands north of the towera722a472 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Roster: delete the generic air-defence rows6f265234020 linesfolded into the change before it
- Merge branch 'awf/ai-jets' into t3code/air-war-flight-spec-review44980d8133 lines
- air-war-flight: record the balance shift from the pass fix98378751 linesfolded into the change before it
- Skirmish AI: a jet keeps its target while the side still sees it291dd3b150 lines
- air-war-flight: record the pass line-up fix and its open findings3d7b9055 linesfolded into the change before it
- Passes: every repeat pass lines up and dives in nose-on5d3c5ca195 linesfolded into the change before it
- Merge branch 'awf/close-balance' into t3code/air-war-flight-spec-review9550ad7274 linesfolded into the change before it
- High air lights no ground fog in its side's picture0c43aef66 lines
- air-war-flight: tick slice 19 items 1 and 50ba968e17 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- air-war-flight: air scene headers name the tests behind their claims85bc8bf154 linesfolded into the change before it
- Merge branch 'awf/testjet': test_jet's own model and the air-roster line-up on …3b20487300 linesfolded into the change before it
- Purchase prices: one never-sold state, plain text on family and variant cards a…3f50a5b169 lines
- panels: approve the gold credit figure in the army deck picturesb701959252 linesfolded into the change before it
- Merge branch 'awf/cleanup' into t3code/air-war-flight-spec-reviewdbed9c1140 linesfolded into the change before it
- Street props: an aircraft drives no street, so no airframe sizes its lanes6a1145699 lines
- Web tests build the native tools first, as the scene runner does26cecf910 linesfolded into the change before it
- Merge branch 'awf/unaided-sight' into t3code/air-war-flight-spec-revieweed8553840 lines
- write-tests: say why: tuning data is guaranteed to change (user)0a184ac18 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- write-tests: a test sets the bounds it depends on; ranges are patched onto test…9b785e710 linesfolded into the change before it
- Air defence: an emitting radar is the unit's high-air sight (D47)d5f43ac253 lines
- Merge origin/main: audio test prerequisites and the skills sync6e1d3904206 linesfolded into the change before it
- spec: radar networks deferred by the user721733f6 linesfolded into the change before it
- Gepard: its search radar emits, so SEAD jets can find ite71fa4158 linesfolded into the change before it
- spec: air-defence radar networks placeholder (launchers that see through radar …086dd1840 linesfolded into the change before it
- spec: slice 15 note: the load limit is settledffaf90e2 linesfolded into the change before it
- spec: handoff — every non-drone row enabled, high-air plane landed; next test_j…d7d8f104 linesfolded into the change before it
- unit-roster: approve gold credits and the card that now sits by its own tank42da1f016 linesfolded into the change before it
- Merge branch 'awf/gepard' into t3code/air-war-flight-spec-review5c60136586 lines
- spec: native gaps gains the info cards and the high-air screen planeaa9e91814 linesfolded into the change before it
- Merge branch 'awf/high-plane' into t3code/air-war-flight-spec-review02b11f01241 lines
- spec: closeout requires every non-drone row enabled (user)2aa22e93 linesfolded into the change before it
- HUD: a never-sold family's price stays plain text, not gold (user)1d3fa925 linesfolded into the change before it
- mechanicsServer test: room for the grown catalog in the validator's outputba3e1487 linesfolded into the change before it
- Catalog view and exact numbers re-recorded on the merged treea2dd06c230 linesfolded into the change before it
- HUD: credits are gold; a price you can't pay is the "can't" redb619ec914 lines
- Merge branch 'awf/arrival' into t3code/air-war-flight-spec-review53bdf311287 linesfolded into the change before it
- Catalog load tripwire: 640 MiB, with every planned jet enablede1a78e56 linesfolded into the change before it
- Merge branch 'awf/enable' into t3code/air-war-flight-spec-review4653a2f24662 lines
- Scene runner builds its native tools every run; cargo skips a fresh one2cf287e32 lines
- Poses: BLESS_PARITY re-records the capture's frames; muzzles keyed by each sold…354d59995 linesfolded into the change before it
- spec: the same-layer dogfight rule is D29c everywhere751d89b8 linesfolded into the change before it
- Merge branch 'awf/flight-model' into t3code/air-war-flight-spec-review8b38e72754 linesfolded into the change before it
- spec: flight-model map (D29d, D37–D46) and slice 20, aircraft arrival; slice 16…ea5fddd106 linesfolded into the change before it
- Merge branch 'awf/materials' into t3code/air-war-flight-spec-review929ab613262 lines
- Air targets: a track carries the seen unit's layer; dogfights key on high air, …195fc3b98 linesfolded into the change before it
- scene-assets: drop airCruiseAglM; cruise height is read per layer43f3ab17 linesfolded into the change before it
- Fog sight: BLESS_PARITY re-records a capture run from its refreshed captureb3f024134 linesfolded into the change before it
- Publication tests: rows go to the first nine-word fixed group by layout, not gr…cff86aa30 linesfolded into the change before it
- Merge branch 'awf/high-air-rename' into t3code/air-war-flight-spec-review478f7053127 lines
- spec: handoff — faction model passes, cards and shadow merged; materials and re…1187d896 linesfolded into the change before it
- Merge branch 'awf/models-eastern' into t3code/air-war-flight-spec-review5fb8da8423 linesfolded into the change before it
- spec: closeout's full run includes the native client's tests030953e2 linesfolded into the change before it
- Parity: re-record paris-corner's control run and count capture on today's publi…48647f86 linesfolded into the change before it
- Merge branch 'awf/shadow' into t3code/air-war-flight-spec-reviewc177a6f740 linesfolded into the change before it
- F-35A/B: short tail booms beside the nozzle carry the fins and stabilators, clo…e2dd2fc15 linesfolded into the change before it
- Merge branch 'awf/cards' into t3code/air-war-flight-spec-review9f065f0715 linesfolded into the change before it
- F-15 receipt: rehash the shared aircraft and export sources3c3e21d2 linesfolded into the change before it
- Super Hornet/Growler: full leading-edge extensions, bulkier ALQ-218 tip pods8ef0f4930 linesfolded into the change before it
- A-10C: nacelles forward on short pylons with open intakes, fins below the tailp…1a7fe3834 linesfolded into the change before it
- F-16C: broad strakes, chin intake blended into the belly with an open mouth, sh…f92ff2d40 linesfolded into the change before it
- F-35A/B: tail and nozzle to the top view, deeper belly, caret intake trunks; to…20408c9185 lines
- F-22A: wide intake trunks flanking the cockpit, forward-swept trailing edge, no…fdcd74055 linesfolded into the change before it
- Merge branch 't3code/air-war-flight-spec-review' into awf/models-us189ea61679 linesfolded into the change before it
- F-15E/EX: wing set back to the stabilators, belly deepened; EX front and rear r…d016c7a96 linesfolded into the change before it
- Promoted aircraft cards build again and get their reference panel36baad959 lines
- spec: air-war-flight is built by Opus subagents; Codex only for short non-visua…d7beb462 linesfolded into the change before it
- Merge branch 'awf/s15' into t3code/air-war-flight-spec-reviewbb1eeae3085 linesfolded into the change before it
- Jet scenes: arrival is within a turning radius, the approach is shot where it i…e0499fc98 linesfolded into the change before it
- AA test: a gun with no sight of its own never fires on that tick0fbeb7f15 linesfolded into the change before it
- Jet approach and departure: published through the delay, drawn for their whole …5b6d3ba184 linesfolded into the change before it
- spec: air-war-flight handoff: slice 17 landed; remove each worktree once its br…91e6d573 linesfolded into the change before it
- Air-war flight 17: the skirmish AI always fields AA that can reach jets, answer…e60a384221 lines
- The roster's jets fly at the jet profile's 650 km/h and 72 deg/sbda4a7b98 linesfolded into the change before it
- spec: slices 10 and 11 landed, jet scenes restaged6b7ae218 linesfolded into the change before it
- Merge branch 'awf/scenes' into t3code/air-war-flight-spec-reviewbe222fe577 linesfolded into the change before it
- Merge branch 'awf/s11' into t3code/air-war-flight-spec-reviewb3407db1049 lines
- spec: air-war-flight handoff: slice 10 is not yet in; merge only committed bran…816a15c5 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: slice 14 landed668d4bf2 linesfolded into the change before it
- Merge branch 'awf/s14' into t3code/air-war-flight-spec-review8aa4302195 linesfolded into the change before it
- Fog sight: the street publication stream re-records from its encounter, and the…18c13ba132 linesfolded into the change before it
- Range ruler: a bomb marks no reach; the exact-numbers record carries the transi…37b827644 linesfolded into the change before it
- spec: slices 10 and 13 landed9cf31298 linesfolded into the change before it
- Merge branch 'awf/s13' into t3code/air-war-flight-spec-review7c9500c201 lines
- A crash's fall says whether it is falling, landed, or has left the mapf85ad1166 linesfolded into the change before it
- Merge branch 'awf/s0809' into t3code/air-war-flight-spec-review2c73191807 lines
- spec: slices 08-09 landeddacf9b48 linesfolded into the change before it
- spec: slice 12 landedb9585082 linesfolded into the change before it
- Air-war flight 12: jets arrive and leave by their own back edge; helicopters ke…2a0aaba767 lines
- spec: air-war-flight closeout fixes the runner's stale native toolscbc09e23 linesfolded into the change before it
- spec: air-war-flight handoff after slice 07ad570b66 linesfolded into the change before it
- Merge branch 'awf/s07' into t3code/air-war-flight-spec-review29ec1c6485 lines
- Graphics settings test: the scene profile is cheaper than player low and keeps …b492f0f5 linesfolded into the change before it
- Full browser run: picture scenes always judged at the player's low setting, and…46296d945 lines
- Icons: the test jet's generated icon85119af1 linesfolded into the change before it
- Merge fallout: jets read interceptor round targets, labs match pages by path, t…0ee7091334 lines
- Merge branch 'awf/s06' into t3code/air-war-flight-spec-review420f1f3469 linesfolded into the change before it
- Merge branch 'audit/scenes' into t3code/air-war-flight-spec-review2481fd77026 linesfolded into the change before it
- Merge branch 'audit/gaps' into t3code/air-war-flight-spec-review2dfb6e6272 linesfolded into the change before it
- Test jet: its own airframe and forward cannon; it arrives within its turning ra…035cea295 lines
- Merge branch 'awf/s03' into t3code/air-war-flight-spec-reviewd00f371436 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3code/air-war-flight-spec-revi…9644f6061 lines
- bun run verify is the full run again: every scene, low profile, overlappedbb57a70194 linesfolded into the change before it
- Docs: what the verify gate runs and why, and where every scene is described8bcca9e58 linesfolded into the change before it
- Scene runner: authored-quality scenes are marked in the fixture registry, not l…9dea01623 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3code/air-war-flight-spec-revi…ba6e885628 linesfolded into the change before it
- spec: air-war-flight makes AA part of every standard opening and the jet balanc…f93f58617 linesfolded into the change before it
- spec: air-war-flight records the user's answers: helicopters keep their arrival…0d33b3381 lines
- Merge branch 'awf/s04' into t3code/air-war-flight-spec-reviewe86e7ba482 lines
- spec: air-war-flight handoff after slice 026eebe4e2 linesfolded into the change before it
- Merge branch 'awf/s02' into t3code/air-war-flight-spec-review9ce4ab8647 lines
- spec: air-war-flight carries the slice 01 altitude-readability finding to close…b93c2c35 linesfolded into the change before it
- Air-war flight 01: hold the air lab's gun jeep after exactly one strike5f52d1e4 linesfolded into the change before it
- Air-war flight 05: the ballistics lab's aim fires from a standing mount4e42e932 linesfolded into the change before it
- Merge branch 'awf/s05' into t3code/air-war-flight-spec-reviewf7ad0e2245 linesfolded into the change before it
- Air-war flight 01: helicopters route with their own hull limit, not a catalog s…70b6de679 lines
- Merge branch 'awf/s01' into t3code/air-war-flight-spec-review6afd8a6416 lines
- spec: air-war-flight shadows fall along the sun from the aircraft's actual heig…33680de8 linesfolded into the change before it
- Air-war flight 00: format with the repo's formatterb53c950306 linesfolded into the change before it
- Air-war flight 00: a 3 km jet test field, a jet track test kit, and labs framed…371cb2e863 lines
- spec: air-war-flight is mapped with the user and sliced into a build planfd2af45840 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: native-gaps placeholder holds native's known limitations as follow-up work56108b944 linesfolded into the change before it
- Heavy wheeled vehicles get their own engine sound and track gauge473c1e038 linesfolded into the change before it
- Mechanics validator test: finite ammunition is refused naming any row that carr…98714d011 linesfolded into the change before it
- The vehicle class has one owner: the catalog view carries Rust's65bc6a4746 linesfolded into the change before it
- A side switched back to smokes at once over what it saw destroyedbe961b0124 lines
- UI scene drives the shipped loading card and settings pagebb5b50542 linesfolded into the change before it
- An aircraft ordered onto a unit no longer panics the battle9a3762055 linesfolded into the change before it
- Air audio scene holds the battle still for its pictureea544583 linesfolded into the change before it
- A lab's side switch observes as the other side, not a new battle87221649 lines
- Ghost probe frames its camera through the scene's presentation0d8e26714 lines
- Unit roster baselines: the command bar's afterburner slot146773816 linesfolded into the change before it
- Panels: drop the stale second copy of the aircraft specimens32d44ed25 lines
- Merge remote-tracking branch 'origin/main' into finalreview2330ef074453 lines
- Re-record exact-numbers.json under the air follow-up's rulese1f9f302 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Format the voices tab test531cca91 linesfolded into the change before it
- Docs: archived specs' links follow the code they name to Rust91b499120 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into finalreview2b6d447752 linesfolded into the change before it
- Docs: the presentation crates name the tier rule labs take through model_tiers82338b17 linesfolded into the change before it
- Air labs: the jet-flight and dogfight checkpoints take the air- prefix the othe…1d4dc6a307 linesfolded into the change before it
- Docs: the jet ghost's height joins the air-war flight gaps; the closing beat's …1c3133514 linesfolded into the change before it
- Effect kind and shape names come from the presentation crate80b848452 linesfolded into the change before it
- StaticBatches: the print a list is written under no longer shadows print()2ce6ad48 linesfolded into the change before it
- The viewport reads the battle's presentation through the session's one reff9241ea54 linesfolded into the change before it
- A type's air layer, air role and class each have one owner in scene-assets7bb1305126 linesfolded into the change before it
- Scars: the scissor decides a boxless map's whole targete9d2ef457 linesfolded into the change before it
- Audio tools: sound-effect calls get their own limit; fades only where a clip us…ccc7a1c12 linesfolded into the change before it
- Test stand-ins: derive the missing sounds from Rust's list, not a hand copy5fe3ede39 linesfolded into the change before it
- Native refuses a replay whose manifest names no identity keyc1b1b6718 linesfolded into the change before it
- presentation: battle_sounds' doc names the sounds the presentation names itself44773727 linesfolded into the change before it
- Labs' own models are tiered by Rust's rule, not a TypeScript copy182208f536 linesfolded into the change before it
- Sound frame: tell Rust the lengths of exactly the sounds it said a battle plays25e136122 linesfolded into the change before it
- Native reads the game file once, from the repository rootea4697371 linesfolded into the change before it
- Sound workbench: drop the voice-set background chooser9e59c01215 linesfolded into the change before it
- Sound workbench: a generated effect's clip shows its generator, model and prompt338c81958 linesfolded into the change before it
- Native bench: tally what a frame drew outside its timed phases4158e8121 linesfolded into the change before it
- Native bench: the frame's start marker is submitted firsta96920944 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into closespec873eab8317 lines
- Close native rendering parity: archive the spec as its rationalef3546f35333 linesfolded into the change before it
- Re-stage the flight encounter's burst window, not its route2849c8a6 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into airfallout19e7381588 linesfolded into the change before it
- Air-war labs: radar bearings run 0-360 degrees; scenes lane's last edits994acdf247 linesfolded into the change before it
- Air routing keeps walls clear by the largest airframe, jets included1f521bb7 linesfolded into the change before it
- WIP: air art admitted, panel specimens, and the air scenes in progressc2c64214659 linesfolded into the change before it
- Air-war audio without crowds; one-shot clips never end on a cutc43552b5779 lines
- A take's verdict binds to its recording, so a background re-mix keeps it386ebb015072 linesfolded into the change before it
- Sound workbench: the set's background sits inline in its header line1cdc4845 linesfolded into the change before it
- Sound workbench: choose a voice set's background among its placement's profileseb55ccf209 linesfolded into the change before it
- Voices for the air war: fighter pilots and air defence crews4e6a1bf183968 linesfolded into the change before it
- Prepare what Rust says a battle plays; stand in the air cues in audio harnessesa1cfd5c217 lines
- Document admitted air-war audio recipes344ba3412 linesfolded into the change before it
- Merge latest origin/mainab7b93e2451 linesfolded into the change before it
- Enable persistent aircraft and layered air defenseb7590724029 lines
- Merge origin/main into air-war work5c3310d11287 lines
- sim: keep attack move active during dogfight27d91224 linesfolded into the change before it
- ui: expose aircraft afterburner toggle2fe5c1623 linesfolded into the change before it
- sim: break air dogfight on explicit movese2ccba015 linesfolded into the change before it
- ui: label radar contacts in unit panels08717bb21 linesfolded into the change before it
- tests: keep command sequencing and parity fixtures aligned83d5bde63 linesfolded into the change before it
- ui: keep aircraft state in cards without ground markers43e50c1129 lines
- air: cover flare survivability and roster completenessdc0ab3e36 linesfolded into the change before it
- air: add dogfight state, flares, and aspect damage6b7c11b46 linesfolded into the change before it
- air: promote faction AA and aircraft combat profiles53e82a412426 lines
- parity: refresh publication fixtures for air observationsa2ff15512 linesfolded into the change before it
- air: expose ingress state and afterburner control80d620346 lines
- test: pin seeker forward conec11ee6f9 linesfolded into the change before it
- sim: publish radar contacts with SEAD evidencea16d757216 linesfolded into the change before it
- test: cover late anti-missile launch ordering3a3d9a020 linesfolded into the change before it
- sim: add persistent aircraft ingress and fuel stateef200af187 linesfolded into the change before it
- sim: add authored air-defense interception and seeker gates2aba625140 lines
- sim: use authored sensor ranges by air layer6d7a3c235 linesfolded into the change before it
- contract: add aircraft and air-defense capabilities3ab1836336 linesfolded into the change before it
- sim: separate high air vision layer4d63adc86 lines
- air-war: record jet and alarm audio provenance2100fd5171 linesfolded into the change before it
- publication: expose high air layer88c03b218 linesfolded into the change before it
- sim: add authored high air layer9ba04d142 lines
- spec: plan persistent aircraft and air defensebbc91fe524 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Clean up worker test stub81a58e416 linesfolded into the change before it
- Add Vercel Analytics to web appd566fec17 lines
- Merge pull request #1 from fernjager/feature/contact-focus#1258 lines
- Add scenario play to developer menua5fb79b7 lines
- Close scenario builder spec and stabilize exports8d9d5cd1329 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3/scenario-builder-factions22ba1682563 lines
- Complete scenario builder runtime acceptance1035ff2391 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3/scenario-builder-factions0ce06e0545 lines
- Merge remote-tracking branch 'origin/main' into t3/scenario-builder-factionsc784553311 linesfolded into the change before it
- Bound uploaded scenario appearance loadingfef0cc8133 lines
- Merge origin/main into scenario builder2bd6a3222315 lines
- Record renderer limit blocking browser closeout077c1674 linesfolded into the change before it
- Record scenario closeout verification status7f7da862 linesfolded into the change before it
- Implement scenario builder bundles and runtimed5f04af2988 lines
- Merge remote-tracking branch 'origin/main' into t3/scenario-builder-factionsc453ea1337722 lines
- fix: keep builder map marks honest658768d8 linesfolded into the change before it
- refactor: use shared authoring wasm typecf8b4d44 linesfolded into the change before it
- scenario: close script runtime choicefe175f51 linesfolded into the change before it
- refactor: name draft authoring wasm seam800b4be3 linesfolded into the change before it
- fix: place units on map layers5d996c54 linesfolded into the change before it
- scenario: bound script parser nestingf50c45436 linesfolded into the change before it
- chore: remove unused builder faction mapf5552751 linesfolded into the change before it
- fix: keep builder slots canonical order9b7484f14 linesfolded into the change before it
- fix: constrain scenario slot controllersd8d1b907 linesfolded into the change before it
- scenario: add deterministic authored script sandbox72fa1fb1546 linesfolded into the change before it
- fix: mark builder human slot capability3b01dcf27 linesfolded into the change before it
- fix: show scenario builder without battle loading cover9522eb84 linesfolded into the change before it
- fix: restore unit ids on scenario upload32d6ab08 linesfolded into the change before it
- feat: add tactical scenario builder canvasb7dc729733 lines
- fix: preserve neutral side across main merge022807993 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3/scenario-builder-factions00bc11b53345 linesfolded into the change before it
- feat: add canonical scenario bundle contractf9afa5f637 lines
- feat: materialize neutral scenario side99f3e42283 linesfolded into the change before it
- fix: refuse neutral binary skirmish inputda62fae35 linesfolded into the change before it
- feat: add neutral side to shared contract0904c7246 lines
- test: spike scenario side topologyccae0ad204 linesfolded into the change before it
- docs: specify scenario builder38e8dbd542 lines
- Merge branch 'pausefix' into t3code/native-rendering-parity-two389590468 linesfolded into the change before it
- spec: bugs a slice exposes are fixed in the spec, not parked6eedaa91 linesfolded into the change before it
- Merge branch 'slice20' into t3code/native-rendering-parity-two513bed326327 lines
- Panels baselines: system cursor, fixed heard set, regenerated rifle carde84d99b104 lines
- Panel workbench pins a named set of test units and their weapons4c42bc441 lines
- Slice 25 research: native on wgpue878dc4167 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Navigation browser test: wait out the menu's backdrop warm-up3856ea57 linesfolded into the change before it
- Tests: one jsdom setup gives every DOM suite an inert ResizeObserverf8e481824 linesfolded into the change before it
- Manifests take their vector types from mathba2ad9918 lines
- Merge remote-tracking branch 'origin/main' into t3code/native-rendering-parity-…93f27e41136 lines
- spec: 20b moves the building walk too; no second net-positive landing79b81871 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: phase 5 consults Bevy as the reference enginee0222ff9 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: Instance amendment confirmed; Godot leaves no debt (21 dropped, 22 into p…b7783ff17 linesfolded into the change before it
- spec: 18b amendment (pending review): Instance is the existing model record2f8b3497 linesfolded into the change before it
- spec: Windows is not a requirement, only a constraint the stack must not breakbbffdf810 linesfolded into the change before it
- spec: native runs on Windows too; the shared renderer waits on wgpu's numbers35dd3138 linesfolded into the change before it
- Native decodes through the Rust reader; observation.gd goes4c65cfe1364 linesfolded into the change before it
- The page decodes publications in Rust; observation.ts goes4c40dfd3769 linesfolded into the change before it
- Rust reads the publication beside its writer60bc28d1678 lines
- spec: posing by Rust palettes; phase 5 moves native to wgpuf53a07d44 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Native tests import a fresh checkout so Godot lists the Rust extension6efdd4c4 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: 20 baseline: the browser is GPU-bound; posing costs ~0.06 ms either waya3f20fb81 linesfolded into the change before it
- Merge branch 'slice15-perf' into t3code/native-rendering-parity-two5f69ceb2310 lines
- Format the graphics-fps scene17c5b3f5 linesfolded into the change before it
- Native fixtures and decoder take main's match report groupsf42b93646 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3code/native-rendering-parity-…b25be9127095 linesfolded into the change before it
- spec: 18b approved; posing decided by profiling; shared code lands web-first1ad9deb23 linesfolded into the change before it
- spec: 18b question 4 decided: order lines stay UIc3f02863 linesfolded into the change before it
- spec: 18b designs the presentation API for reviewff0bf3a593 lines
- spec: 18b designs the presentation API first, reviewed before use69ae26c31 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: Rust smart, renderers dumb; static world resolution moves to Rust (20b)927ad7237 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: phase 4 gates on less code; a small browser cost is acceptable8f5e58f12 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: phase 4, a Rust native core and one shared presentation crated9241cb208 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: slice 17's commits in the README89dffcd2 linesfolded into the change before it
- Effects clip what lies nearer than the near plane; slice 17 closes3d2aa4e139 linesfolded into the change before it
- Native draws the browser's combat effects from the published causes3aace2d2828 linesfolded into the change before it
- Browser exports the effects' tuning, catalog rows and per-plate counts8d03df4738 lines
- spec: slice 15 native half built; counts and visuals pass, market-town performa…53ca00754 linesfolded into the change before it
- Native draws its static world from the browser's placement; the legacy layer go…ce135691671 linesfolded into the change before it
- Browser exports the side's props and how a felled tree falls40425bd614 lines
- spec: slice 14 units and poses done; phase 3 build log03a9f0d67 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Native poses every soldier, vehicle and corpse as the browser does5f56a474001 linesfolded into the change before it
- Native draws the browser's buildings, scenery and props in the side's known sta…e41b0031837 lines
- spec: slice 16 water and scars done; phase 3 build logb31add119 linesfolded into the change before it
- Native draws the side's learned scars and the water surface98e45d11053 linesfolded into the change before it
- Native ports the math package's Mulberry32 sequence into core1c138a323 lines
- Native models draw the browser's surface, tinted, and take a layer's own choice9f40259412 linesfolded into the change before it
- spec: slice 15 browser half decisions and its control66073d716 linesfolded into the change before it
- Browser exports building and scenery placement, and what each plate drew3f14bf21321 lines
- spec: known props, wrecks included, are slice 15'sd6535d48 linesfolded into the change before it
- spec: slice 13 publication decode done; phase 3 build loge325ff125 linesfolded into the change before it
- Native decodes every publication group exactly as the browser does785d7aa1556 linesfolded into the change before it
- spec: last stale phase 3 slice references4b49f4a6 linesfolded into the change before it
- spec: choices references follow phase 3's numbering2bb744a18 linesfolded into the change before it
- spec: plan phase 3 (13-18) on the user's behalfea1e045250 linesfolded into the change before it
- spec: slice 12 performance gate passed; phase 2 closed9375708100 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Native bench re-minimises its window before timingbf63ef015 lines
- native README: uncapped frames settle near the display's interval1c8d6209 linesfolded into the change before it
- spec: slice 10 done; handoff points at the performance gate1ce1ba999 linesfolded into the change before it
- Native sky, sky light and haze read the browser's baked sky lookup2c04e93131 lines
- Native kit shells draw an open tier over the coarser ones, and a closed tier al…a214d9860 lines
- Native models draw at the browser's tiers, culled by chunk92edf94626 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3code/native-rendering-parity-…4ef792d14154 linesfolded into the change before it
- Native models draw as one batch per appearance355be54378 lines
- spec: handoff points at 09's model drawing architecture3d22b064 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: 08's finding turns 09 into native model drawing architecturee1efe7063 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: slices 07 and 08 done; native frame anatomy names the slow frames66032be81 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Profiling harness: compare unpresented frames; traces give proportions39850b743 linesfolded into the change before it
- Profiling harness: draw every frame whatever the window's statecfe688784 lines
- spec: slice 11's first debug vs release frame times on market-towncc9e0508 linesfolded into the change before it
- Profiling harness: one summariser for both clients, a native bench, GPU traces2fd549f914 linesfolded into the change before it
- Native release build: macOS release export and one command to run ita64c11b138 lines
- spec: native performance becomes phase 2, profiling-led (slices 07-12)ae15128341 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: matched FPS comparison pulled forward from slice 09dab5f9f2 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: close native parity phase 1; consolidated ledger; next is a phase 2 walk04cc1cb414 linesfolded into the change before it
- Parity capture: no class plates; native no longer reads themd1d753553 linesfolded into the change before it
- Native closeout: one owner per concept in core/, the class view removedbcaa8ff1165 lines
- Parity capture review: one plate read, a copyable canvas only for platesef73041561 linesfolded into the change before it
- Native light: refuse a sun direction that is not the browser's unit vectored268e817 linesfolded into the change before it
- spec: 05b's unprimed critique; flat shadow-receiver box noted5f86f284 linesfolded into the change before it
- spec: 05b close cut matches the browser's grass-off plates513814b4 linesfolded into the change before it
- spec: grass 06 closeout: MSAA verdict, scar-named count gate, constants in the …57c80b815 linesfolded into the change before it
- Grass constants: edgeM and heightVariation travel in the manifest01305d870 linesfolded into the change before it
- Native grass: the count gate in the run, scar cells named from the learned grou…58931e3180 linesfolded into the change before it
- Native light: draw at the browser's 4x MSAA; effects read the resolve114040521 linesfolded into the change before it
- spec: 06a's exactness claim matches what the shader compilers allow13bd5ce4 linesfolded into the change before it
- Native grass 06b: the browser's blade look, colour mix and windf3da17d103 lines
- Native grass 06a: the browser's build on the GPU, same clumps per cell68a07651136 linesfolded into the change before it
- spec: light slices 04a-c done; slice text matches the raw-light contractb46799e18 linesfolded into the change before it
- Native light 04c: the browser's post chain as one compositor effect8d3daef273 linesfolded into the change before it
- Native light 04b: the browser's sky, clouds and aerial hazed630d60479 linesfolded into the change before it
- spec: handoff reflects 04a and 05a done, browser inputs complete6c27dee4 linesfolded into the change before it
- Capture run: a plain plate, the plate's frame lit without its grassc8d212c121 linesfolded into the change before it
- spec: record terrain 05a and 05b (class agreement, table upload, defines)6c5241925 linesfolded into the change before it
- Native terrain: field character, the browser's rows, grain, wheelings and mottl…894810086 linesfolded into the change before it
- Native light 04a: penumbra matched at the second cascade; docs03fe2a452 linesfolded into the change before it
- Native terrain: the browser's ground from its own tables, seated on its heights…48c3ab71802 lines
- Native light: the browser's sun, cascades and sky fill (04a checkpoint)ec10b1c765 linesfolded into the change before it
- Mount muzzle test: drop the unused cannon binding0e47a252 linesfolded into the change before it
- spec: router tests fixed2a540911 linesfolded into the change before it
- Router test: stub ResizeObserver, which jsdom lacksb49bfaf14 linesfolded into the change before it
- World pass: read water roughness and shadow from the terrain tuning table1dfd41a11 linesfolded into the change before it
- spec: browser class-view plates landed for 05a611adb82 linesfolded into the change before it
- Capture run: a ground-class plate beside every control plate42d558f93 linesfolded into the change before it
- spec: record coordinates and camera (slice 03)adc15ee23 linesfolded into the change before it
- Native camera and coordinates: the browser's shot, unmirrored0d264eb704 linesfolded into the change before it
- spec: record manifest tuning and grass tables73dfca38 linesfolded into the change before it
- Visual manifest: the grass pass's tables as hashed artifactsb726a9c871 linesfolded into the change before it
- Visual manifest: the terrain and grass tuning tables948dc7f44 lines
- spec: record browser lanes built ahead (light, tuning tables, terrain artifacts…626ec0126 linesfolded into the change before it
- Visual manifest: terrain tables as hashed artifacts, grass counts per plate5d6898a891 linesfolded into the change before it
- Terrain and grass tuning: one table per shader owner8b101db1187 linesfolded into the change before it
- Visual manifest: derive the sun direction in the page, not the Node writer449e9d873 linesfolded into the change before it
- Visual manifest: the light the frames were drawn under8209a9085 linesfolded into the change before it
- spec: record browser capture run (slice 01); next pickup slice 03f7a83c023 linesfolded into the change before it
- Graphics test: a capture run with frame records, a visual manifest and control …0b8ac2a1114 linesfolded into the change before it
- spec: record native runner (slice 02) and Metal GPU-time gap861503029 linesfolded into the change before it
- Native runner: native/godot renders a browser capture run by frame indexae645e74908 lines
- spec: judge native tone after sun and sky radiance match3f0cf15142 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- spec: plan native parity phase 1 as ten single-variable slices5e16ef8728 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Diagnostics: drop the JS heap figure, which counted garbage4d371a72 linesfolded into the change before it
- Merge origin/main358ac7a357 lines
- Battle view: draw one pixel per CSS pixel on any displayace81f846 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3code/enable-disabled-unitsfe1588416 linesfolded into the change before it
- Turrets review: one level of carriage, a turned hull in the test, current docse0bf65764 lines
- Merge remote-tracking branch 'origin/main' into t3code/enable-disabled-units13b1a644974 linesfolded into the change before it
- Merge Europe tracked turret moves; close the off-centre turrets spec7c35faf1769 linesfolded into the change before it
- Merge Eastern turret moves; rebake the runtime catalogb7e00b51202 lines
- Merge Europe wheeled turret moves; rebake the runtime catalog7f3249a823 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3code/enable-disabled-unitsbe8da851024 linesfolded into the change before it
- Merge US tracked turret moves; rebake the runtime catalog7454da21176 linesfolded into the change before it
- Spec: before/after side and top evidence for the US wheeled turrets1e7809439 lines
- Units: the ACV-P's remote station sits behind amidships136e00e100 linesfolded into the change before it
- Units: every Stryker's weapon stands where the real vehicle's does9a09492560 linesfolded into the change before it
- Units: the LAV-25A2 and LAV-AT turrets sit behind amidships505f9bd259 lines
- Spec: move every turret to where the real vehicle's sits02a02ae46 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3code/enable-disabled-units6a016b328139 lines
- Weapons: a turret's roof gun swings round the turret's ring954e9ad236 linesfolded into the change before it
- Roster audit: links resolve from the archived folder95b4ae216 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Merge remote-tracking branch 'origin/main' into t3code/enable-disabled-units2e94275729 linesfolded into the change before it
- Spec: slice 09 choices37886dc15 linesfolded into the change before it
- Merge branch 'worktree-agent-a135af96d5c22bbc7' into t3code/enable-disabled-uni…5c02520576 lines
- Spec: record the heard-bitmask publication changedea7d459 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Merge remote-tracking branch 'origin/main' into t3code/enable-disabled-unitsbf31ff71110 linesfolded into the change before it
- Spec: slice 10 choices649244416 linesfolded into the change before it
- Merge branch 'worktree-agent-a3294f6c107dfe6af' into t3code/enable-disabled-uni…d61cd65749 linesfolded into the change before it
- Spec: top-attack steering contract after slice 04842f1a129 linesfolded into the change before it
- Merge branch 'worktree-agent-a8a6b1644b4007f25' into t3code/enable-disabled-uni…97d7212534 lines
- Merge remote-tracking branch 'origin/main' into t3code/enable-disabled-unitsb39c9591425 linesfolded into the change before it
- Spec: admission recipe proven by the Challenger 3 pilota15069f17 linesfolded into the change before it
- Merge branch 'worktree-agent-aa3bf540664982a1e' into t3code/enable-disabled-uni…8d0a9c8917 linesfolded into the change before it
- Spec: user review adds T-15 rear and T-90M turret fixes to slice 068c42bed16 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into t3code/enable-disabled-units4042942590 linesfolded into the change before it
- Spec: slice 01 model triage findings, and art-first steps for 06, 07, 08, 12a5f2976133 linesfolded into the change before it
- Spec: record top-attack flight choices5b5603f15 linesfolded into the change before it
- Spec: ground admission wave 1 in progressa3df3cb7 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Merge branch 'worktree-agent-a05afc22b7f91d90b' into t3code/enable-disabled-uni…ee950f5866 lines
- Spec: ground admission and top-attack missiles1984818805 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Show battle playback and drone goggles in replay menu art03c9cff15 lines
- Merge remote-tracking branch 'origin/main' into HEAD0630462820 linesfolded into the change before it
- Make skirmishes generated-only and give the menu cinematic art and feedbackba00c5c956 linesfolded into the change before it
- Cook off a tank the side watched die: its turret thrown, its hull jolted3568439893 lines
- Make attack orders a priority, never a lock on silent weapons690ad57343 linesfolded into the change before it
- Keep targets while they can be shot and vary soldiers' stances under firef41a031205 lines
- refactor: remove unused helpers and preserve independent test contractsac39924626 lines
- fix(assets): propagate Blender batch export failuresc3a681476 linesfolded into the change before it
- Document missing runtime contracts and native authoring tool boundariesb86e697407 lines
- Audit documentation owners, tool entry points and archived referencesf0a40951402 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Calibrate sound source loudness and preserve brief audition attacks46db605338 lines
- Keep workbench scrolling results out of React effect cleanup024fa9f26 lines
- Close combat audio spec with audited rationale and decisions7081a06519 linesfolded into the change before it
- Preserve gunfire take review and refine unused cropsea711c1238 lines
- Stage identified tank contact refresh through recon withdrawalf812814207 linesfolded into the change before it
- Stage village ruler contacts and moving tank HMG honestly2f4bf6d485 linesfolded into the change before it
- Align audio fallbacks, loop composition and browser lifecycle31cc24b359 lines
- Make reviewed sound changes clear and keep cloned recipes selected3443c15183 lines
- Isolate audio readiness tests from shipped recordingsd34f5a567 linesfolded into the change before it
- Show battle-unused clips and effective firing fallback in the workbenchc6aff0f59 lines
- Keep recorded distant shots audible through the existing air filter3affd56105 linesfolded into the change before it
- Add complete sound workbench with reviewed repository savese3c71d92282 linesfolded into the change before it
- Call browser fetch without binding it to the sound bank6e04a9020 linesfolded into the change before it
- Play recorded combat recipes through observed audio eventsd4830ca997 linesfolded into the change before it
- Align recorded onsets and resolve editable default sound choices3a40efc65 linesfolded into the change before it
- Store clean combat recordings with reproducible crops and initial assignmentsdac589a2899 linesfolded into the change before it
- Define reusable sound catalog and preserved synthesis baselines8f4a3e0723 lines
- Remove redundant native hand styling from unit cardsc35470c18 linesfolded into the change before it
- Reduce game cursor size and prevent native hand flashes7be2f4b102 lines
- Preserve saved map comparisons and capture parity inputs70457811767 linesfolded into the change before it
- Merge latest main and retain both physical sight assertions1419ed46449 lines
- Merge remote-tracking branch 'origin/main' into codex/live-map-workbench64b0bbf130 lines
- close live map workbench spec with audited rationale82750e51055 linesfolded into the change before it
- fix final workbench ownership and snapshot regressions3fe839e388 lines
- complete live map workbench and coherent fixture captures8aa75df2820 lines
- keep crop inspection separate from map generation51b53d79 linesfolded into the change before it
- fix: expose readable inspector notes and valid workbench crops9723f42284 linesfolded into the change before it
- retain displayed maps across coalesced preview jobsd8bc41d296 linesfolded into the change before it
- Focus closeout on composed retention and readable inspection30b57828 linesfolded into the change before it
- Describe inspectable features and readable native plan notes8da78598 linesfolded into the change before it
- feat: explain map controls and prove native refusal analysis contracts2722136711 linesfolded into the change before it
- Make displayed map artifact retention explicit in requestsfc2e20b1 linesfolded into the change before it
- report invalid map drafts as captured input refusals891741b37 linesfolded into the change before it
- preserve native workbench diagnostics at the HTTP boundaryc1392df123 lines
- Keep filesystem map catalogue adapter outside Wasm builds34ed6de1 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- keep preview artifacts pinned during seed samplingb642df4144 linesfolded into the change before it
- feat: add captured native map inspection and editable generation policiesa5f1d032129 linesfolded into the change before it
- Distinguish pinned preview artifacts from temporary seed samples5abcbb11 linesfolded into the change before it
- add local map workbench source and report API439da2a1082 linesfolded into the change before it
- refactor fixture publication into shared transaction owner630604a227 linesfolded into the change before it
- Record integrated admission and current workbench handofff89bfa724 linesfolded into the change before it
- feat: admit ordinary Play through bounded candidates and saved fallback6817442762 linesfolded into the change before it
- feat: declare map analysis and bounded admission defaults594330828 linesfolded into the change before it
- Define local map workbench report and publication contract85cd8f5111 linesfolded into the change before it
- Plan live map workbench and automatic battle admission510afbd439 lines
- Fix garrison body poses and info panel inputf4b225d272 lines
- Fix cleared-ground navigation cache and strengthen city-map test proofa9093f8261 lines
- Close city-maps for playtesting and preserve generation report2865f5f20427 lines
- Record final-art stress verdict and reconnect decision links9c2ca3a130 linesfolded into the change before it
- Record frozen generation rules and completed closeout proofs1269de5126 linesfolded into the change before it
- Verify physical scene contracts with real staged events7ebea48567 lines
- Consolidate city map decisions around frozen business rules36c6be76221 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Align city source openings with declared fighting bays3ccb1a3335 linesfolded into the change before it
- Exercise current replay admission and building-owned road appearanced7a52a3159 linesfolded into the change before it
- Record usable tank spawn behind the partial formation refusal9f8d3f98 linesfolded into the change before it
- Reconcile city generation ownership and current closeout evidenceb996b3c60 linesfolded into the change before it
- Keep coverage comparisons explicit without changing admission5da768829 lines
- Admit replenished units before counting their return to battle5402f9b255 linesfolded into the change before it
- Wait for saved replay identity before admitting its viewerae7f14c161 linesfolded into the change before it
- test(city-maps): pin the corrected contact workload identityd8812463 linesfolded into the change before it
- Restore prepared replays from their captured scenario inputs2970dc0499 linesfolded into the change before it
- Apply scripted group orders to surviving own actors80d981d140 linesfolded into the change before it
- docs(city-maps): retain final balance failure and replay gapc16652e6 linesfolded into the change before it
- Preserve rear roles in the city contact stress recipe1f71b9e109 lines
- docs(city-maps): narrow closeout to current required proofs87b0bd622 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- docs(city-maps): freeze business rules and retain failed stress verdict2dbf54c16 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- docs(city-maps): name corrected city camera workload267125f10 linesfolded into the change before it
- Keep the city benchmark camera tour clear of roofse2d54de85 linesfolded into the change before it
- docs(city-maps): accept frozen landscape with tuning limitsa003dd57 linesfolded into the change before it
- docs(city-maps): reconcile catalog receipts and bounded cost evidence502bdcb16 linesfolded into the change before it
- Skip foliage integration for solid-blocked sensing rays2af85eb65 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main'660b4f02398 lines
- docs(city-maps): separate clear approach geometry from weapon tuningeaef40215 linesfolded into the change before it
- docs(city-maps): freeze generation rules and parameter report886114548 linesfolded into the change before it
- Certify physical countryside sight across generated maps46cc6eb2240 linesfolded into the change before it
- docs(city-maps): record final browser gate scope2b629305 linesfolded into the change before it
- Enforce accepted startup and full benchmark budgetsb19874a74 linesfolded into the change before it
- docs(contacts): close shared diagnostic presentation checkpointc0c5b3311 linesfolded into the change before it
- Share contact presentation across labs and preserve clear outlines87f80a7273 linesfolded into the change before it
- docs(city-maps): record common rendered surroundings contract7ec60b227 linesfolded into the change before it
- Publish bounded visual surroundings through common map extents82662d3358 lines
- docs(city-maps): reconcile current startup and transport criteria89cb6298 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- docs(city-maps): explain generation rules and prioritize playtestingddeaffd1332 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- docs: record verified contact consolidation checkpoint73ff29d28 linesfolded into the change before it
- docs(city-maps): prioritize playability and defer 20km optimizationa4c949a37 linesfolded into the change before it
- Consolidate hidden contact reports and shared removal fade0da2dfd1092 lines
- docs(city-maps): refresh coverage pickup after restart628ce3119 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- docs(city-maps): record recovered coverage guardsd45ca844 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- docs(grass): retain yellow variation and reject weak grain trialf7f858518 linesfolded into the change before it
- test(village): verify settled commands and current far cardsf2816b246 lines
- docs(city-maps): close approved blade-facing checkpoint81ab92820 linesfolded into the change before it
- Light grass blades from the ground and remove shader comment warningsc2b757014 linesfolded into the change before it
- docs: record unified contact contract and approved grass shading832382820 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main'147dd37465 linesfolded into the change before it
- docs(city-maps): align arena bounds direction with M29a13b9962 linesfolded into the change before it
- docs(city-maps): preserve grass feedback and bounded continuity prototype51fe42f16 linesfolded into the change before it
- docs(city-maps): record distinct city contact checkpoint and open budgets8ff8a5b28 linesfolded into the change before it
- Add named full-world city contact benchmark0e0eda7792 linesfolded into the change before it
- Check contact-tour approach admission before capturing reports1bb2bfe26 lines
- Keep diagnostic lab feeds reachable and capture actual impacts358957c112 linesfolded into the change before it
- Stage ballistics and weapon labs for current physical flight5eefff7106 lines
- docs(city-maps): record physical boundary paint proof861b28010 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- test(boundary): measure neutral paint against finished ground49044ad36 linesfolded into the change before it
- docs(city-maps): close lossless kit download checkpoint17aed8e38 linesfolded into the change before it
- test(readouts): retain compact card when hover ends780d8ba10 linesfolded into the change before it
- Compress city kit transport while preserving raw art identitybe2dbec749 linesfolded into the change before it
- docs(city-maps): record bounded movement integration proof139c91f18 linesfolded into the change before it
- test(movement): bind gap publications to admitted actors042d54321 linesfolded into the change before it
- test(movement): await admitted rifle routes before checking gapab3292926 linesfolded into the change before it
- Merge concurrent weapon fixes with generation physics contract55903b7504 linesfolded into the change before it
- docs(mapgen): record shared physical generation contract627e04832 linesfolded into the change before it
- Share forest placement and explicit generation physics inputsf5fb4f1804 lines
- docs(city-maps): record bounded durability candidate evidence80901eb14 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- docs(city-maps): defer relief and enforce global countryside scope9282825163 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- fix(navigation): pass kerbside cover and recover stranded infantry736a1ba1509 linesfolded into the change before it
- refactor(terrain): author rural road kinds explicitly9a8918e172 lines
- feat(lab): inspect saved maps through catalogue listings6295649562 linesfolded into the change before it
- fix(sim): bound long-move admission with physical interaction checkpointsa8d0686774 lines
- docs(city-maps): reconcile pickup and remaining integration gates4af091e48 linesfolded into the change before it
- fix(terrain): keep farmstead yards on their road sidecccbff0159 linesfolded into the change before it
- Record countryside references and review open-country furnishing62b5f4156 lines
- skills: add handoff-spec427e78232 linesfolded into the change before it
- city-maps handoff: which branch the next session works infed32b62 linesfolded into the change before it
- city-maps handoff: where the spec stands, the two unfinished branches and the r…0f07fbd25 linesfolded into the change before it
- city-maps choices: drop the buildings follow-up entry the consolidated ledger c…001e95c14 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into worktree-synthetic-doodling-twi…e3f38a74658 lines
- city-maps buildings: the full run at closeout, recorded in the lane's status52f0bd22 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into worktree-synthetic-doodling-twi…17a60e11305 lines
- Format two files the full check refused2a13e3512 linesfolded into the change before it
- city-maps buildings: the choices ledger consolidated, the sheet scripts deletedf20bb072628 lines
- Merge remote-tracking branch 'origin/main' into worktree-synthetic-doodling-twi…7068d7747 linesfolded into the change before it
- city-maps facades: runtime rebaked with the scripted sets' glass and roomsb0fbded42 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into worktree-agent-a0d4f269fc90b238e2d5f4d19415 linesfolded into the change before it
- city-maps facades: glass and rooms in the scripted sets' windowsc40c37e710 lines
- city-maps buildings: status checkpoint after damage states and kits on requestb1f263727 linesfolded into the change before it
- Merge branch 'worktree-agent-a3d1720ab8272114d' into worktree-synthetic-doodlin…60b9aea1281 lines
- Merge branch 'worktree-agent-a971fb0812b902d0b' into worktree-synthetic-doodlin…92f5dbb1122 linesfolded into the change before it
- city-maps choices: the village note under its C14 heading62de17916 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into worktree-agent-a0d4f269fc90b238e0f77e0f117 linesfolded into the change before it
- city-maps C14: the village set under the rule, in the outcome and the choices18451a010 linesfolded into the change before it
- Merge origin/main: the village set and the catalogues meet the damage-state rule106a7a818849 linesfolded into the change before it
- city-maps C14: outcome for the scripted sets, its decisions, and the lessons239f525199 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- C14: after the unprimed critique of the damage states7a6e3a0249 lines
- C14: the four sets' sources with their damage states; coarse tiers keep the pic…801f850295 lines
- Merge remote-tracking branch 'origin/main' into worktree-agent-a0d4f269fc90b238e787d13512831 linesfolded into the change before it
- C14: ruin and gutted states for the houses, farms, towers and industry3bd2bf41637 lines
- C14: a template has its one damage state, and a ruin fits its remains534ce2e381 lines
- Merge remote-tracking branch 'origin/main' into worktree-synthetic-doodling-twi…d2a79c11644 lines
- Merge main: buildings from the library meet prepared worlds and the saved camer…923d97b11887 lines
- Merge branch 'worktree-agent-a23925f61607288a8' into worktree-synthetic-doodlin…b8515c14424 linesfolded into the change before it
- city-maps buildings: every category has real art in the generator's cataloguedad655e1082 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into worktree-synthetic-doodling-twi…f7820401263 linesfolded into the change before it
- Merge branch 'worktree-agent-a6b97860098c4973c' into worktree-synthetic-doodlin…43723b24767 linesfolded into the change before it
- Merge branch 'worktree-agent-a3d1720ab8272114d' into worktree-synthetic-doodlin…3056ccf617 linesfolded into the change before it
- Merge branch 'worktree-agent-a00bb0e14d2e9b969' into worktree-synthetic-doodlin…d31bdb01158 lines
- Merge remote-tracking branch 'origin/main' into worktree-synthetic-doodling-twi…c3414723166 linesfolded into the change before it
- city-maps C18: balcony fronts in painted concrete, and the unprimed critique's …35a95069 lines
- Merge remote-tracking branch 'origin/main' into worktree-agent-a2c858e40e8ae7cde2af021010134 linesfolded into the change before it
- city-maps C18: outcome and the decisions for the towers6f4a43c99 linesfolded into the change before it
- city-maps C18: the towers' review sheets, over the reassembly's camera and load…d43cd09149 linesfolded into the change before it
- city-maps C18: the towers' kit, a slab and three point towers of shared panels07b49d4628 lines
- Merge remote-tracking branch 'origin/main' into worktree-agent-a2c858e40e8ae7cde22cf2e01551 linesfolded into the change before it
- city-maps C18: precast panel and facing tile recipes for the towers' wallsa5a39f037 lines
- city-maps C17: outcome, decisions and the lessons for kit-drawn buildingsc444d7756 linesfolded into the change before it
- city-maps C17: the houses' kit, five detached and five attached homes5ac2472371 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into worktree-agent-a5fb5ba73789a127dee697014425 linesfolded into the change before it
- city-maps C17: the kit authoring helper and the reassembly sheets815940e754 linesfolded into the change before it
- city-maps C17: textured house builders and recipes for kit-drawn buildingsa8315bf308 lines
- Merge remote-tracking branch 'origin/main' into worktree-synthetic-doodling-twi…b1a8e1a4203 linesfolded into the change before it
- city-maps buildings: vendor the three building sources, record the export spike…54095af238 lines
- city-maps: buildings and ground lanes for two separate sessionsca7bb9798 linesfolded into the change before it
- AGENTS.md: drop the repeated closeout-gate sentence2a2cde62 linesfolded into the change before it
- AGENTS.md: a big change ends with its closeout gate82b99662 linesfolded into the change before it
- AGENTS.md states iteration speed outright; mechanics stay in the readme9484dc944 linesfolded into the change before it
- skills: add audit-agentsbe263f6112 linesfolded into the change before it
- Remove the unrunnable spike prototype; record the data prune in the spec771acd01998 linesfolded into the change before it
- Merge branch 'prune-data-files' into city-maps/evidence-cleanup751aa9c10933 linesfolded into the change before it
- city-maps: a scale lane for a second session732f3db36 linesfolded into the change before it
- AGENTS.md: drop the third-party art note; it lives beside the assetse9d05e74 linesfolded into the change before it
- The full gates run at named milestones and at spec close, not before each merge8be6f4810 linesfolded into the change before it
- Merge branch 'remove-reuse-manifest' into city-maps/evidence-cleanup68ee1a61697 linesfolded into the change before it
- Merge branch 'scene-reanchor' into city-maps/evidence-cleanup0c505ec97 lines
- city-maps: one owner builds the whole spec, look included; test in proportionbcb70e511 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Generator records carry the encounter sites on layout-59e7368f6 linesfolded into the change before it
- Encounter records follow the generator to layout-5380b33b18 linesfolded into the change before it
- Merge branch 'city-maps/road-ends' into city-maps/evidence-cleanup0f5325c2724 lines
- Web tests time out only on a hang; format the footprint test8090f6d7 lines
- Merge remote-tracking branch 'origin/main' into city-maps/evidence-cleanup599d64b4431 linesfolded into the change before it
- Spec handoff: the catalogue cutover and the encounter planner are inde7bdda11 linesfolded into the change before it
- The village footprint check reads the resolved village map31488547 linesfolded into the change before it
- Merge branch 'city-maps/map-catalogue' into city-maps/evidence-cleanup51398dd5701 linesfolded into the change before it
- C59: the planner counts seats as the garrison order does; placements re-recorde…44a60bf18 linesfolded into the change before it
- Village scenes bring blue into the shortened weapon ranges before judging shots…817915222 lines
- skills(refactor-clean): sweep names in every touched path4c28b2425 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Merge branch 'city-maps/encounter-planner' into city-maps/evidence-cleanup7bd4cba4878 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into codex/group-move-previewf9f747b26423 linesfolded into the change before it
- Tune projectile ranges and add sustained projectile review labefb5bec849 lines
- Merge remote-tracking branch 'origin/main' into codex/group-move-preview92cd3fb34434 lines
- Merge remote-tracking branch 'origin/main' into codex/group-move-previewb4036c75504 linesfolded into the change before it
- Scale heavy ground-impact dust by projectile type1d24947111 lines
- Match tank AP and HE shell gravity for a stronger shared arc69726cf4 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Merge remote-tracking branch 'origin/main' into city-maps/evidence-cleanup7949e7e1582 lines
- Give the battle-building client test ten seconds to catch a hange40a4552 linesfolded into the change before it
- Drop wall-clock limits from generator refusal tests51cbd9011 lines
- C57: outcome, decisions, and films of the camera's flights072d74b182 lines
- C57: a camera clearance lab, its scene, and the camera through a generated townf57a0721249 linesfolded into the change before it
- C57: every camera path draws the resolved pose3496931306 linesfolded into the change before it
- C57: a camera clearance resolver over an indexed obstacle viewb97c1fe1394 linesfolded into the change before it
- One list of what a side knows stands9fb435b52 lines
- Record M22 (a road from the bottom edge to the top) and M23 (towns are not dart…e5cf6802 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Merge branch 'city-maps/layout-rivers' into city-maps/evidence-cleanup4af22163636 linesfolded into the change before it
- Merge remote-tracking branch 'origin/main' into city-maps/evidence-cleanup2865aa460 linesfolded into the change before it
- SA6: add the river-map planning failures and bridge-road jams9b6941d7 linesfolded into the change before it
- Give the simulation rules a lane of their own in the city-maps spec8799957107 linesfolded into the change before it
- Merge branch 'city-maps/generated-lab' into city-maps/evidence-cleanup84413bf2985 lines
- Merge remote-tracking branch 'origin/main' into city-maps/evidence-cleanupcca6181826 linesfolded into the change before it
- Re-check a unit's route only when its side learns something near itc6741bf66 linesfolded into the change before it
- Merge branch 'city-maps/nav-grid-updates' into city-maps/evidence-cleanup3fecf682453 lines
- Merge remote-tracking branch 'origin/main' into city-maps/evidence-cleanupa594fa0213 linesfolded into the change before it
- Merge branch 'city-maps/c69-rivers' into city-maps/evidence-cleanup5d5a22f3906 lines
- Merge remote-tracking branch 'origin/main' into city-maps/evidence-cleanup3fd9caa3268 linesfolded into the change before it
- Let scenes wait for planned routes and for the fight's first casualty511893924 lines
- Merge branch 'city-maps/sa2-navigation' into city-maps/evidence-cleanup94b4daf7033 lines
- Make Metro's core apartment blocks with a few towers381fb0a45 linesfolded into the change before it
- Merge branch 'city-maps/c53-parcels' into city-maps/evidence-cleanup32131cd4591 lines
- Merge remote-tracking branch 'origin/main' into city-maps/evidence-cleanupd991cb21579 lines
- Bring the city-maps TODO in line with what has landedd8b619145 linesfolded into the change before it
- Let layouts take 215 s edge to centre so Large roads vary840e7c258 linesfolded into the change before it
- Merge branch 'city-maps/c52-layout' into city-maps/evidence-cleanup850b6194966 linesfolded into the change before it
- Merge branch 'city-maps/c63-surface-index' into city-maps/evidence-cleanupdc8bfbb1884 lines
- Merge remote-tracking branch 'origin/main' into city-maps/evidence-cleanup2e89c690 linesfolded into the change before it
- Measure a full-size map and fix two map-size costs in world and route setup7648895289 linesfolded into the change before it
- Add the Broken Arrow reference screenshots2c707e413 lines
- Record the Broken Arrow composition references for Mixed mapsb23431021 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- skills(refactor-clean): deletion pass before relaxing checks155db8b27 linesfolded into the change before it
- C04 pass 2: the map compiler admits roads and forestsec5819b310 linesfolded into the change before it
- State every mover's top speeds as offroad_kmh and road_kmh7ef83fc260 linesfolded into the change before it
- S7: layout composition trials and the decisions they settled56709b7145 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- C65: roads and forest strokes follow one rounded centrelinea28ee78464 lines
- Give wheeled vehicles three times their off-road speed on roads32df75f52 linesfolded into the change before it
- C64: each road kind carries its own speed from one surfaces table940e46a352 lines
- C72: every forest plays by one rule over the shared ground shapeb8c26923124 linesfolded into the change before it
- Remove raw evidence from the city-maps speca5e6df3489246 lines
- Move parity oracles out of the spec into fixtures/parity9225aa922689 lines
- close reviewed stopping checkpoint with passing full gates and handoff9a882804042 linesfolded into the change before it
- preserve original reviewed lane histories for pinned proof reproduction5d5de930 linesfolded into the change before it
- control rendered view history in the exact cleanup resource checkb66e6ad66662 lines
- record complete check gate fresh visual review and prototype preservation9bec33f2900 linesfolded into the change before it
- spec(c72): preserve unactivated forest shape checkpoint and proofs93658f97721 linesfolded into the change before it
- pin shipping regression decoder inputs and executed binary identities40994743395 linesfolded into the change before it
- Freeze counted road core and accepted 2km intent proof8d456195758 linesfolded into the change before it
- perf(nav): reuse implicit material costs within each plan1a3769a8877 linesfolded into the change before it
- Correct directed destination connector admission551290b1215 linesfolded into the change before it
- Define counted Battle route integration proof seama2a31e5168 linesfolded into the change before it
- docs(nav): bank hierarchical road and corridor architecture tracersa5355082613 linesfolded into the change before it
- Prove indexed roads and counted physical refinementf63cecd7540 linesfolded into the change before it
- merge preserved spec work into current reviewed system checkpoint846e18f0 linesfolded into the change before it
- Define shared map source resolution and compiler provenance checkpoint308d1513748 linesfolded into the change before it
- fix village aggregate targeting and preserve reviewed stopping checkpoint4ef9dd2230246 lines
- Wire physical scenario preparation into the movement evidence runner27e03c46 lines
- Prepare remaining battle scenario houses through aggregate geometry0be1a9c729 linesfolded into the change before it
- Refuse removed map fields before physical geometry can be lost4c61ead88 lines
- Compile physical building plans with shared lossless identity864547a4099 linesfolded into the change before it
- Freeze shared surface GPU and paired village acceptance receipts10a3a6a6118 linesfolded into the change before it
- Unify physical and rendered ground surfaces with native polygon boundariesfc3be135633 lines
- docs(city-maps): set playable sizes and bounded twenty kilometre envelope9e642ca111 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- docs(city-maps): make long travel trigger and pace tunable234d8a451 linesfolded into the change before it
- docs(city-maps): freeze aggregate actual-frame capability proof054dfa515842 lines
- docs(city-maps): accept automatic long road travel and planning delay129d6b858 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- docs(city-maps): adopt startup and engine scale direction7db082b137 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Implement aggregate building ownership across physical states8d47d5d10909 linesfolded into the change before it
- Bound exact ground GPU sampling with compressed word ownershipee6f1a928567 lines
- perf(sim): reuse scratch entry for exact route relaxationsb8a4d623188 linesfolded into the change before it
- proof(nav): freeze uniform winner counterexamples and rejected h cache438b17a2340 linesfolded into the change before it
- Move visibility resolution into each map definitioncde4a32832 lines
- spec(nav): isolate exact uniform boundary winner proofeeb1ca7132 linesfolded into the change before it
- Use portable math for canonical template geometryd874e4367977 lines
- perf(sim): prune proven route losers without changing winnersfa9dc813888 linesfolded into the change before it
- Bound learned ground work by edits and new visibilityf61560e4352 lines
- Define canonical physical building templates and bounded materialization8fae6902939 lines
- Reject numerically unrepresentable template geometryc54e006831 linesfolded into the change before it
- Cache exact common ground words and complete page exceptions0084523360 linesfolded into the change before it
- Publish exact learned ground runs with bounded atomic deliveryd851ee31584 linesfolded into the change before it
- Format sparse forest imports after integration71806ab8 linesfolded into the change before it
- Keep navigation storage sparse and record the remaining exact search gateb9e9ad13396 linesfolded into the change before it
- Freeze original navigation routes and executable equivalence oracle8753e862889 linesfolded into the change before it
- Bound exact learned-ground GPU residency and remove dense consumersafdb8ed1753 linesfolded into the change before it
- Stream uniform learned pages without scanning every cell337e6c958 lines
- Project learned clearing as visible ground wear for run receivers7daf75834 linesfolded into the change before it
- Make ground knowledge compact at the exact tile-run seam1ce7c911141 linesfolded into the change before it
- Update systems handoff for terrain and fog integratione09624110 linesfolded into the change before it
- Make visibility publication incremental with exact retained observationsde1fbc42226 linesfolded into the change before it
- Bound exact terrain storage and share compact public height samples92de3ab4391 lines
- Expose conservative terrain variation regions for navigation6ca090f104 linesfolded into the change before it
- Plan nonvisual map implementation and freeze full-extent allocation evidenceb538ecd3343 lines
- Keep physical weapon instances distinct and unify progress rings518cd62928 lines
- Add independent rifle bursts and prioritize centered contact labels204d010633 lines
- Add independent firing cycles, magazines, and suppression spread3b4880a932 lines
- Always show sound captions and remove the subtitle switchb02845e79 lines
- Match readout fades and foreground lines to reference landmarksd12decd205 lines
- Require local boundary and overlap evidence in visual reviews3b6bd4951 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Match the approved soft readout backgrounds05923e437 linesfolded into the change before it
- Teach visual exploration and iteration against approved concepts19d5a7089 lines
- Close implementation audit with contracts and verification evidence5391cf9126 linesfolded into the change before it
- Describe cascade geometry without the private test oracle2bbf3f02 linesfolded into the change before it
- Use identical padded edges for readout collision and placementb48664f19 linesfolded into the change before it
- Keep cascade blend oracle private to its geometry teste83679953 linesfolded into the change before it
- Place upper unit readouts first and prefer downward stacking42ad46c8 lines
- Check AT and tank readout order against projected units41f946f20 linesfolded into the change before it
- Remove unused client status getters and test status deliveryf8c02b418 linesfolded into the change before it
- Keep readouts visible with two-way placement and selected prioritybb9e78586 linesfolded into the change before it
- Let one abort signal own viewport listener and async lifetimede78db356 linesfolded into the change before it
- Attribute friendly impacts and require actual reacquisition02bad5b29 linesfolded into the change before it
- Check scatter distribution on both axes2fa0b1344 linesfolded into the change before it
- Verify clearing through the full ground delivery lifecycle4f04d0136 linesfolded into the change before it
- Share side command sequencing across simulation tests5985c74187 linesfolded into the change before it
- Preserve movement evidence windows and fixture controlsd99e13f44 linesfolded into the change before it
- Publish prop poses through the side knowledge owneree9b9e364 linesfolded into the change before it
- Remove obsolete selection accessor and caption base typed82a74e53 lines
- Require real hits and positive controls in damage tests8a7cec5145 linesfolded into the change before it
- Test publication contracts directly and correct overstated claimsa38fa0e130 linesfolded into the change before it
- Pin completed garrison progress and footprint at publicationbdf6acd5 linesfolded into the change before it
- Tighten browser scene contracts and leave timing matrix to Rustd13cc67152 linesfolded into the change before it
- Let viewport prop updates reach frames during initial asset loadingbf20c4f104 linesfolded into the change before it
- Consolidate duplicate movement proofs in stronger scenario checks2ec4ac8152 linesfolded into the change before it
- Count stopped ticks and actual cover in movement verdicts62ebc6736 linesfolded into the change before it
- Test report movement while the original contact remains live87aeee538 linesfolded into the change before it
- Exercise live vehicle cover through real hull conversion9271b5240 linesfolded into the change before it
- Verify garrison transitions and name deterministic repeats accuratelybb97c6c39 linesfolded into the change before it
- Keep squad cover area tied to authored strength13d044c20 linesfolded into the change before it
- Run movement checks directly from the scenario registry8c9abc9285 linesfolded into the change before it
- Use side-known buildings throughout garrison approachesb813e53129 linesfolded into the change before it
- Keep last-seen prop elevation with its remembered posed7c483165 linesfolded into the change before it
- Repair renderer tests to exercise ordering and geometric contracts0cf22f8105 linesfolded into the change before it
- Generate effect uniforms from shared GPU schemas67d0a3685 linesfolded into the change before it
- Serialize complete appearance updates through impostor baking73014e3100 linesfolded into the change before it
- Guard each viewport initialization await and release failed frame setup7ea389b72 linesfolded into the change before it
- Let diagnostic consumers own history instead of retaining it in every battle5d57c9e80 linesfolded into the change before it
- Keep client pause intent distinct from scheduler status and deliver final errors8c65ed378 linesfolded into the change before it
- Dispose authority test battles after each case and state the observed contractb71a4d118 linesfolded into the change before it
- Serialize watched asset bakes and publish only the latest resultd2c80e6105 linesfolded into the change before it
- Release late viewport builds before installing listeners or announcing readinessdadf13496 linesfolded into the change before it
- Keep command selection alive and let clicks own wideninge279a52251 lines
- Battle-look scene: hide the callout layer before the x-ray probe, so a panel's …25c273a13 lines
- Choices: a holding squad also re-resolves for a new enemy and for an enemy ente…c0a05372 linesfolded into the change before it
- Cover: a holding squad rearranges as an enemy comes into or out of reachb45721d150 linesfolded into the change before it
- Cover: a holding squad rearranges when a new enemy appearsb845e83293 lines
- Cover: a squad that halted on its way holds where it arrives1b6523176 linesfolded into the change before it
- Cover sheet: find its cases from the battle's state and read the order paintfa16cae274 lines
- Scenes: one way to open a battle, aim the camera and project the grounde39cf98887 lines
- Merge branch 'worktree-agent-a4231c0639a1526d6' into worktree-agent-a921759c1bc…615c949737 linesfolded into the change before it
- Renderer skill: the ground-mark primitives and the per-kind table have one owne…4260de54 linesfolded into the change before it
- Decisions: the post-close record reads as its end state; the closing review and…138aebb47 linesfolded into the change before it
- Merge branch 'worktree-agent-a96e006358bbd5916' into worktree-agent-a921759c1bc…d3d58dd441 linesfolded into the change before it
- Merge branch 'worktree-agent-a2c87c1370d830e49' into worktree-agent-a921759c1bc…811b655497 lines
- Overlays: one ground strip, one ring, one set of colour helpers in mesh.ts3852fd7602 linesfolded into the change before it
- Scenes: the rim join is measured by interpolated ink, not hue thresholds49db7c7131 linesfolded into the change before it
- Scenes: the corpse check proves the fight's own fallen finish their deaths42d7bb438 linesfolded into the change before it
- Scenes: the ground sides check reads the scars, not the lab's cell view; the wa…77e0fa488 linesfolded into the change before it
- Merge targeting: identified enemies in reach before any contact area; only the …6b42047219 lines
- Merge UI simplification: one info panel, pause menu, paint-only ground marks, o…b1d35e63627 lines
- Update Jevgrep skill with behavioral triggers and inventory guidanceeed8e59112 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Merge UI polish: strokes thin with zoom, rows on one centre line, panel gaps, o…abd809c555 linesfolded into the change before it
- Merge weapon light: muzzle flashes, rounds, missiles, bursts and fires cast lig…dc8a6881089 lines
- Merge suppression tiers: a hidden build-up, effects only by tier (none, suppres…5e9b11e879 lines
- Merge garrison: one squad per building, a ring round the building, soldiers tak…c3656f21064 linesfolded into the change before it
- Add audit-tests skilldd90cbf155 lines
- game-ui skill: sweep every instance of the concept you touch7dc54fe7 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Merge info panels: one ledger-plain panel for every unit (name, weapons, states…67b74722436 linesfolded into the change before it
- Merge corpse cap: at most 1000 drawn, the oldest sink awayd983ee4294 lines
- Merge: the corpse check waits on presented ticks, not wall time6c9a3ff68 lines
- A unit's marker is one mark: its circle (a holding squad's area ring, a moving …f7f083799 lines
- Merge order flash: a fresh order shows the Space view for its units, then fades3d216ef776 linesfolded into the change before it
- Merge rounds in flight: layered streaks without a head, short tank bolts, long …1b69f001100 lines
- game-ui skill: the component principle as a principle (less to remember, less c…181023212 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- game-ui skill: one concept, one component everywhere; iterate components in a p…acbd8d59 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Scenes: the panel tour checks each fight subject the tick it first appears64507bd87 linesfolded into the change before it
- Scenes: the panel tour closes its page; the watch frames follow the 30 s battle10d415217 lines
- Review: the session places the panels; warnings tinted; enemy name marks36e22ab244 linesfolded into the change before it
- Docs: every unit's info panel, the contact contract, garrison replacements, the…ef94b0a13 linesfolded into the change before it
- Every unit's info panel holds its states; ground marks keep to selection and mo…00687b91446 linesfolded into the change before it
- Scenes: the panel tour, supply rows, deployment without its ring0659efb375 linesfolded into the change before it
- Contacts carry what the side learned; 30 s lifetime; garrisons reinforcec886771402 lines
- Merge UI follow-ups: contact attacks carry over, ruler meets circles, red conta…103799b912 lines
- game-ui skill: cover pips count as movement marks6034a132 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- game-ui skill: every unit has an info panel holding all its states; ground mark…10e4be91 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- city-maps ground lane: write-spec synthesis and refactor-clean4f1a4781793 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- city-maps: ground lane (roads, rivers, forests, grass, crops) and map cataloguef7492fe605 lines
- ATGM motor: 50 m/s launch, 280 m/s² to a 1000 m/s top, so it accelerates the wh…e194c628 linesfolded into the change before it
- Merge flight time and spread: tank rounds ~1.5 s to 1400 m, accelerating ATGM, …7e87873552 lines
- game-ui skill: never B2B SaaS is the governing test5068e4c6 linesfolded into the change before it
- game-ui skill: principles, not prescriptions (show only what helps, reuse the s…276ac1471 linesfolded into the change before it
- game-ui skill: the holo-tactical UI's layers, colour roles and rules, from the …bc7a49861 lines
- Space held with a selection: a range ruler to the cursor07aaf59946 linesfolded into the change before it
- Right-click a contact's area to attack itbae6bd4148 lines
- Ranges: the ATGM outranges the tank gun (1800 vs 1400 m); shots heard at 2000 mdfc972014 linesfolded into the change before it
- Contact areas sized 3x their cause's footprint; gun rounds at 0.3 speed under 0…b5116ed607 lines
- Merge city-maps spec12710f02013 linesfolded into the change before it
- Presentation fixes: whole-card menu links, sound from the first frame with a 30…9ffba831227 lines
- specs/hud-chrome: draft (typed history router with long-lived GPU/assets; the c…82195f853 linesfolded into the change before it
- Vercel: match <path>'s setup (image's rustup + wasm-pack, COOP/COEP, immuta…5fde04e32 linesfolded into the change before it
- Vercel: the install step lives in scripts/vercel-install.sh (Vercel caps the co…b3fcac411 linesfolded into the change before it
- Vercel: build the wasm (rustup + wasm-pack) and the Vite app; serve web/dist as…4df27948 lines
- Post-close docs findings: ledger end states, stale slice tags, one home per fact631d083728 linesfolded into the change before it
- check fixes: formatting, NaN-rejecting range helpers, unused imports1e2bf2342 linesfolded into the change before it
- battle-look record: the post-close sim review fixes and their named digest chan…7f629a634 linesfolded into the change before it
- sim: a guided missile loses guidance when its guiding soldier falls13c53d675 lines
- labs read resolved weapon rows from the shipped catalog view17d44fe215 linesfolded into the change before it
- sim: a single soldier weapon fires from its operator, the first living carrier1dd1b36182 linesfolded into the change before it
- scene-assets: scenery props come from drawn_by; one ruin height or refused34b5c4498 linesfolded into the change before it
- sim: a collapse survivor escapes wherever a soldier's body fits37cd62771 linesfolded into the change before it
- sim: refuse zero fog and ground cells by name, before the world divides by them49460eb31 linesfolded into the change before it
- sim: a forest lane is cleared by the forest's own tree's weight6bb381f43 linesfolded into the change before it
- observation: unit and prop kinds travel as catalog ranks, not idsa388d74213 linesfolded into the change before it
- catalog: structural checks at load, duplicate keys refused, parts and variants …be25d90685 linesfolded into the change before it
- sim: the village referee counts combat units by their weapons, not a rolee4d812043 linesfolded into the change before it
- sim: the digest holds each soldier's slot and frames cleared ground by a countf1f1a1940 linesfolded into the change before it
- docs (post-close review 27, 29, 32, 33, 35, 36): final benchmark row and claims…cc3056691 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Post-close review fixes (presentation): format, and the ledger's section3d7be7b58 linesfolded into the change before it
- Paint shows on the bridge deck and the water: they read it through the one pain…93f02d4265 linesfolded into the change before it
- Marks lie on the ground: drop every mark height (lift_m); remove setPaintEmissi…f0b237f210 linesfolded into the change before it
- Overlay marks clear the ground by a depth-scaled clip bias, not a 0.5 m pullce0f78097 linesfolded into the change before it
- Select similar: the widening expires after the double-click window, or when the…e3bfda162 lines
- Selection colour is one role: the HUD leader and a vehicle's chevrons take the …8a506d5115 linesfolded into the change before it
- Attacks reach only armed units: reach("attack") filters every attack path7a9ef03100 linesfolded into the change before it
- Pose driver: vehicles and feed mounts keyed by sideKey; HMG yaw from its catalo…c0e4ef6163 linesfolded into the change before it
- battle-look ledger: the x-ray entry is fixede6bab2e6 linesfolded into the change before it
- battle-look close: the selected x-ray takes the scheme's selection colour (the …ad70b4613 lines
- close battle-look: archive to specs/done/battle-look as a rationale record8bf1c8827495 linesfolded into the change before it
- battle-look choices: the final ledger, rewritten from scratch937fa2c6332 linesfolded into the change before it
- docs: the whole-spec review's docs findings28b2522963 lines
- the generated catalog view is fixtures/catalog.json: it holds units and props7dc289a3916 linesfolded into the change before it
- choices: the sim lane (review fixes, movement bug, props catalog)2c6358822 linesfolded into the change before it
- reuse manifest: movement_shots now lives under examples02228282 linesfolded into the change before it
- WIP: movement scenario reproducing the jam at a lean point off a building corne…8cec52c27 linesfolded into the change before it
- props are catalog data: string ids with extends, body rows, destroyed states an…cbf759b2079 linesfolded into the change before it
- fix: a soldier jammed on his way to his post plans again round the soldiers sta…d7412c582 linesfolded into the change before it
- workbench sources: drop the village import the rules seam left unusede7cc5bc1 linesfolded into the change before it
- sim review fixes 11, 12: toppling is a body-row property; ruin and building cas…3dd7fd198 lines
- sim review fixes 2, 4: the jeep's sight follows its HMG only by data; a guided …85f9f0058 linesfolded into the change before it
- sim review fix 14: a squad's footprint reaches its soldiers' bodies (physics.so…9dad4d628 linesfolded into the change before it
- sim review fixes: one damage::decide, Obb2::clip_segment and one live-hull type…b5d61b61962 linesfolded into the change before it
- sim review fixes 10, 13, 14: tuning numbers move into the fixtureb73bc44380 linesfolded into the change before it
- sim review fix 3: the digest hashes the cleared mask; the forest grids take the…fda9e11253 linesfolded into the change before it
- 27f presentation leftovers: select similar, mixed-selection commands, mount rig…7bfd9051499 lines
- village scene: compare unit names trimmed (the name cell holds the role symbol …c9f269d5 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- 27f: the group card's role symbol sits in the name's cell; the village scene's …b1b92da16 linesfolded into the change before it
- 27f: drop unused catalog accessorsaa6945025 lines
- 27f: docs — the unit catalog in fixtures/README, choices, the named exception, …77be04175 linesfolded into the change before it
- 27f: the browser and the asset tools read unit types from the catalogc3e84892689 linesfolded into the change before it
- 27f: the unit catalog contract and its loader58f10021498 linesfolded into the change before it
- 27f: the simulation reads unit types from the catalog75677f02971 linesfolded into the change before it
- battle-look 27e follow-ups 15: route count equals units with an order; the post…654e0bf163 linesfolded into the change before it
- battle-look 27e follow-ups 15: cover pips centred at the marker's height; no li…66697f4197 lines
- battle-look 27e follow-ups 14: cover icons yellow, light green, strong green, c…59bb6c9307 linesfolded into the change before it
- battle-look: decisions entry for the rim-join check's corrected pixel test4550dd81 linesfolded into the change before it
- battle-look 27e follow-ups 13: cover tiers a ramp from white to green626726931 linesfolded into the change before it
- battle-look 27e follow-ups 12: paint and overlay marks at one height; light cov…4b18f34163 linesfolded into the change before it
- Merge the workbench flake fix (palette readback owns its submission; draw befor…08ded9c112 lines
- battle-look 27f: unit icon + NATO role symbol, four armour facings, type names …599ae3511 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27f: one sight per unit; parts enable mechanics and must appear on …5eda60f4 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27f: special-weapon transfer, names/descriptions/icons, upgrade par…8def80b6 linesfolded into the change before it
- battle-look 27f: provisional catalog field scope (only fields with a consumer)44ecc236 linesfolded into the change before it
- battle-look 27f: decisions from the unknowns walk (factions, roles, selection, …08d231b154 linesfolded into the change before it
- Remove trenches from the game (user decision 2026-09-27)b2237c7241 lines
- renderer skill: presentation.pose is among the fixture's look numbers717b5602 linesfolded into the change before it
- local P3 and Rgb tuples become math's Vec3 (review finding 26)9dc0381156 linesfolded into the change before it
- ground cells read the channel names from their owner; the bench figure is soldi…a714a5a38 linesfolded into the change before it
- drop the GPU scope observer and unused renderer exports (review findings 27, 28)af41c12137 linesfolded into the change before it
- fixture validators live with their owners (review finding 25)c1854ee74 linesfolded into the change before it
- fog oracle reads the one sightMultiplier (review finding 20)3edc1649 linesfolded into the change before it
- workbench reuses the page's appearance load; its looping clips come from INFANT…980475641 linesfolded into the change before it
- presentation reads rules only as threaded (review finding 24)ad427f9197 linesfolded into the change before it
- one sideKey helper for side-keyed ids (review finding 22)c8015cd97 linesfolded into the change before it
- one PCG hash tgpu.fn for the terrain, scenery and grass lattices (review findin…f3ccc9870 linesfolded into the change before it
- pose feed: the soldier who kneels to fire is the one the launches namec9814ba108 linesfolded into the change before it
- pose feel moves to a validated presentation.pose block (review finding 15)dfd6195286 linesfolded into the change before it
- camera lens lives in presentation.camera, read through villageCamera.lens (revi…f6053e499 linesfolded into the change before it
- battle-look 27e follow-ups 10: colour roles as a fixture scheme; white orders, …0edeadd549 linesfolded into the change before it
- battle-look 27e follow-ups 9: the selection-colour option sheet (lab study hook…28fcdb6124 linesfolded into the change before it
- battle-look 27e follow-ups 7b: the cast-shadow check follows the emissive paint9635c153 linesfolded into the change before it
- battle-look 27e follow-ups 8: gold selection, grass lit only at the foot (provi…97a3beb43 linesfolded into the change before it
- battle-look 27e follow-ups 6: ground paint on the ground and its grass, never o…51491f7731 lines
- battle-look 27e follow-ups 4: a vehicle's marker is sized from its own hull5ad4b7586 linesfolded into the change before it
- battle-look 27e follow-ups 5: strokes 50% thicker, a soldier's own markers keep…74de39a67 linesfolded into the change before it
- battle-look 27e follow-ups 3: ground marks painted in the lit world7e24e0f841 linesfolded into the change before it
- battle-look 27e follow-ups 2: ground glow 33%, the squad's circle points its fa…e3cb179242 linesfolded into the change before it
- battle-look 27e follow-ups 7: the paint is a light; grass is lit by it, selecti…f175cf6302 linesfolded into the change before it
- battle-look 27f: variants may have their own model; sim geometry is inherited b…8a0ac9b9 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look: slice 27f, unit types as catalog data (user: hundreds of types, fa…02e2e5561 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look: record the provisional calls (garrison spotting eyes, painted sele…3551b3c4 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- docs: 27 perf named decisions logged — each one's saving and its effect on outc…ba1a46015 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- 27 perf (named decision 3): each observer identifies on alternate ticks, stagge…0d61f85158 lines
- 27 perf (named decision 2): a garrison sees from one eye per facade it holds157f79d124 linesfolded into the change before it
- 27 perf (named decision 1): a holding squad re-resolves cover only for planning…8d2a5dc163 linesfolded into the change before it
- battle-look 27 (per-mount muzzles): each mount fires from its own muzzle547a015926 linesfolded into the change before it
- battle-look 27 perf: the 27c–27d endurance growth cut back, digests unchanged4054091432 lines
- docs: adding a unit kind — data first, one muzzle per mount, fit checks for eve…aa75a7e31 linesfolded into the change before it
- battle-look 27 (muzzle flash): flashes sit on the drawn muzzle8facc39589 lines
- battle-look 27e follow-ups: painted unit markers, eased callouts, overlay colou…6f8e4201211 lines
- battle-look 27e: holo-tactical in-world UI4464a542878 lines
- battle-look 27e: choices, decisions, frame cost, renderer lessons; the slice ma…e3b792c126 linesfolded into the change before it
- battle-look 27e: user picked marker (a); the squad ring carries its facing arro…89acab92 linesfolded into the change before it
- garrison lab: re-staged so the entry steps measure the timer, not a collapse3e17de1106 linesfolded into the change before it
- battle-look slice 27d: choices, the slice marked done, README's own-cover ruledcd2fb234 linesfolded into the change before it
- battle-look slice 27d: the pose driver slides a soldier out to his lean and bac…4e215b6231 lines
- battle-look slice 27d: soldiers lean out round tall cover; the squad's area and…622b8a32273 linesfolded into the change before it
- battle-look slice 27d: the village-lean lab and scene (a squad in the wood trad…c4c7a78192 linesfolded into the change before it
- battle-look 27e: second pass — squad circle, smaller rings and tank marker, mar…50246b76 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27e: animated movement chevrons (presentation clock)ada208b2 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27e: teardrop markers point the facing; detached chevrons show trav…a003e031 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27e: the body highlight is for occluded parts only, a reusable capa…effda033 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27e: user feedback — selection marker only, one order colour, area …ca979857 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27e: improve on the references, don't just match them (user)79c46864 linesfolded into the change before it
- battle-look 27e: the UI reads as a game UI, not B2B SaaS (user)ffe298910 linesfolded into the change before it
- battle-look: slice 27e, holo-tactical in-world UI (user 2026-09-27), with the u…d7a994361 linesfolded into the change before it
- village_report --quick runs 600 s, long enough for the flank to capturef672a1922 lines
- village_report: a fully cached run prints no trial timings; no empty comparison…1cd07c028 linesfolded into the change before it
- check: build the WebAssembly before typecheck765dfd72 linesfolded into the change before it
- scene runner: print the slowest scenes at the end9a96c848 linesfolded into the change before it
- village_report: --fresh still dedupes the cache, and warns when a rerun differs…c5bb82836 linesfolded into the change before it
- sim tests: one integration binary, so every test shares one poold673abb102 linesfolded into the change before it
- docs: which battles a change needs; the iteration-speed pass in decisionse0f6f5538 linesfolded into the change before it
- village_report: one pool for every trial, quick mode, digests, cached baselines532d929650 linesfolded into the change before it
- village trial: read the verdict from the battle; the script reads blue's frame …dd0ec1615 linesfolded into the change before it
- fog sweep: stop a ray once no later cell can be seenf7271ab25 linesfolded into the change before it
- README: Hollywood realism's example matches the rifle rule (sustained fire fell…c550f9a2 linesfolded into the change before it
- battle-look slice 27c: structural numbers, and a soldier's rounds pass his own …5cf24ed476 linesfolded into the change before it
- battle-look slice 27c: rifles wear wood at half the HMG's pace (0.25 per round)e3fcaf46 linesfolded into the change before it
- battle-look slice 27c: choices, decisions and the README's first-principles rul…2b0e4ce29 linesfolded into the change before it
- battle-look slice 27c: a gun holds fire only for what its rounds cannot breake841da3648 linesfolded into the change before it
- battle-look: record the user's call that balance moves to a future spec543a51e1 linesfolded into the change before it
- Merge slices 27a (village rebalance) and 27b (playable and look)6864c331750 lines
- city-maps: garrisons use the bottom 3 floors of any building (user's leaning); …bd8b09c8 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- city-maps: draft spec and research (starts after battle-look; interview first)9b784fb244 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27d: 'able to engage' means the round reaches the enemy, not that t…1899b473 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27d: the squad owns an area round a fixed anchor; only an order mov…89129a513 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27d: optimise for the most soldiers able to engage (range, line, se…01120e58 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27d: lean points are claimed; the squad maximises soldiers with a l…a7471148 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27d: the cover search counts the lean point as a fire position10f6a533 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look 27d: one lean rule for every cover shape (trunk, building corner, h…820365d11 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look: slice 27d, soldiers lean out round tall cover (user 2026-09-27)3c5c2dc26 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- Hollywood realism: the README's rules and the tweak-mechanics skill judge a mec…68822c910 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- tweak-mechanics skill: imagine the battle — narrate each moment and ask what a …9b706c644 linesfolded into the change before it
- tweak-mechanics skill: a rule change is a blast-radius check (actors × subjects…5d70b9956 lines
- renderer skill: prefer a Blender MCP server when installed; scripts stay the so…0064e882 linesfolded into the change before it
- renderer skill: math and update-frequency rules in architecture; AGENTS.md says…50c00369 linesfolded into the change before it
- renderer skill: rewritten for the TypeGPU stack and procedural assets, with the…8a87718654 lines
- battle-look: slice 27 runs as two lanes, 27a balance and 27b playable and look5e7bf6d7 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look slice 37b (sim): choices, paired reports and handoff29ab0fa22 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look slice 37b: a village spawn row may set its unit's engagement6bea7be96 linesfolded into the change before it
- battle-look slice 37b: a soldier's lane point stays on his own legfefe5a098 linesfolded into the change before it
- battle-look: handoff after 37 and 37b (fog)e58e7522 linesfolded into the change before it
- battle-look: decisions.md names 37b's real cause for the sandbag fog residue78cbcc12 linesfolded into the change before it
- battle-look slice 37b: fog-look's sandbag residue is up-facing ledges judged se…fa57bdf22 lines
- battle-look slice 37: the fog labs' street places the jeep; fog-look's style ch…1c0c2c213 linesfolded into the change before it
- battle-look slice 37: the village places field works and a jeep a sidea2ff003482 lines
- battle-look slice 37: a soldier about to move no longer keeps a cover spot clearf79c7b948 linesfolded into the change before it
- format76c94ce12 linesfolded into the change before it
- battle-look: village corpse check waits for the death to settle; handoff points…40bdf7c11 linesfolded into the change before it
- battle-look slice 34c: destroyable props; trunks block infantry; drawn fog foll…319332f1401 lines
- battle-look slice 34c: formatfa3b64585 linesfolded into the change before it
- battle-look: carry slice 35's speckled route ribbon into slice 274372e601 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look slice 35: frame cost3256a601 linesnot counted: 5 or fewer lines, or docs only, and no one else reviewed it
- battle-look slice 35: mark done81838cb4 linesfolded into the change before it
- battle-look slice 35: order markers, right-drag facing and the Space overlaye62da5c1305 linesfolded into the change before it
- battle-look: slice 34b follow-ups folded into 34c; village balance to 275c3a3766 linesfolded into the change before it
- Merge slice 34b: forests as bodies, with densities61a23e61922 lines
- Seen enemy vehicles publish reversing, so their reverse whine plays9a5ef8089 linesfolded into the change before it
- village scene: wait for sound to start and for pause to silence itca2e41c14 lines
- Merge slice 39: tracked vs wheeled steering, and reversef45b8fe1209 lines
- 42 earlier changes (counted; not itemized)