Isle-Slingers/js/render/agents.md
Relay dff5dd5b30 Clean release scrub: remove internal fleet references
Removes internal process references so the repo is presentable to an
outside audience: dropped the internal build-retrospective doc
(process log with internal terms, not useful to an outside reader),
and reworded remaining internal references in code comments and
module docs (agents.md cards, architecture.md, MODULES.md,
index.html, package.json) to generic descriptions of what changed
and when, with no behavior change -- full 47/47 suite re-run green
after the scrub, every edit verified comment/doc-only via diff.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 14:36:52 +00:00

911 B

js/render/ — agents.md

Module map: MODULES.md; runtime model: architecture.md.

Self-contained module. Exports ISLE_RENDERER = { Renderer, VIEW_W, VIEW_H }.

  • new Renderer(canvas, { onEvent }) — pure draw: draw(ctx, state) renders whatever the physics state contains (blocks, enemies, birds, sling, HUD-ish scenery, popups). It never mutates state.
  • VIEW_W/VIEW_H (1280x720) mirror physics constants VIEW — keep them in sync; the camera lives in state (set by physics/camera), render only applies it.
  • S-3/S-5 (added): drawBlock rotates about the block COM when bl.ang is set (no-op at ang=0, so un-tipped blocks draw identically to the pre-S-3 output), and drawBird renders landed birds as live bodies alongside the spent corpses. The DOM-stub test only checks that drawing does not throw and that the sling band stops tracking a launched bird (bug #14 arm).