You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(maps): give displayed crystal balls a blue focal light #96
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 intentionally displayed crystal balls a small blue focal light without turning every collectible crystal_ball into free passive carried illumination.
Keep the base item non-emitting. Establish display intent map-locally, using no_pick 1, a small radius, and 4060ff only where the object is genuinely scenery.
Evidence
The animated blue crystal_ball archetype is a pickable type-79 object with value 10 and no current radius or color. There are only two authored placements:
Asteria world_4_47 at (11, 18), on the fortune teller's table;
Marigold world_17_2_4 at (22, 9), beside the displayed power_crystal.
Adding an archetype-level radius would make either cheap collectible ball a passive carried light under Classic inventory semantics. Both current contexts instead look like fixed displays, so map-local ownership is safer—but only after confirming that making them unpickable does not remove intentional loot or interaction.
Scope
Verify whether each of the two placements is intended as fixed display scenery or collectible loot.
For each confirmed display, add map-local no_pick 1, radius 1, and 4060ff; leave any intentionally collectible placement non-emitting.
Keep the shared crystal_ball archetype without a default radius so future collectible balls do not silently become inventory lights.
Render the fortune-teller table and Marigold display in smooth and discrete Classic lighting, checking walls, nearby fixtures, and color overlap.
Land only after #65/#67 are integrated on 1.x and #66 supplies the matching field/audit contract on main. Both affected maps are currently byte-identical across release lines. Deliver compatible map-local changes through separate linked pull requests, with Classic 1.x owning rendered runtime evidence and main independently validating the authored mirror.
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
mainintegration tracked by #66.Outcome
Give intentionally displayed crystal balls a small blue focal light without turning every collectible
crystal_ballinto free passive carried illumination.Keep the base item non-emitting. Establish display intent map-locally, using
no_pick 1, a small radius, and4060ffonly where the object is genuinely scenery.Evidence
The animated blue
crystal_ballarchetype is a pickable type-79 object with value 10 and no current radius or color. There are only two authored placements:world_4_47at(11, 18), on the fortune teller's table;world_17_2_4at(22, 9), beside the displayedpower_crystal.Adding an archetype-level radius would make either cheap collectible ball a passive carried light under Classic inventory semantics. Both current contexts instead look like fixed displays, so map-local ownership is safer—but only after confirming that making them unpickable does not remove intentional loot or interaction.
Scope
no_pick 1, radius 1, and4060ff; leave any intentionally collectible placement non-emitting.crystal_ballarchetype without a default radius so future collectible balls do not silently become inventory lights.Acceptance criteria
4060fffocal light and cannot be picked up; any collectible placement remains non-emitting.python3 tools/world_content_audit.py lights --check,python3 tools/validate.py, andgit diff --checkpass.Release lines
Land only after #65/#67 are integrated on
1.xand #66 supplies the matching field/audit contract onmain. Both affected maps are currently byte-identical across release lines. Deliver compatible map-local changes through separate linked pull requests, with Classic1.xowning rendered runtime evidence andmainindependently validating the authored mirror.