guts/web/js
type-two b2d9b46c30 [lane B+C] Giardia: the latch, and boost becomes a dodge
The first foe with an ATTACH state machine, and the first that gives boost a defensive job.
Giardia chases like a seeker, CLAMPS its ventral suction disc onto your hull, and drains coat
while it rides — until a boost's i-frames throw it (or it lets go after attachMax, then can't
re-grab for reattachCd). The counterplay is timing a boost, not out-running it.

- enemies.js: `latcher` archetype — a two-state (chase / attached) branch. Attached, it rides
  player.pos + a spin offset and drains `drain`/tick; ps.iframeT > 0 (boost) detaches and flings
  it clear. Amber tetrahedron (the trophozoite), so a clinging one reads on the hull.
- levels/enemies.js: ARCHETYPES += latcher; catalogue `giardia_latch` (biome small_intestine).
- L2: one Giardia previewed on the open thoracic run (s1940) — it belongs to L4's villi maze,
  but the grab works in a flow tube, so it teaches the boost-dodge verb now.

Verified: it chased + clamped, drained coat 100->84 while attached, and a simulated boost
(iframeT) shook it off.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 20:45:21 +10:00
..
audio [lane E] The game finds its voice: procedural synth bank, the WebAudio graph, the damage feed, and the medal/title/pause cards 2026-07-19 13:57:38 +10:00
combat [lane B+C] Giardia: the latch, and boost becomes a dodge 2026-07-19 20:45:21 +10:00
core [lane B+C+D] Microbes, friend and foe: the GLB loader, a friendly commensal, and a distinct-mesh yeast 2026-07-19 15:13:30 +10:00
flight [lane B+C] The phage ally: tend the flora and the biome fights for you 2026-07-19 16:36:03 +10:00
levels [lane B+C] Giardia: the latch, and boost becomes a dodge 2026-07-19 20:45:21 +10:00
stub [lane F] Round 1 integration + ROUND2 instructions: the game is a game 2026-07-16 14:39:02 +10:00
ui [lane E] The biome meter: the reputation you're building, made visible 2026-07-19 18:05:44 +10:00
world [lane A] MODELBEAST dresses the molecules: 5 matcaps, and the canal picks space-filling 2026-07-16 21:31:24 +10:00
boot.js [lane E] The game finds its voice: procedural synth bank, the WebAudio graph, the damage feed, and the medal/title/pause cards 2026-07-19 13:57:38 +10:00