Skip to content

feat(content)!: migrate celestial-v1 sky exposure - #232

Merged
zoeyrose merged 2 commits into
mainfrom
scope/issue-181-celestial-content/content
Aug 16, 2026
Merged

feat(content)!: migrate celestial-v1 sky exposure#232
zoeyrose merged 2 commits into
mainfrom
scope/issue-181-celestial-content/content

Conversation

@zoeyrose

Copy link
Copy Markdown
Member

Closes #181

Coordinate

  • Repository/branch: atrinik/content@main
  • Exact content commit: 2ab17667395451d196b1f6e566f770bfec656baa
  • Predecessor source commit: 2a033cced813bdb191b8aad8a52effe010eb5f98
  • Isolated scope/profile: issue-181-celestial-content / scope-issue-181-celestial-content
  • No 1.x branch or checkout was created, modified, validated, or published.

Authored changes

  • Migrated 3,639 maps to celestial_schema 1 with explicit absolute topology, reciprocal boundaries, regions, and sky disposition.
  • Added the root world celestial profile: global 1/1 solar, season, and lunar rates; 672-game-day lunar period; day/night/moon/starlight colors; and brightness controls.
  • Added inherited, scaled, and fixed fixture child regions covering independent solar/lunar rates, epochs, phases, colors, and brightness, including zero/dim/bright values.
  • Added typed dynamic aperture variants and explicit closed/open transmissions, plus canonical multipart structural roles.
  • Added fixtures: street, mixed-house-lower, mixed-house-upper, courtyard-shaft, multi-storey-bottom, multi-storey-middle, multi-storey-top, cave, and glass-grate.
  • Preserved stacked topology as the ordinary indoor model; no ordinary indoor rectangles were hand-authored.
  • Removed legacy outdoor; translated non-outdoor darkness through the documented one-time light table; ignored outdoor darkness as a lighting authority; preserved map_info as metadata only. World-maker style fragments under maps/styles remain excluded from v1 auto-topology migration.

Migration inventory

maps/celestial-migration-index.json records source/target digests, regions, sky disposition, boundaries, and stable aperture IDs:

  • 2,720 open / 425 linked / 494 sealed maps
  • 25,010 explicit horizontal boundaries
  • 1,309 dynamic apertures
  • 2,953 legacy outdoor dispositions removed
  • 677 legacy darkness values translated
  • 2,116 regionless maps made explicit world

Validation

  • python3 tools/validate.py — 167 tests passed; 3,579 canonical archetype definitions complete.
  • python3 tools/world_content_audit.py lights --check — 11,848 instances across 643 maps; zero unreviewed.
  • git diff --check — passed.
  • Custom topology audit — 3,639 maps; reciprocal links, explicit boundaries, absolute targets, legacy-field removal, and fixture rectangle rule passed.
  • Exact compatible Classic target: atrinik/classic@12b1211dd44690476c3f060d7395ccc1250c85b4.
  • Wrapper build/test using content 2ab176673 plus Classic 12b1211dd: 51/51 tests passed; world-maker startup completed without celestial structural errors.
  • Exact-coordinate runtime smoke: topology issue-181-celestial-runtime reached ready state, server logs were clean, and the disposable topology was stopped.
  • Deterministic scenario issue-181-celestial-scenario provisioned successfully from the migrated content profile.

Compatibility assumptions

  • Classic v1 requires explicit absolute logical tile IDs and reciprocal boundary records because inferred topology is disabled for migrated maps.
  • Structural roles come from archetypes; map-level structural overrides are removed. Multipart archetypes use uniform structural flags.
  • Dynamic openings use dedicated celestial variants with typed closed/open transmission; static glass/grate fixtures use explicit typed transmission.
  • The lunar baseline follows Classic fix(release): preserve nonclosing cross-repository references #191: 28 game days per synodic cycle unless a child profile explicitly overrides it; phase and below-horizon behavior remains runtime-owned.
  • Content is authored on main and the derived Classic target is consumed only by the compatible parser/runtime coordinate above.

Remaining cutover dependencies

@zoeyrose
zoeyrose merged commit 7a49041 into main Aug 16, 2026
6 checks passed
@zoeyrose
zoeyrose deleted the scope/issue-181-celestial-content/content branch August 16, 2026 17:33
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 6.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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)!: migrate authored sky exposure and regional celestial environments

1 participant