Skip to content

feat(maps): color Hierro's crystal focal lights #85

Description

@zoeyrose

Architecture amendment — one authored content source (2026-08-13)

Initiative atrinik/atrinik#357 supersedes every future live-branch instruction below. atrinik/content@main is the sole mutable authored source for replacement and Classic targets. Future authored changes land only on main; supported Classic artifacts are deterministically derived from the same immutable main revision. Do not create, restore, author, backport, validate, or publish through a live 1.x branch.

Exact historical 1.x commits, tags, releases, assets, preserved local snapshots, provenance, parity records, and comparisons remain valid immutable evidence. This amendment changes no other feature, balance, lore, compatibility, licensing, validation, or ownership acceptance criterion.

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

Give the three crystal focal lights in Hierro's Lair explicit art-matched colors while retaining its structural neutral fill and warm torch route.

Use map-instance light_color overrides only. Keep the shared invisible light1–light9 archetypes neutral.

Evidence

maps/shattered_islands/lyondale_archipelago/morliana/hierro/hierro_lair has 108 effective emitters after #65:

  • 76 neutral light1 sources;
  • 21 neutral light2 sources;
  • one neutral light4 source;
  • ten torch_wall_1 sources already colored ffc080.

Most neutral sources are structural perimeter and top-edge fill. Only three are exactly co-located with visibly colored crystals:

Coordinate Scenery Light Candidate color
(9,5) crystal_purple_s light2 a060ff arcane purple
(11,5) crystal_purple_s light2 a060ff arcane purple
(11,3) crystal_red_s light4 ff3030 emissive red

The map is currently byte-identical on main and the post-#65 1.x tree. Existing issues #3 and #22 discuss Hierro's reward and encounter identity but do not propose lighting changes; this work must preserve those contracts.

Scope

  • Start and normally stop with the three co-located crystal lights.
  • Retain the ten ffc080 wall torches and all structural neutral fill unless a rendered overlap demonstrates a map-local need.
  • Compare the crystal chamber, blood-stained route, entrance, and Hierro's chamber for contrast and navigation.
  • Preserve the authored boss, spawn point, quest container, Ring of Hierro reward, firestorm ability, death event, monsters, exits, darkness, radii, positions, and obstruction.

Acceptance criteria

  • The two purple-crystal lights and one red-crystal light match their visible art and remain distinct from the warm torches.
  • Purple, red, amber, and retained neutral pools avoid oversaturation, muddy overlap, and hidden floor or wall boundaries.
  • Hierro's chamber remains readable without changing or falsely telegraphing encounter mechanics.
  • No additional neutral source is colored without specific rendered evidence and rationale.
  • No shared light archetype, emitter radius/position, encounter, quest/reward, exit, obstruction, or gameplay field changes.
  • Smooth and discrete Classic lighting are checked at the crystal cluster, route, and boss chamber.
  • 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

After #66 makes the field and audit contract available on main, deliver compatible changes through separate linked pull requests for main and 1.x. The canonical main pull request closes this issue; the 1.x companion links the issue and canonical PR without a closing keyword. Validate rendered behavior on Classic 1.x and validate the authored mirror independently on main; document concrete evidence for any single-line exception.

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