Skip to content

feat(lighting): consolidate magic lantern illumination - #203

Merged
zoeyrose merged 5 commits into
mainfrom
feat/89-magic-lantern-illumination-main
Aug 14, 2026
Merged

zoeyrose merged 5 commits into
mainfrom
feat/89-magic-lantern-illumination-main

Conversation

@zoeyrose

@zoeyrose zoeyrose commented Aug 13, 2026 •

Copy link
Copy Markdown
Member

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@b0ccf98ed5e65d3d1a66f6dfce44c19122b26eef
  • Head: feat/89-magic-lantern-illumination-main@f5f25c35ec51321a6883c186d1e891676702d103
  • Worktree: /workspaces/atrinik/workspace/worktrees/content/issue-89-magic-lantern-main
  • Feature commits: 526315336 feat(lighting): consolidate magic lantern illumination; 3580a3a8e docs(lighting): clarify review provenance; f5f25c35e 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 feat(maps): add localized lantern and garden colors across Everlink #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 f5f25c35e: 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 f5f25c35e; 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 f5f25c35e

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; 8c4fe2ea5 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; f5f25c35e 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 f5f25c35e.

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.

@zoeyrose zoeyrose moved this to Review in Atrinik work Aug 13, 2026
@zoeyrose
zoeyrose marked this pull request as ready for review August 14, 2026 18:48
@zoeyrose
zoeyrose merged commit b488958 into main Aug 14, 2026
7 checks passed
@zoeyrose
zoeyrose deleted the feat/89-magic-lantern-illumination-main branch August 14, 2026 19:25
@github-project-automation github-project-automation Bot moved this from Review to Done in Atrinik work Aug 14, 2026
@github-actions

Copy link
Copy Markdown

🎉 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

feat(lighting): consolidate magic-lantern illumination onto visible fixtures

1 participant