Skip to content

feat(maps): give Glacial Hollow cold and arcane crystal lighting #84

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 Glacial Hollow selective cold-blue and arcane-purple crystal lighting while preserving the neutral filler that keeps its dense ice caves readable.

Keep the shared invisible light1–light9 archetypes neutral. This work must use reviewed map-instance overrides, not a global tint.

Evidence

Across 11 maps, the post-#65 inventory finds 1,169 effective emitters:

  • 1,135 neutral light1 sources;
  • two neutral light6 sources;
  • 32 pillar_blue9 sources already colored 60d0ff crystal cyan.

Lossless coordinate inspection finds 332 neutral lights co-located with purple crystals and 399 co-located with non-emitting blue-pillar variants. Those are strong art anchors, but their density also makes a mechanical recolor unsafe: overlapping radius-1 sources could collapse into a uniform cyan or purple wash.

The maps are:

  • maps/shattered_islands/world_-4_56_-1 and world_-4_56_-2;
  • maps/shattered_islands/world_-4_57_-1;
  • maps/shattered_islands/world_-4_58_-1;
  • maps/shattered_islands/world_-5_56_-1 and world_-5_56_-2;
  • maps/shattered_islands/world_-5_57_-1;
  • maps/shattered_islands/world_-5_58_-1;
  • maps/shattered_islands/world_-6_56_-1;
  • maps/shattered_islands/world_-6_57_-1;
  • maps/shattered_islands/world_-6_58_-1.

All 11 files are currently byte-identical on main and the post-#65 1.x tree. The current audit has 51 committed Glacial Hollow views across smooth and discrete batches; those provide the before-state for a targeted comparison.

Scope

  • Establish representative pilot clusters before applying colors across the full area.
  • Prefer a060ff arcane purple near purple crystals and 60d0ff crystal cyan or 80c0ff cold blue near blue ice formations.
  • Preserve substantial neutral snow, wall, and navigation fill. Do not recolor every co-located source or every light1.
  • Keep existing cyan pillar_blue9 emitters as reference anchors and avoid double-strength color where their pools overlap nearby overrides.
  • Review both depths, every horizontal boundary, narrow passages, combat silhouettes, exits, and transition points.
  • Preserve radii, coordinates, darkness, obstruction, exits and tile links, monsters, loot and containers, quests, scripts, and all gameplay fields.

Acceptance criteria

  • Representative crystal and ice-pillar clusters have distinct cold/arcane identities without producing a uniform colored wash.
  • Neutral filler remains sufficient for wall, floor, monster, and navigation readability.
  • Existing cyan emitters and new accents blend without clipping, oversaturation, or muddy cyan-purple overlap.
  • Both depths and every linked-map boundary remain visually continuous in smooth and discrete Classic lighting.
  • Retained neutral co-located sources are deliberate after rendered comparison.
  • No shared light archetype, emitter radius/position, encounter, loot, quest, exit, obstruction, script, or other gameplay field changes.
  • 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

Labels

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