Repository navigation
feat(archetypes): make lit candle fixtures emit warm light #90
Description
Activity
Reconciliation update
The Classic 1.x implementation is updated in PR #121 at head 47db92422c0ec7c0aad7cdf41fbc9bcec5de2017.
- The former
mainprerequisite feat(lighting): merge colored light content into main #66 is complete through merged PR feat(lighting): port reviewed light-source colors #124. - The branch incorporates merged PR chore(lighting): remove committed render evidence #127 at
b342d5632563730b12806414041cd4a4f575e07d. - Issue chore(lighting): remove committed light-source evidence PNGs #126 and PR chore(lighting): remove committed render evidence #127 supersede the acceptance language requiring committed PNGs, an evidence manifest, proof scenes, or capture tooling. Optional renderer diagnostics stay ignored under
build/. - Light-review schema v6 now combines source-derived fixture-group validation with artifact removal: six candle archetypes, 478 placements across 119 maps, reviewed defaults/color, three intentional dark composite members, contextual checks, and an exact placement digest, with no image/view coupling.
lights --checkpasses with 103 archetype sources, 4 artifact sources, 11,500 instances across 634 maps, and zero unreviewed sources.- Full
tools/validate.pypasses all 119 tests and the aggregate content/archive checks. - The duplicate provider-keyed benchmark reader was removed and restored to current
1.x; issue fix(syntax): resolve provider-keyed benchmark topology inputs #138 tracks that compatibility work independently, and PR fix(lighting): migrate warm candle fixtures #121 does not depend on it landing first.
The authored candle changes genuinely alter the fixed syntax input lock and representative-map measurements, so that measurement refresh remains. This update leaves the issue open for its separate release-line delivery decisions.
Program delivery gate: 1.x companion ready
PR #121 is ready for maintainer squash merge as the 1.x half of #90.
- PR: fix(lighting): migrate warm candle fixtures #121
- Base:
1.x@d863b1d66967841ad56ae5f205e88d87c681a688 - Head:
66ccf13370b508d1faf16600ef1175bb94f964e3 - Tree:
966a8f4af6d82e45c931a4b9cedf8bbb6e5b80ec - Shape: 102 changed paths; the base-to-head tree is the exact independently reviewed artifact
- Checks: Content validation, conventional-title policy, and Ubuntu/Windows syntax prototypes all pass
- Local validation:
tools/validate.pypasses 131 tests plus lossless/schema/catalog/contract/syntax/resource/archive checks; the light audit reports 11,682 instances across 638 maps and zero unreviewed - Review: corrected-head independent review reports zero actionable findings; zero GitHub reviews/comments/threads remain
- Mergeability: mergeable/clean
Merge order is strict: squash-merge PR #121 into 1.x first. Do not merge a canonical main companion yet. After this merge, the program will record the resulting squash SHA, re-query 1.x and main independently, and build/review the canonical main companion from that fresh tip.
This issue remains open under the master-program closure constraint.
Program delivery gate: canonical main
Ready for maintainer squash-merge: #178.
- Merge order: squash-merge feat(lighting): migrate warm candle fixtures #178 into
main; do not merge any fix(syntax): resolve provider-keyed benchmark topology inputs #138-or-later work first. - Exact base:
7075ad95519f24877718af2f9e9f10a3671fd26a - Exact head:
be09e752312dcb11c5f3906b2207a5dd4660a02d - Exact tree:
8487f5a8d50e91f1e649620ebefa1fc074dbd119 - Shape: one commit, 102 changed paths
- Checks: Content validation passed (4m27s); Conventional PR title passed (4s); Syntax prototypes Ubuntu passed (36s); Syntax prototypes Windows passed (41s).
- Validation: full
tools/validate.pypassed (129 tests plus content/schema/catalog/contracts/syntax/resources/runtime collection); light audit passed with 11,682 instances across 638 maps and zero unreviewed; 44 focused tests, cross-line mechanical audit, JSON/prohibited-surface checks, andgit diff --checkpassed. - Review: primary and independent exact-head reviews report zero actionable findings; zero GitHub reviews, comments, or review threads; mergeable state is clean.
- Release-line relationship: merged
1.xsquash is08ebe8d39eb2d8af0dddbb120af178d87e1fb7f6; all 91 authored map results and core authored artifacts match exactly where required while main-native provenance/runtime boundaries are retained.
After the maintainer merge I will verify the actual squash SHA and exact tree, re-query main and 1.x independently, and only then begin #138. Please leave #90 and #154 open; issue closure is reserved for the final exact-tip audit and human action.
Completed on both release lines: 1.x PR #121 merged as 08ebe8d39eb2d8af0dddbb120af178d87e1fb7f6; main PR #178 merged as dc37068cc514c4a22a02f0156f54b74f6c845938. Final program-wide exact-tip validation passed with zero unreviewed emitters and no retired evidence/capture surfaces. Closing as delivered.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Start date
Target date
Effort
Projects
- StatusShow more project fieldsDone
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
Make all six visibly lit candle fixture archetypes emit a small warm-gold light by default:
candle_onandcandle2_on;candlelight1.101,candlelight2.101,candlelight3.101, andcandlelight4.101.Keep
candle_offandcandle2_offdark. Use the establishedffd080lantern-and-candle palette rather than neutral white.Evidence
A lossless audit at #67 head
1476bfa81c35f7764af327a84fe4045eb0eff97efinds 478 fixtures across 119 maps:candle_oncandle2_oncandlelight1.101candlelight2.101candlelight3.101candlelight4.101Only 37 fixtures emit from their own map-local radius; 334 depend on a co-located neutral light, and 107 have neither source. All 37 self-emitting candles already resolve to
ffd080, with radii 2, 4, 5, or 7. The neutral companions range from radius 2 through 9.#67 already gives
ffd080tocandlelight3.101andcandlelight4.101; the other four lit definitions have neither radius nor color. Nine candle-bearing maps are absent from the current effective-emitter baseline.Useful review scenes include
underground_city_2_3(13 companion-lit fixtures covering all fourcandlelightforms),world_5_67_-1(15 companion-lit tall candles), Quick Wolves Guild (11 without a current source), Incunaworld_3_84(eight established radius-5 gold sources), and Asteriaworld_4_47(mixed candle/cauldron radii).Scope
ffd080to the four lit definitions that lack it and retain it oncandlelight3.101/candlelight4.101.candle_offandcandle2_offnon-emitting.no_pick, names/plurals, placement, obstruction, scripts, and every gameplay field.Land this fixture work before dependent palette issues. #80 has 24 candles with no current source—eight each on Daffodil, Lingholm, and Marigold. #83 contains eight candles across five Everlink tiles: seven are companion-lit and one has no current source. #87 uses different archetypes but overlaps
world_4_83; serialize/rebase generated audit artifacts.Acceptance criteria
ffd080emitters, and all 478 placements appear in the refreshed inventory with inherited or intentional local radii.candle_offandcandle2_offremain 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. All affected maps are byte-identical between the lines; preservemain-only plural metadata. Deliver separate linked pull requests, with the canonicalmainpull request closing this issue and the1.xcompanion linking it without a closing keyword.