Skip to content

feat(lighting): port reviewed light-source colors - #124

Merged
zoeyrose merged 4 commits into
mainfrom
feat/66-colored-lighting-main
Aug 11, 2026
Merged

zoeyrose merged 4 commits into
mainfrom
feat/66-colored-lighting-main

Conversation

@zoeyrose

@zoeyrose zoeyrose commented Aug 11, 2026 •

Copy link
Copy Markdown
Member

Summary

  • add exact six-digit object.light_color schema, generated metadata, editor projection, catalog/core coverage, and representative torch/forcefield examples from feat(lighting): author colored light sources #64
  • carry the completed chore(maps): audit authored light-source colors #65 reviewed palette across 97 archetypes, 4 artifacts, and 11,393 effective instances without changing radii, placement, obstruction, or gameplay visibility
  • add a deterministic main-line semantic ledger that resolves inheritance, artifacts, map overrides, invisible sources, and toggle-active states and fails on new, stale, or changed review rows
  • preserve the pinned Classic art-direction decisions from feat(lighting): audit effective light-source colors #67 while excluding Classic screenshots, capture manifests, proof maps, and runtime-evidence tooling

Closes #66.

Source work: #64 and #67.

Coordinates

  • Base: main at 875ef6f7a44c1b8d9b864137eda321a3d29526e5
  • Head: feat/66-colored-lighting-main at c7c8c3d5c227a9dd7eaf98584209cbe32a124074
  • Worktree: /workspaces/atrinik/workspace/worktrees/content/issue-66-colored-lighting-main
  • Profile: issue-66-colored-lighting-main
  • Commits:
    • 8f60041dee1b4b0295d70df5c929e4570527869e feat(lighting): author colored light sources
    • c78993f29056cb3aa8dd9660812add6589379f98 test(lighting): validate Python RGB bounds
    • ddc733c2e7d888f67e793c48d60aa7816af45bd5 fix(lighting): complete editor and Python coverage
    • c7c8c3d5c227a9dd7eaf98584209cbe32a124074 feat(lighting): port reviewed light-source palette

The fourth #64 source commit, 2d7c68b178d6a3d5b94d6c2bedfa0c6fa6e4c77c, was already present identically on main and therefore produced an empty port.

Validation

Passed on committed head c7c8c3d5c227a9dd7eaf98584209cbe32a124074:

python3 tools/validate.py
python3 tools/world_content_audit.py lights --check
python3 -m json.tool maps/light-source-review.json
git diff --check 875ef6f7a44c1b8d9b864137eda321a3d29526e5...HEAD
  • 119 unit tests passed
  • 3,559 canonical archetype plurals remain complete
  • 1,354 archetypes and 3,650 maps pass lossless validation
  • light audit: 97 archetypes, 4 artifacts, 11,393 instances across 625 maps; 5,558 explicit colors, 5,936 intentional neutral, zero unreviewed
  • 336 generated schema fields are current
  • catalog: 8,098 definitions and 68,563 references
  • grammar contracts, authored-syntax round trips, resource collection, licensing, provenance, and isolated runtime packaging passed

Replacement capability boundary

The exact profile and topology inspection commands are:

cd /workspaces/atrinik
./atrinik profile show issue-66-colored-lighting-main --json
./atrinik topology show issue-66-colored-lighting-main --state default --json
cd /workspaces/atrinik/workspace/worktrees/content/issue-66-colored-lighting-main
python3 tools/world_content_audit.py lights --check
python3 tools/validate.py

The profile resolves content exactly to this worktree and head. The replacement stack does not yet provide integrated content build, runtime, or renderer adapters; those boundaries are tracked by atrinik/atrinik#266, atrinik/atrinik#269, and atrinik/atrinik#270. The main-line checks therefore prove authored/schema/catalog/semantic compatibility without claiming visual activation, and Classic is not substituted as replacement verification.

No topology or scenario was created or started. There is nothing to shut down or clean up; preserve the profile, worktree, and ignored review report while this PR is open.

Review

Three independent fresh-context reviews plus a primary complete whole-diff pass found zero actionable findings on exact head c7c8c3d5c227a9dd7eaf98584209cbe32a124074.

  • all 151 authored path-and-RGB additions exactly match the union of feat(lighting): author colored light sources #64 and feat(lighting): audit effective light-source colors #67, with none missing or extra
  • all 19 palette entries, 97 archetypes, 4 artifacts, 120 color suppliers, 14 toggle states, 7 contextual checks, and 625 map decisions/rationales are preserved
  • 24 regenerated semantic hashes are limited to the 10 blue/red forcefield definitions, their 10 supplier rows, and 4 dependent maps whose main-line source locations differ because of pre-existing explicit plurals
  • every authored hunk is a light_color addition; no radius, placement, obstruction, visibility, binary, mode, or unrelated release-line change is present
  • all four latest-head GitHub checks pass, and there are no review comments or threads

Carry the completed 1.x semantic audit from #67 while preserving the replacement runtime boundary and excluding Classic capture artifacts.

Source review: 958b557
@zoeyrose
zoeyrose marked this pull request as ready for review August 11, 2026 15:40
@zoeyrose
zoeyrose merged commit fde585e into main Aug 11, 2026
5 checks passed
@zoeyrose
zoeyrose deleted the feat/66-colored-lighting-main branch August 11, 2026 15:42
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 2.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

zoeyrose added a commit that referenced this pull request Aug 11, 2026
## Summary

- delete all 50 generated light-source contact-sheet PNGs and their
capture manifest from `1.x`
- retire the screenshot packer, proof scene, image/hash validation, and
capture-only tests
- preserve the semantic palette, source/map rationales and digests,
contextual decisions, complete emitter inventory, and zero-unreviewed
gate as schema v5
- keep future diagnostic renders under ignored build/deployment outputs
rather than content Git

Relates to #126. This sole `1.x` PR intentionally has no closing
keyword; the issue remains open for manual closure after merge.

## Release-line assessment

`main` is an evidence-backed no-op at
`fde585e2dce52915704fa49608c07e8889f77bf5`: `git ls-files
'maps/light-source-evidence/*.png'` returns no paths, and merged PR #124
already omitted the Classic capture manifest, proof scene, capture
tooling, and screenshots while retaining the semantic ledger. The
remaining artifact surface was Classic-only on `1.x`, so no synthetic
`main` change is needed.

## Coordinates

- base: `1.x` at `bf460d92ce8e42cb169cdff57c99638df2fd4d95`
- head: `chore/126-remove-light-evidence-1x` at
`dd4716577c22f9a5e4abef15327d7edc14f57a91`
- worktree:
`/workspaces/atrinik/workspace/worktrees/content-1x/issue-126-light-evidence-1x`
- commit: `dd4716577 chore(lighting): retire committed render evidence`

## Validation

- `python3 tools/world_content_audit.py lights --check` — 97 archetypes,
4 artifacts, 11,393 map instances across 625 maps; 5,579 explicit
colors, 5,915 intentional neutral, zero unreviewed
- `python3 tools/validate.py` — 119 tests plus lossless core, semantic
light audit, schema, catalog, contracts, authored syntax, resource
collection, and source/runtime release archives passed
- `python3 -m compileall -q tools`
- `git diff --check`
- `git ls-files 'maps/light-source-evidence/*.png'` — no paths on both
`main` and this `1.x` head

## Verification and runtime applicability

Interactive runtime verification is not applicable: this change removes
generated review artifacts and capture-only tooling without modifying
any archetype, map, light radius/color, activation behavior, or packaged
runtime input. Verify the final head with:

```sh
python3 tools/world_content_audit.py lights --check
python3 tools/validate.py
git diff --check
git ls-files 'maps/light-source-evidence/*.png'
```

The last command must print nothing. Optional future imagery belongs
below ignored `build/` or pipeline-owned output under content #4,
content #125, and
[atrinik/website#34](atrinik/website#34); it
is not a merge or release prerequisite. Keep this worktree and its local
review report while the PR is open. Any later cleanup is a separate
preview-first request beginning with `./atrinik cleanup --dry-run
--json`.
zoeyrose added a commit that referenced this pull request Aug 11, 2026
## Summary

- make `brazier_lit`, `fire_cauld.131`, `fireplace_left`, and
`fireplace_right` emit reviewed `ff6030` firelight from their visible
roots
- preserve intentional radius-2 through radius-9 compositions while
removing all 43 redundant same-tile neutral helper sources
- retain and explicitly review the art-aligned Asteria
amber-sconce/cauldron co-location
- reconcile the branch to the current `1.x` tip as exactly 3 authored
archetype files, 20 authored maps, and the schema-v5 semantic ledger

Linked issue: #91. Canonical `main` companion: #129.

## Prerequisite and review-policy status

- the `main` lighting prerequisite in #66 is complete through merged PR
#124
- #126 is complete through merged PR #127; committed renderer captures
and capture bindings remain retired
- diagnostic rendering may be used only under ignored `build/` or
deployment output and is not a merge or release gate
- the apartment scenario remains maintainer-attested, and its newer
`world_4_85` semantic-ledger record is preserved exactly

The effective diff contains no evidence PNG, capture manifest, proof
scene, capture tooling/test, capture-bound `views`/`evidence_focus`
field, or render-binding documentation.

## Coordinates

- base: `1.x@3a47443`
- head: `9312f02ef0884612d7bf4ed8d785cd48fc2b11a9`
- remote branch: `feat/91-firelight-fixtures-1x`
- local reconciliation worktree:
`/workspaces/atrinik/workspace/worktrees/content-1x/pr115-current`

## Validation

- `python3 tools/world_content_audit.py lights --check` — 101
archetypes, 4 artifacts, 11,444 instances across 632 maps; 5,677
explicit colors, 5,872 intentional neutral, zero unreviewed
- `python3 tools/validate.py` — 129 tests passed; lossless core
validated 1,355 archetypes and 3,651 maps; schema, catalog, contracts,
syntax prototypes, resource collection, and both `1.8.2` release
archives passed
- content catalog — 8,105 definitions and 68,588 references
- effective branch diff — 3 archetype files, 20 authored maps, and
`maps/light-source-review.json`
- focused diff audit — all 43 redundant helpers transferred or removed,
18 intentional map-local radii preserved, and four root defaults added
- prohibited-path/field audit — no retired evidence or capture paths and
no `views`/`evidence_focus` fields
- `git diff --check`

## Review outcome

Two leaf review passes and a cumulative program review found no
actionable findings. The visible fixture roots own the firelight,
existing larger and smaller map-local footprints remain deliberate,
multipart children and off variants remain dark, and the reviewed
Asteria co-location remains represented in the semantic ledger. The
branch has one commit directly atop the current `1.x` tip.
zoeyrose added a commit that referenced this pull request Aug 23, 2026
## Summary

- add exact six-digit `object.light_color` schema, generated metadata,
editor projection, catalog/core coverage, and representative
torch/forcefield examples from #64
- carry the completed #65 reviewed palette across 97 archetypes, 4
artifacts, and 11,393 effective instances without changing radii,
placement, obstruction, or gameplay visibility
- add a deterministic main-line semantic ledger that resolves
inheritance, artifacts, map overrides, invisible sources, and
toggle-active states and fails on new, stale, or changed review rows
- preserve the pinned Classic art-direction decisions from #67 while
excluding Classic screenshots, capture manifests, proof maps, and
runtime-evidence tooling

Closes #66.

Source work: #64 and #67.

- #64 commits carried: `b8b9cc3dcb8e376decd9bc83ea87e3238428515a`,
`7ca5279e22424dc026f0b10830e8fc94f3161336`, and
`6c7ef2b46ced053b4764e98cf6ac66ff0a90ac2f`
- #67 completed audit batch carried from reviewed head
`cdc6c57b0ef3d4739c99e846eb2054e4eafdce26`

## Coordinates

- Base: `main` at `6394de2e386bdace28285b3ccfceca4149a15e65`
- Head: `feat/66-colored-lighting-main` at
`df387a752992880423f7eed7633a03a0fc71d5e0`
- Worktree:
`/workspaces/atrinik/workspace/worktrees/content/issue-66-colored-lighting-main`
- Profile: `issue-66-colored-lighting-main`
- Commits:
- `313dd0f4c2cac72adedf2ab6cdc38f40c861ba39 feat(lighting): author
colored light sources`
- `9f55a00c1feff57d242bdf88c2081695e01956cc test(lighting): validate
Python RGB bounds`
- `6459b7808b98266ce9d0a5d9ec3c6904c7e30e0a fix(lighting): complete
editor and Python coverage`
- `df387a752992880423f7eed7633a03a0fc71d5e0 feat(lighting): port
reviewed light-source palette`

The fourth #64 source commit,
`0a2d4538f59234a75d59c364ec28b87d16172b6a`, was already present
identically on `main` and therefore produced an empty port.

## Validation

Passed on committed head `df387a752992880423f7eed7633a03a0fc71d5e0`:

```text
python3 tools/validate.py
python3 tools/world_content_audit.py lights --check
python3 -m json.tool maps/light-source-review.json
git diff --check 6394de2...HEAD
```

- 119 unit tests passed
- 3,559 canonical archetype plurals remain complete
- 1,354 archetypes and 3,650 maps pass lossless validation
- light audit: 97 archetypes, 4 artifacts, 11,393 instances across 625
maps; 5,558 explicit colors, 5,936 intentional neutral, zero unreviewed
- 336 generated schema fields are current
- catalog: 8,098 definitions and 68,563 references
- grammar contracts, authored-syntax round trips, resource collection,
licensing, provenance, and isolated runtime packaging passed

## Replacement capability boundary

The exact profile and topology inspection commands are:

```sh
cd /workspaces/atrinik
./atrinik profile show issue-66-colored-lighting-main --json
./atrinik topology show issue-66-colored-lighting-main --state default --json
cd /workspaces/atrinik/workspace/worktrees/content/issue-66-colored-lighting-main
python3 tools/world_content_audit.py lights --check
python3 tools/validate.py
```

The profile resolves content exactly to this worktree and head. The
replacement stack does not yet provide integrated content build,
runtime, or renderer adapters; those boundaries are tracked by
atrinik/atrinik#266, atrinik/atrinik#269, and atrinik/atrinik#270. The
main-line checks therefore prove authored/schema/catalog/semantic
compatibility without claiming visual activation, and Classic is not
substituted as replacement verification.

No topology or scenario was created or started. There is nothing to shut
down or clean up; preserve the profile, worktree, and ignored review
report while this PR is open.

## Review

Three independent fresh-context reviews plus a primary complete
whole-diff pass found zero actionable findings on exact head
`df387a752992880423f7eed7633a03a0fc71d5e0`.

- all 151 authored path-and-RGB additions exactly match the union of #64
and #67, with none missing or extra
- all 19 palette entries, 97 archetypes, 4 artifacts, 120 color
suppliers, 14 toggle states, 7 contextual checks, and 625 map
decisions/rationales are preserved
- 24 regenerated semantic hashes are limited to the 10 blue/red
forcefield definitions, their 10 supplier rows, and 4 dependent maps
whose main-line source locations differ because of pre-existing explicit
plurals
- every authored hunk is a `light_color` addition; no radius, placement,
obstruction, visibility, binary, mode, or unrelated release-line change
is present
- all four latest-head GitHub checks pass, and there are no review
comments or threads
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(lighting): merge colored light content into main

1 participant