Repository navigation
feat(lighting): add wall fireplace emitters - #177
Merged
Merged
Conversation
zoeyrose
marked this pull request as ready for review
August 12, 2026 04:22
This was referenced Aug 12, 2026
|
🎉 This PR is included in version 2.11.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
8 tasks done
zoeyrose
added a commit
that referenced
this pull request
Aug 23, 2026
## Summary - make `wmask_fire_on_1` a default radius-1 `ff6030` emitter while keeping `wmask_fire_off_1` dark - transfer four larger same-tile helper footprints to the visible fireplace and remove the redundant radius-1 helper - refresh the current semantic review for all 91 active placements across 54 maps while preserving main-only Classic decision references and the replacement-runtime boundary - synchronize the deterministic maximum-map snapshot and current-state decision prose without recapturing historical timing data Canonical `main` implementation for #92 after the separately validated `1.x` companion merged as [#123](#123). Per the lighting program's closure constraint, this PR intentionally has no closing keyword; #92 remains open for the later exact-tip audit and human closure. ## Coordinates - base: `main@5a844f7a66c48c3abed80c8fff256dd16e404631` - head: `9b424017358db72e643f8ef8fecbc50bb7a562f7` - tree: `a8e6157d5a62b8ac426ee025234c34351942809b` - commits: exactly one - changed paths: exactly nine - merged `1.x` squash: `5a27bdf8c31e7298f4a13d9d5219ae226496031f` ## Acceptance and preservation - all 91 active wall-fireplace placements across 54 maps resolve to `ff6030`; 87 use radius 1, one preserves radius 2, and three preserve radius 3 - all 18 `wmask_fire_off_1` placements remain dark; directions 1 and 7 remain unchanged at 54 and 37 placements - the on archetype gains only `glow_radius 1` and `light_color ff6030`; main-only plural metadata and every type, layer, turnability, direction, draw, face/animation, naming, and gameplay field remain intact - four larger neutral-helper footprints transfer exactly to fireplace overrides; the Incuna radius-1 helper is removed as redundant with the new default - all existing `classic_views`, the pinned Classic `source_review`, and the explicit replacement-runtime-unavailable boundary remain intact - no `maps/light-source-evidence/**`, evidence manifest, proof scene, capture tooling/tests, capture-bound review fields, provider adapter, or benchmark recapture is added ## Validation - `python3 tools/validate.py` — 129 tests; lossless 1,355-archetype/3,651-map core; semantic lights, 338-field schema, 8,105-definition catalog, contracts, syntax prototypes, resources, isolated runtime build, and both archives passed - `python3 tools/world_content_audit.py lights --check` — 111 archetypes, 10 artifacts, 11,576 instances across 636 maps; 5,895 explicit colors, 5,802 intentional neutral, zero unreviewed - focused fireplace inventory — 91 active placements/54 maps and 18 dark off placements; exact direction/radius/color counts pass - focused syntax suite — 13 tests passed; source, snapshot, and decision text agree on 95,652 bytes, 2,778 objects, and SHA-256 `85e5200e1825a70a173d80c2e371026b6178be262ed3b3737b8c47d19c2ab01d` - `git diff --check` and JSON parsing - fresh independent whole-diff review — zero actionable findings at exact tree `a8e6157d5a62b8ac426ee025234c34351942809b` ## Runtime boundary The replacement stack still has no integrated content runtime or rendering adapter. This PR validates the authored mirror and semantic contracts without claiming live visual activation; integration remains tracked by atrinik/atrinik#266, atrinik/atrinik#269, and atrinik/atrinik#270. Classic rendering conclusions are retained in the checked semantic review under the superseding evidence policy. ## Merge order Squash-merge this canonical `main` companion only after all final-head checks and review exit conditions pass. Then re-query `main` and `1.x` independently before starting #90. #138, #137, #139, and the final #113/#154 audit remain blocked.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
wmask_fire_on_1a default radius-1ff6030emitter while keepingwmask_fire_off_1darkCanonical
mainimplementation for #92 after the separately validated1.xcompanion merged as #123. Per the lighting program's closure constraint, this PR intentionally has no closing keyword; #92 remains open for the later exact-tip audit and human closure.Coordinates
main@3a0a7e044032ea042b949f24e0f62103c3a0fd747f70a577fe010f39aef802abd23955e451ee9750a8e6157d5a62b8ac426ee025234c34351942809b1.xsquash:d863b1d66967841ad56ae5f205e88d87c681a688Acceptance and preservation
ff6030; 87 use radius 1, one preserves radius 2, and three preserve radius 3wmask_fire_off_1placements remain dark; directions 1 and 7 remain unchanged at 54 and 37 placementsglow_radius 1andlight_color ff6030; main-only plural metadata and every type, layer, turnability, direction, draw, face/animation, naming, and gameplay field remain intactclassic_views, the pinned Classicsource_review, and the explicit replacement-runtime-unavailable boundary remain intactmaps/light-source-evidence/**, evidence manifest, proof scene, capture tooling/tests, capture-bound review fields, provider adapter, or benchmark recapture is addedValidation
python3 tools/validate.py— 129 tests; lossless 1,355-archetype/3,651-map core; semantic lights, 338-field schema, 8,105-definition catalog, contracts, syntax prototypes, resources, isolated runtime build, and both archives passedpython3 tools/world_content_audit.py lights --check— 111 archetypes, 10 artifacts, 11,576 instances across 636 maps; 5,895 explicit colors, 5,802 intentional neutral, zero unreviewed85e5200e1825a70a173d80c2e371026b6178be262ed3b3737b8c47d19c2ab01dgit diff --checkand JSON parsinga8e6157d5a62b8ac426ee025234c34351942809bRuntime boundary
The replacement stack still has no integrated content runtime or rendering adapter. This PR validates the authored mirror and semantic contracts without claiming live visual activation; integration remains tracked by atrinik/atrinik#266, atrinik/atrinik#269, and atrinik/atrinik#270. Classic rendering conclusions are retained in the checked semantic review under the superseding evidence policy.
Merge order
Squash-merge this canonical
maincompanion only after all final-head checks and review exit conditions pass. Then re-querymainand1.xindependently before starting #90. #138, #137, #139, and the final #113/#154 audit remain blocked.