Skip to content

feat(lighting): consolidate glower illumination onto visible fixtures #103

Description

@zoeyrose

Important

Evidence policy update (2026-08-11): #66 is complete through #124; any wording
below treating it as a future prerequisite is superseded. #126/#127 retire the
committed renderer-review capture surface. The removed files were generated
review artifacts, not authored gameplay art. Any requirement below to commit
rendered screenshots, contact sheets, manifests, proof maps, or capture tooling
is superseded. Keep authored semantic review in
maps/light-source-review.json (rationales, current digests, complete coverage,
and zero unreviewed emitters). Optional smooth/discrete diagnostics belong only
under ignored build/ or deployment output; summarize conclusions in the PR,
but never commit or gate merge on those files.

Follow-up to #65 and its implementation in #67, with the compatible main integration tracked by #66.

Outcome

Move intended illumination from neutral helper objects onto the visible hanging glower.101 fixtures, using a reviewed warm light and preserving each existing room footprint.

Do not mechanically illuminate the five fixtures that currently have no source; review those scenes independently.

Evidence

arch/indoor/glower.arc defines a static, non-pickable layer-4 fixture with no radius or color. The world has 26 placements across eight maps:

Context Placements Current ownership
Greyton Jail 6 6 × light5
Old Outpost 1 1 × light5
Rockforge 12 12 × light9
Mountain interior 1 1 × light7
Asteria interior 1 1 × light4
Asteria Docks and Brynknot 5 no same-tile source

In total, 21 fixtures are exactly paired with neutral helpers: seven radius 5, twelve radius 9, one radius 7, and one radius 4. The other five—four in Brynknot world_1_68 and one at Asteria Docks world_10_42_1—have no current source.

Established ffd080 warm gold is the starting art direction. Because the paired radii range from 4 to 9, a single global default cannot preserve all existing room compositions without local overrides.

Scope

  • Add reviewed ffd080 color ownership to glower.101 and derive any small default only from rendered evidence.
  • Transfer the 21 helper radii onto the visible fixture map instances, preserving the radius-4/5/7/9 footprints and removing or explicitly retaining independent ambient fill.
  • Review the five unpaired fixtures separately; illuminate them only when scene and gameplay context support it, otherwise keep an explicit non-emitting disposition.
  • Render Greyton Jail, Old Outpost, both Rockforge maps, the Asteria interior, mountain interior, Asteria Docks, and Brynknot in smooth and discrete Classic lighting.
  • Preserve placement, layer, obstruction, names/plurals, map geometry, NPCs, exits, and every gameplay field.

Acceptance criteria

  • All 26 fixtures have a reproducible radius/color/disposition.
  • The 21 paired helpers are migrated, retained, or excepted explicitly, with no accidental double source and no loss of their established scalar footprints.
  • The five unpaired fixtures are reviewed rather than illuminated mechanically.
  • Warm ffd080 emission fits the fixture art without washing out radius-9 rooms, bleeding materially through walls, or weakening navigation.
  • Greyton, Old Outpost, Rockforge, Asteria, mountain, and Brynknot contexts are checked in smooth and discrete Classic lighting.
  • Placement, layer, obstruction, maps, NPCs, exits, and every non-light field remain unchanged.
  • The chore(maps): audit authored light-source colors #65 inventory, review records, semantic digests, evidence manifest, and affected rendered evidence are refreshed.
  • python3 tools/world_content_audit.py lights --check, python3 tools/validate.py, and git diff --check pass.

Release lines

Land only after #65/#67 are integrated on 1.x and #66 supplies the matching field/audit contract on main. The eight maps and definition are compatible across release lines; preserve line-specific metadata. Deliver separate linked pull requests, with Classic 1.x owning rendered runtime evidence.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Fields

Priority

None yet

Start date

None yet

Target date

None yet

Effort

None yet

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions