Skip to content

fix(maps): light displayed crystal balls - #120

Merged
zoeyrose merged 1 commit into
1.xfrom
feat/96-crystal-ball-lights-1x
Aug 12, 2026
Merged

zoeyrose merged 1 commit into
1.xfrom
feat/96-crystal-ball-lights-1x

Conversation

@zoeyrose

@zoeyrose zoeyrose commented Aug 11, 2026 •

Copy link
Copy Markdown
Member

Summary

  • make the Asteria fortune-teller and Marigold crystal balls fixed map-local displays
  • give each display a radius-1 4060ff focal light while keeping the collectible base archetype non-emitting
  • reconcile the Marigold review with the already merged radius-1 pale-gold power crystal

Related issue: #96. This is the separate Classic-compatible 1.x delivery and is intentionally non-closing. Its canonical main companion will be built only after this PR is squash-merged.

Reconciliation

Acceptance result

  • the crystal ball at Asteria (11, 18) and Marigold (22, 9) each gain only no_pick 1, glow_radius 1, and light_color 4060ff
  • the shared crystal_ball archetype remains non-emitting, preventing passive carried light for future collectible instances
  • both authored placements are confirmed fixed display scenery; there are no other map placements
  • Marigold’s radius-1 blue display and radius-1 pale-gold power crystal remain subordinate to the stronger neutral helper lighting without stacked or clipped focal color
  • animation, value, type, names, placement, scripts, NPC context, and every unrelated gameplay field are preserved

Current inventory

  • 104 reviewed archetypes and 10 reviewed artifacts
  • 11,447 effective light instances across 632 maps
  • 5,754 explicit colors and 5,807 intentional neutral emitters
  • zero unreviewed emitters

Evidence policy

  • no maps/light-source-evidence/**, manifest, proof scene, capture tooling/test, or capture-bound views/evidence_focus field is restored
  • optional renderer diagnostics remain generated only under ignored build/ or deployment-owned output

Validation

  • python3 tools/world_content_audit.py lights --check — passed with the inventory above
  • python3 tools/validate.py — 131 tests plus lossless content, schema, catalog, contracts, syntax prototypes, licensing, runtime collection, and both release archives passed
  • python3 tools/check_pr_title.py --base 1.x 'fix(maps): light displayed crystal balls'
  • git diff --check
  • jq empty maps/light-source-review.json
  • focused whole-diff review — exactly six intended map-local field additions across two maps; no archetype or unrelated gameplay changes
  • placement audit — exactly two authored crystal_ball placements, both reviewed displays

Merge order

This is the first half of the #96 release-line pair. Squash-merge this PR first. Then re-query live 1.x and main tips before constructing and validating the canonical main companion. Do not manually close #96 at this gate.

@zoeyrose
zoeyrose marked this pull request as ready for review August 11, 2026 09:48
@zoeyrose zoeyrose moved this to Review in Atrinik work Aug 11, 2026
zoeyrose added a commit that referenced this pull request Aug 12, 2026
## Summary

- give the base power crystal a restrained radius-1 `fff0c0` glow
inherited by all six artifact variants
- preserve the immutable Classic lifecycle record as source-behavior
provenance without claiming replacement-runtime execution
- extend the cumulative `main` semantic ledger while retaining
replacement-specific guidance and existing `classic_views`

Closes #95.

This is the canonical `main` companion to merged `1.x` PR #119
(`371845c879955cb6910e2ac86b8ecf7ce7fca65e`).

## Acceptance result

- `power_crystal` gains only `glow_radius 1` and `light_color fff0c0`
- `mana_crystal_25`, `mana_crystal_50`, `mana_crystal_100`, and
`gandyld_crystal_1` through `_3` inherit one non-amplifying radius-1
source
- the Marigold display remains composed beside stronger neutral helper
lighting and the currently non-emitting crystal ball
- charge capacity, artifact identity, quest upgrades, merchant behavior,
value, weight, face, animation, and every other gameplay field remain
unchanged
- the archetype and 72-line lifecycle record match merged `1.x`
byte-for-byte
- all seven source/artifact semantic digests and all four affected map
digests match merged `1.x`
- the audit guide remains intentionally `main`-native and preserves the
replacement runtime boundary

## Current inventory

- 104 reviewed archetypes and 10 reviewed artifacts
- 11,445 effective light instances across 632 maps
- 5,752 explicit colors and 5,807 intentional neutral emitters
- zero unreviewed emitters

## Evidence policy

- no `maps/light-source-evidence/**`, manifest, proof scene, capture
tooling/test, or capture-bound `views`/`evidence_focus` field is
restored
- existing `classic_views` remain unchanged as line-native historical
provenance
- optional renderer diagnostics remain generated only under ignored
`build/` or deployment-owned output
- replacement validation proves authored/schema/catalog/semantic
compatibility without claiming integrated runtime rendering

## Coordinates

- base: `main@a14e70c`
- head: `9d2f579b963b9726a7f3b62d9628fe09e8ea34cb`
- commits: exactly one
- changed paths: exactly four — `power_crystal.arc`, two review
documents, and `maps/light-source-review.json`

## Validation

- `python3 tools/world_content_audit.py lights --check` — passed with
the inventory above
- `python3 tools/validate.py` — 129 tests plus lossless content, schema,
catalog, contracts, syntax prototypes, licensing, and runtime collection
passed
- `git diff --check`
- `jq empty maps/light-source-review.json`
- `git ls-files 'maps/light-source-evidence/*'` — empty
- focused whole-diff review — exactly two gameplay-field additions, no
map edits, and no changes to `views`, `evidence_focus`, or
`classic_views`
- cross-line comparison — archetype, lifecycle record, seven
source/artifact digests, and four affected map digests match merged
`1.x`

## Merge order

Merge only after PR #119, which is already squash-merged to `1.x` as
`371845c879955cb6910e2ac86b8ecf7ce7fca65e`. This is the second and final
merge for #95 before proceeding to #96 / PR #120.
@zoeyrose
zoeyrose force-pushed the feat/96-crystal-ball-lights-1x branch from 3fc252c to 08dbc33 Compare August 12, 2026 00:13
@zoeyrose zoeyrose changed the title feat(maps): light displayed crystal balls fix(maps): light displayed crystal balls Aug 12, 2026
@zoeyrose
zoeyrose merged commit ca3733e into 1.x Aug 12, 2026
5 checks passed
@zoeyrose
zoeyrose deleted the feat/96-crystal-ball-lights-1x branch August 12, 2026 00:19
@github-project-automation github-project-automation Bot moved this from Review to Done in Atrinik work Aug 12, 2026
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.8.8 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

- make the Asteria fortune-teller and Marigold crystal balls fixed
map-local displays
- give each display a radius-1 `4060ff` focal light while keeping the
collectible base archetype non-emitting
- extend the cumulative `main` semantic review for the combined Marigold
blue/pale-gold composition while retaining existing `classic_views`

Closes #96.

This is the canonical `main` companion to merged `1.x` PR #120
(`ca3733ef1892a973402d60df173d3a12e8195e75`).

## Acceptance result

- the crystal ball at Asteria `(11, 18)` and Marigold `(22, 9)` each
gain only `no_pick 1`, `glow_radius 1`, and `light_color 4060ff`
- the shared `crystal_ball` archetype remains non-emitting, preventing
passive carried light for future collectible instances
- both authored placements are confirmed fixed display scenery; there
are no other map placements
- Marigold’s radius-1 blue display and radius-1 pale-gold power crystal
remain subordinate to stronger neutral helper lighting without stacked
or clipped focal color
- animation, value, type, names, placement, scripts, NPC context, and
every unrelated gameplay field are preserved
- both authored maps and both resulting semantic digests match merged
`1.x` exactly

## Current inventory

- 104 reviewed archetypes and 10 reviewed artifacts
- 11,447 effective light instances across 632 maps
- 5,754 explicit colors and 5,807 intentional neutral emitters
- zero unreviewed emitters

## Evidence policy

- no `maps/light-source-evidence/**`, manifest, proof scene, capture
tooling/test, or capture-bound `views`/`evidence_focus` field is
restored
- existing `classic_views` remain unchanged as line-native historical
provenance
- optional renderer diagnostics remain generated only under ignored
`build/` or deployment-owned output
- replacement validation proves authored/schema/catalog/semantic
compatibility without claiming integrated runtime rendering

## Coordinates

- base: `main@81d71a5`
- head: `2c09a5f67c5ec4809fef9c351374c86263c5f507`
- commits: exactly one
- changed paths: exactly three — `maps/light-source-review.json` and the
two display maps

## Validation

- `python3 tools/world_content_audit.py lights --check` — passed with
the inventory above
- `python3 tools/validate.py` — 129 tests plus lossless content, schema,
catalog, contracts, syntax prototypes, licensing, and runtime collection
passed
- `git diff --check`
- `jq empty maps/light-source-review.json`
- `git ls-files 'maps/light-source-evidence/*'` — empty
- focused whole-diff review — exactly six intended map-local field
additions across two maps; no archetype or unrelated gameplay changes;
no changes to `views`, `evidence_focus`, or `classic_views`
- cross-line comparison — both authored maps and both affected semantic
digests match merged `1.x`

## Merge order

Merge only after PR #120, which is already squash-merged to `1.x` as
`ca3733ef1892a973402d60df173d3a12e8195e75`. This is the second and final
merge for #96 before proceeding to #86.
zoeyrose added a commit that referenced this pull request Aug 23, 2026
## Summary

- give the base power crystal a restrained radius-1 `fff0c0` glow
inherited by all six artifact variants
- preserve the immutable Classic lifecycle record as source-behavior
provenance without claiming replacement-runtime execution
- extend the cumulative `main` semantic ledger while retaining
replacement-specific guidance and existing `classic_views`

Closes #95.

This is the canonical `main` companion to merged `1.x` PR #119
(`c1f3e01d3661267732e1b2c57a2e9a53aa0f3167`).

## Acceptance result

- `power_crystal` gains only `glow_radius 1` and `light_color fff0c0`
- `mana_crystal_25`, `mana_crystal_50`, `mana_crystal_100`, and
`gandyld_crystal_1` through `_3` inherit one non-amplifying radius-1
source
- the Marigold display remains composed beside stronger neutral helper
lighting and the currently non-emitting crystal ball
- charge capacity, artifact identity, quest upgrades, merchant behavior,
value, weight, face, animation, and every other gameplay field remain
unchanged
- the archetype and 72-line lifecycle record match merged `1.x`
byte-for-byte
- all seven source/artifact semantic digests and all four affected map
digests match merged `1.x`
- the audit guide remains intentionally `main`-native and preserves the
replacement runtime boundary

## Current inventory

- 104 reviewed archetypes and 10 reviewed artifacts
- 11,445 effective light instances across 632 maps
- 5,752 explicit colors and 5,807 intentional neutral emitters
- zero unreviewed emitters

## Evidence policy

- no `maps/light-source-evidence/**`, manifest, proof scene, capture
tooling/test, or capture-bound `views`/`evidence_focus` field is
restored
- existing `classic_views` remain unchanged as line-native historical
provenance
- optional renderer diagnostics remain generated only under ignored
`build/` or deployment-owned output
- replacement validation proves authored/schema/catalog/semantic
compatibility without claiming integrated runtime rendering

## Coordinates

- base: `main@07fd8dd216fb40e08a9dcd4174d5658a5264a845`
- head: `09d2688f71afaa0cd0b791c6e8f5e6f7f7fbca7f`
- commits: exactly one
- changed paths: exactly four — `power_crystal.arc`, two review
documents, and `maps/light-source-review.json`

## Validation

- `python3 tools/world_content_audit.py lights --check` — passed with
the inventory above
- `python3 tools/validate.py` — 129 tests plus lossless content, schema,
catalog, contracts, syntax prototypes, licensing, and runtime collection
passed
- `git diff --check`
- `jq empty maps/light-source-review.json`
- `git ls-files 'maps/light-source-evidence/*'` — empty
- focused whole-diff review — exactly two gameplay-field additions, no
map edits, and no changes to `views`, `evidence_focus`, or
`classic_views`
- cross-line comparison — archetype, lifecycle record, seven
source/artifact digests, and four affected map digests match merged
`1.x`

## Merge order

Merge only after PR #119, which is already squash-merged to `1.x` as
`c1f3e01d3661267732e1b2c57a2e9a53aa0f3167`. This is the second and final
merge for #95 before proceeding to #96 / PR #120.
zoeyrose added a commit that referenced this pull request Aug 23, 2026
## Summary

- make the Asteria fortune-teller and Marigold crystal balls fixed
map-local displays
- give each display a radius-1 `4060ff` focal light while keeping the
collectible base archetype non-emitting
- extend the cumulative `main` semantic review for the combined Marigold
blue/pale-gold composition while retaining existing `classic_views`

Closes #96.

This is the canonical `main` companion to merged `1.x` PR #120
(`d28bf0ea0bced0bd962bd45869d92d74412f7a62`).

## Acceptance result

- the crystal ball at Asteria `(11, 18)` and Marigold `(22, 9)` each
gain only `no_pick 1`, `glow_radius 1`, and `light_color 4060ff`
- the shared `crystal_ball` archetype remains non-emitting, preventing
passive carried light for future collectible instances
- both authored placements are confirmed fixed display scenery; there
are no other map placements
- Marigold’s radius-1 blue display and radius-1 pale-gold power crystal
remain subordinate to stronger neutral helper lighting without stacked
or clipped focal color
- animation, value, type, names, placement, scripts, NPC context, and
every unrelated gameplay field are preserved
- both authored maps and both resulting semantic digests match merged
`1.x` exactly

## Current inventory

- 104 reviewed archetypes and 10 reviewed artifacts
- 11,447 effective light instances across 632 maps
- 5,754 explicit colors and 5,807 intentional neutral emitters
- zero unreviewed emitters

## Evidence policy

- no `maps/light-source-evidence/**`, manifest, proof scene, capture
tooling/test, or capture-bound `views`/`evidence_focus` field is
restored
- existing `classic_views` remain unchanged as line-native historical
provenance
- optional renderer diagnostics remain generated only under ignored
`build/` or deployment-owned output
- replacement validation proves authored/schema/catalog/semantic
compatibility without claiming integrated runtime rendering

## Coordinates

- base: `main@4ac6d1a6e093b581f92d06563a224d175326647b`
- head: `394b897f855b926ed7e951b061a371c57275c465`
- commits: exactly one
- changed paths: exactly three — `maps/light-source-review.json` and the
two display maps

## Validation

- `python3 tools/world_content_audit.py lights --check` — passed with
the inventory above
- `python3 tools/validate.py` — 129 tests plus lossless content, schema,
catalog, contracts, syntax prototypes, licensing, and runtime collection
passed
- `git diff --check`
- `jq empty maps/light-source-review.json`
- `git ls-files 'maps/light-source-evidence/*'` — empty
- focused whole-diff review — exactly six intended map-local field
additions across two maps; no archetype or unrelated gameplay changes;
no changes to `views`, `evidence_focus`, or `classic_views`
- cross-line comparison — both authored maps and both affected semantic
digests match merged `1.x`

## Merge order

Merge only after PR #120, which is already squash-merged to `1.x` as
`d28bf0ea0bced0bd962bd45869d92d74412f7a62`. This is the second and final
merge for #96 before proceeding to #86.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant