[art] No UI icons — objective markers, hazard stripes, interactables are basic geometric shapes #13

Closed
opened 2026-09-23 14:33:44 +00:00 by Mark · 1 comment
Owner

Asset gap.

In-mission UI uses raw geometric shapes for:

  • Objective markers (mainframe, terminal, cache — currently colored squares per web/js/ui.js)
  • Hazard stripes (the orange/yellow diagonal patterns seen on the screenshot)
  • Interactable objects (barrels, crates, pods — declared in atlas row 0 but rendered as solid color blocks per the terrain gap in another issue)

The atlas has regions for barrel, crate, terminal, mainframe, pod at row 0 (cols 4-7 and row 1 col 0). The UI isn't drawing these from the atlas.

What's missing:

  • Wire the existing atlas regions for interactables into the renderer
  • Add distinct icons for: objective flag, extraction zone, hack-in-progress, breach point, focus-snap event marker

Acceptance:

  • Interactable tiles (barrels, crates, terminals, pods) draw from atlas regions, not solid color
  • Objective markers use a distinct icon (not just colored squares)

Refs: web/assets/sprites.png row 0-1 regions + godot/scripts/sprite_atlas.gd REGIONS map.

**Asset gap.** In-mission UI uses raw geometric shapes for: - Objective markers (mainframe, terminal, cache — currently colored squares per `web/js/ui.js`) - Hazard stripes (the orange/yellow diagonal patterns seen on the screenshot) - Interactable objects (barrels, crates, pods — declared in atlas row 0 but rendered as solid color blocks per the terrain gap in another issue) The atlas has regions for `barrel`, `crate`, `terminal`, `mainframe`, `pod` at row 0 (cols 4-7 and row 1 col 0). The UI isn't drawing these from the atlas. **What's missing:** - Wire the existing atlas regions for interactables into the renderer - Add distinct icons for: objective flag, extraction zone, hack-in-progress, breach point, focus-snap event marker **Acceptance:** - Interactable tiles (barrels, crates, terminals, pods) draw from atlas regions, not solid color - Objective markers use a distinct icon (not just colored squares) Refs: `web/assets/sprites.png` row 0-1 regions + `godot/scripts/sprite_atlas.gd` REGIONS map.
Mark 2026-09-24 15:14:07 +00:00
Author
Owner

Closed by commit 1d50a37 on main (cybertactics#13: wire sprite atlas into minimap + distinct objective flag).

Changes:

  • web/js/ui.js renderMissionThumb now draws barrels/crates/terminals/mainframes/pods from the shared sprite atlas (same SPR indices as in-mission render()); colored-square + single-letter glyph fallback when the atlas hasn't loaded.
  • Mission-objective mainframes get a magenta flag overlay on a dark pole in both the title-screen thumbnail and the in-mission canvas, replacing the previous pulsing-inner-rectangle marker.

Verification: make ci green — smoke x2 + saveload + teams + research + strategic + xp + gdlint + Playwright UI smoke (4/4 thumbnails painted 320x180, no console errors) + Godot headless import check.

Closed by commit 1d50a37 on main (`cybertactics#13: wire sprite atlas into minimap + distinct objective flag`). Changes: - `web/js/ui.js renderMissionThumb` now draws barrels/crates/terminals/mainframes/pods from the shared sprite atlas (same SPR indices as in-mission `render()`); colored-square + single-letter glyph fallback when the atlas hasn't loaded. - Mission-objective mainframes get a magenta flag overlay on a dark pole in both the title-screen thumbnail and the in-mission canvas, replacing the previous pulsing-inner-rectangle marker. Verification: `make ci` green — smoke x2 + saveload + teams + research + strategic + xp + gdlint + Playwright UI smoke (4/4 thumbnails painted 320x180, no console errors) + Godot headless import check.
Sign in to join this conversation.
No description provided.