Fixes the live finding that a racer can finish with 0% paint. Paint is now ROUTE-guaranteed by ground puddles, and colours come in single-colour zones so buffs actually cross the 20% threshold. - paint/puddles.ts: PaintPuddle + installPuddles. Flat coloured strips (no collider) that stamp the blob's underside via skin.splatAtPoint on a ~6/s cadence while rolling through, emitting paint:splatted. The body doesn't physically tumble (rotations locked), so an accumulated roll phase walks the contact point along the travel great circle — a straight run paints a stripe and coverage climbs instead of piling on the south pole. - paint/coverage-math.ts: extend computeModifiers with purple MEGA (size→1.45 + heavier) and pink MINI (size→0.62 + lighter than clean at high %). They fight: net size uses (purple − pink) strength; mass floored so MINI stays positive. (Lives here, not buffs.ts, because the pure mapping must stay THREE-free for the bare-node test; BuffSystem already forwards mods.size/massMul unchanged.) - paint/coverage-math.test.ts: +MEGA/MINI/fight cases (48 assertions pass). - course/zones.ts: installZones lays RED/GREEN/BLUE puddles down the centre line and the PURPLE(left)/PINK(right) fork onto the machine district — a pressure plate (baseMass*1.25) + boot on the MEGA lane, a visibly-low pink tunnel (underside y≈1.12) on the MINI lane. Returns cannon configs for integration. - demo (demos/lane-g.html + src/demo/lane-g.ts): drive the zones, F = hands-free hold-forward, 1-4 teleport to each zone, live coverage/size/mass + plate HUD. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
27 lines
1.3 KiB
HTML
27 lines
1.3 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head><meta charset="utf-8" /><title>BLOBBO lane g demo</title>
|
|
<style>
|
|
html,body{margin:0;height:100%;overflow:hidden;background:#bfe3ff;font-family:system-ui,sans-serif}
|
|
#app{width:100%;height:100%}
|
|
#legend{position:fixed;top:10px;left:10px;padding:10px 12px;border-radius:8px;
|
|
background:rgba(20,24,40,.72);color:#eaf2ff;font-size:13px;line-height:1.5;pointer-events:none;max-width:340px}
|
|
#legend b{color:#FF6EB4}
|
|
#legend .k{display:inline-block;min-width:14px;padding:1px 5px;margin-right:6px;border-radius:4px;
|
|
background:#354569;color:#fff;font-weight:600;text-align:center}
|
|
</style></head>
|
|
<body>
|
|
<div id="app"></div>
|
|
<div id="legend">
|
|
<b>BLOBBO — Lane G: zones · puddles · MEGA/MINI</b><br>
|
|
WASD move · Space jump<br>
|
|
<span class="k">F</span>AUTO hold-forward (hands-free, ≥40% by route)<br>
|
|
<span class="k">1</span>teleport RED start · <span class="k">2</span>BLUE river<br>
|
|
<span class="k">3</span>PURPLE/MEGA fork · <span class="k">4</span>PINK/MINI tunnel<br>
|
|
<span class="k">X</span>full clean · <span class="k">C</span>cleanse 50%<br>
|
|
<span class="k">R</span>respawn · <span class="k">P</span>state to console · <span class="k">H</span>HUD
|
|
</div>
|
|
<script type="module" src="/src/demo/lane-g.ts"></script>
|
|
</body>
|
|
</html>
|