Repository navigation
feat(lighting): consolidate magic lantern illumination - #203
Merged
Merged
Conversation
…-illumination-main # Conflicts: # maps/light-source-review.json
|
🎉 This PR is included in version 5.2.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
zoeyrose
added a commit
that referenced
this pull request
Aug 23, 2026
## Summary - give all 402 visible magic lanterns fixture-owned `ffd080` illumination across 66 maps - preserve every established radius-3/4/5/6/7/9 footprint while removing all 239 co-located helper sources - collapse the five direct-plus-helper compositions and deliberately illuminate the 101 formerly source-less fixtures through reviewed standing/wall defaults - add a fail-closed semantic fixture contract and current placement, overlap, context, and source-digest evidence Closes #89. ## Coordinates - Base: `main@cadf90f724d39e5ec49984c403ab080f8f667e03` - Head: `feat/89-magic-lantern-illumination-main@7e750593b27354c0181a7d91ee6a69a2a394d484` - Worktree: `/workspaces/atrinik/workspace/worktrees/content/issue-89-magic-lantern-main` - Feature commits: `78c8e2b4e feat(lighting): consolidate magic lantern illumination`; `42ce1a87e docs(lighting): clarify review provenance`; `7e750593b docs(lighting): align Everlink fixture rationales` - Synchronization merges preserve current `main` history without rebasing or force-pushing. ## Authored behavior - `lantern_magic.131` inherits radius 5; `lantern2_magic.131` inherits radius 7; both retain `ffd080`. - The 239 helper radii transfer exactly: 2 × radius 3, 10 × radius 4, 18 × radius 5, 32 × radius 6, 160 × radius 7, and 17 × radius 9. Five transferred fixtures already had the same direct radius, so the duplicate source is removed without changing their result. - The final 402-fixture distribution is 2 × radius 3, 10 × radius 4, 160 × radius 5, 32 × radius 6, 179 × radius 7, and 19 × radius 9, with zero non-emitters and zero same-tile emitters. - All 21 Everlink choices from #83 remain explicit `ffd080` map-local colors on their visible fixtures; the remaining Everlink lanterns inherit the reviewed form defaults. - Directions, animations, coordinates, obstruction, exits/tile links, darkness/time fields, names, plural names, and every unrelated map field/object remain unchanged. ## Validation - `python3 tools/validate.py` — pass at `7e750593b`: 167 tests; 1,355 archetypes and 3,651 maps parsed losslessly; schema, catalog, contracts, syntax prototypes, resource collection, and isolated runtime collection pass - `python3 tools/world_content_audit.py lights --check` — pass: 138 archetypes, 10 artifacts, 11,848 instances across 643 maps; 7,283 explicit colors, 4,713 intentional neutral, zero unreviewed - `python3 -m tools.content_catalog validate` — pass: 8,105 definitions and 68,444 references - independent semantic transformation replay — pass for all 46 edited maps: exactly 239 helper removals, five direct-plus-helper cases, exact radius/color transfers, and no unrelated semantic difference - fixture reconstruction — 285 standing plus 117 wall fixtures across 66 maps; all 402 `ffd080`, exact radius distribution, zero non-emitters, zero same-tile emitters - exact-head Classic build/runtime collection — server, client, and integrated binaries built from content `7e750593b`; worldmaker and the `lighting-radiance-night` scenario provisioner loaded the collected content successfully - exact-head Classic offline renderer — colored and radial-light smooth/discrete replays produced their four expected pixel hashes (`1effb0d3…`, `8dec2b87…`, `bde854a5…`, `76247d66…`) - `git diff --check` — pass; worktree clean - latest-head hosted checks — Content validation, Ubuntu/Windows syntax, Conventional PR title, Analyze, and CodeQL all pass at `7e750593b` ## Review Three complete base-to-head review rounds covered requirements, every changed file, map semantics, lossless syntax, fixture inheritance, overlap collapse, Everlink sequencing, review-ledger truthfulness, data integrity, compatibility, security, and operations. - The merge-resolution pass found four Everlink `light_color` fields outside their lantern blocks; `d2b9d69d5` moved them into the correct objects, and all eight Everlink maps plus the complete validator pass. - The post-merge semantic pass found eight Everlink rationales that still described removed or formerly dark helpers; `7e750593b` now describes the actual fixture-owned state without changing semantic hashes. - The final post-fix whole-diff pass found zero known actionable findings and reopened neither finding. ## Runtime boundary The issue-owned resources are preserved as profile/scenario `issue-89-magic-lantern`, state `scenario-issue-89-magic-lantern`, Classic `8ba8757a34e8`, resources `266ac693e556`, and content `7e750593b`. The supervised topology reached exact-head build, collection, world generation, and scenario provisioning, then Classic exited before readiness because it rejects the wrapper-owned `/proc/self/fd/...` asset directory. That independent integration defect is tracked by atrinik/classic#318. The failed topology was inspected with wrapper `ps`/bounded logs and stopped with all leases released; scenario state and diagnostic record are preserved. The issue's evidence-policy amendment makes renderer diagnostics optional and non-gating. Exact-head deterministic smooth/discrete renderer replays pass, and the 21 preserved Everlink footprints retain the all-map smooth/discrete evidence from #202. Replacement integrated build/runtime adapters remain unavailable under atrinik/atrinik#266, atrinik/atrinik#269, and atrinik/atrinik#270, so this PR does not claim replacement runtime rendering.
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
ffd080illumination across 66 mapsCloses #89.
Coordinates
main@b0ccf98ed5e65d3d1a66f6dfce44c19122b26eeffeat/89-magic-lantern-illumination-main@f5f25c35ec51321a6883c186d1e891676702d103/workspaces/atrinik/workspace/worktrees/content/issue-89-magic-lantern-main526315336 feat(lighting): consolidate magic lantern illumination;3580a3a8e docs(lighting): clarify review provenance;f5f25c35e docs(lighting): align Everlink fixture rationalesmainhistory without rebasing or force-pushing.Authored behavior
lantern_magic.131inherits radius 5;lantern2_magic.131inherits radius 7; both retainffd080.ffd080map-local colors on their visible fixtures; the remaining Everlink lanterns inherit the reviewed form defaults.Validation
python3 tools/validate.py— pass atf5f25c35e: 167 tests; 1,355 archetypes and 3,651 maps parsed losslessly; schema, catalog, contracts, syntax prototypes, resource collection, and isolated runtime collection passpython3 tools/world_content_audit.py lights --check— pass: 138 archetypes, 10 artifacts, 11,848 instances across 643 maps; 7,283 explicit colors, 4,713 intentional neutral, zero unreviewedpython3 -m tools.content_catalog validate— pass: 8,105 definitions and 68,444 referencesffd080, exact radius distribution, zero non-emitters, zero same-tile emittersf5f25c35e; worldmaker and thelighting-radiance-nightscenario provisioner loaded the collected content successfully1effb0d3…,8dec2b87…,bde854a5…,76247d66…)git diff --check— pass; worktree cleanf5f25c35eReview
Three complete base-to-head review rounds covered requirements, every changed file, map semantics, lossless syntax, fixture inheritance, overlap collapse, Everlink sequencing, review-ledger truthfulness, data integrity, compatibility, security, and operations.
light_colorfields outside their lantern blocks;8c4fe2ea5moved them into the correct objects, and all eight Everlink maps plus the complete validator pass.f5f25c35enow describes the actual fixture-owned state without changing semantic hashes.Runtime boundary
The issue-owned resources are preserved as profile/scenario
issue-89-magic-lantern, statescenario-issue-89-magic-lantern, Classic8ba8757a34e8, resources266ac693e556, and contentf5f25c35e.The supervised topology reached exact-head build, collection, world generation, and scenario provisioning, then Classic exited before readiness because it rejects the wrapper-owned
/proc/self/fd/...asset directory. That independent integration defect is tracked by atrinik/classic#318. The failed topology was inspected with wrapperps/bounded logs and stopped with all leases released; scenario state and diagnostic record are preserved. The issue's evidence-policy amendment makes renderer diagnostics optional and non-gating. Exact-head deterministic smooth/discrete renderer replays pass, and the 21 preserved Everlink footprints retain the all-map smooth/discrete evidence from #202.Replacement integrated build/runtime adapters remain unavailable under atrinik/atrinik#266, atrinik/atrinik#269, and atrinik/atrinik#270, so this PR does not claim replacement runtime rendering.