Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ Navigation marker appearance comes from each authored package's
`source/preparation/navigation.json`, which names its source image by path;
the pins and attribution are the source manifest's record. `packages/bake/src/navigation/prepare-navigation.ts` generates
individual `public/navigation/body-<id>.webp` images and their 2x counterparts.
Builds assemble the ignored `site/prepared-navigation-markers.mjs` from those
Builds assemble the ignored `site/prepared/prepared-navigation-markers.mjs` from those
images and recipes; `ObjectNavigationMarker.astro` consumes it. Follow the
[registration steps](../../../../src/objects/README.md#register-a-body-without-editing-shared-lists)
instead of editing a shared list or atlas position.
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/architecture/graph.mts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export function decodeCruiseResult(value: unknown): CruisedModule[] {
}

/** A generated module (untracked) is counted as its tracked declaration, so the graph is the same whether or
* not the checkout has run its preparation steps: `site/prepared-shell-titles.mjs` becomes `….d.mts`. */
* not the checkout has run its preparation steps: `site/prepared/prepared-shell-titles.mjs` becomes `….d.mts`. */
export function trackedStandIn(path: string, tracked: ReadonlySet<string>): string | undefined {
if (tracked.has(path)) return path;
const match = /^(.*)\.([cm]?)[jt]s$/u.exec(path);
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/ci/prepare-typecheck.mts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export function preparedJsonImports(file: string, source: string, root: string):
/** Generated modules that import prepared JSON found by rule, so that no authored file names its object: the application's
* context objects import the galaxy catalogue's display sample (site/build/prepare/prepare-catalog.mts contextObjectModule).
* The preparation build writes them before this scan; git ignores them, so the listing below does not find them. */
const GENERATED_IMPORTERS = ['site/prepared-context-objects.mts'];
const GENERATED_IMPORTERS = ['site/prepared/prepared-context-objects.mts'];

/** Scan maintained source, including test imports. Generated declarations are not an alternate data contract.
* All authored TypeScript/Astro is a conservative superset of the application and test compiler programs, so a
Expand Down
30 changes: 27 additions & 3 deletions .github/site-refactor.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,31 @@
{
"mode": "semantic",
"moves": {},
"moves": {
"site/prepared-catalogue.d.mts": "site/prepared/prepared-catalogue.d.mts",
"site/prepared-navigation-markers.d.mts": "site/prepared/prepared-navigation-markers.d.mts",
"site/prepared-shell-icons.d.mts": "site/prepared/prepared-shell-icons.d.mts",
"site/prepared-shell-titles.d.mts": "site/prepared/prepared-shell-titles.d.mts",
"site/moon-labels.prepared.json": "site/prepared/moon-labels.prepared.json",
"site/prepared-catalogue.mjs": "site/prepared/prepared-catalogue.mjs",
"site/prepared-context-bank-assets.json": "site/prepared/prepared-context-bank-assets.json",
"site/prepared-context-json.mts": "site/prepared/prepared-context-json.mts",
"site/prepared-context-objects.mts": "site/prepared/prepared-context-objects.mts",
"site/prepared-dataset-billboards.json": "site/prepared/prepared-dataset-billboards.json",
"site/prepared-dataset-volumes.json": "site/prepared/prepared-dataset-volumes.json",
"site/prepared-dot-catalogues.json": "site/prepared/prepared-dot-catalogues.json",
"site/prepared-facilities.json": "site/prepared/prepared-facilities.json",
"site/prepared-feature-index.json": "site/prepared/prepared-feature-index.json",
"site/prepared-fit-boxes.json": "site/prepared/prepared-fit-boxes.json",
"site/prepared-hosted-banks.json": "site/prepared/prepared-hosted-banks.json",
"site/prepared-navigation-markers.mjs": "site/prepared/prepared-navigation-markers.mjs",
"site/prepared-shell-icons.mjs": "site/prepared/prepared-shell-icons.mjs",
"site/prepared-shell-titles.mjs": "site/prepared/prepared-shell-titles.mjs",
"site/prepared-source-credits.json": "site/prepared/prepared-source-credits.json",
"site/prepared-sources.json": "site/prepared/prepared-sources.json",
"site/prepared-stellar-extents.json": "site/prepared/prepared-stellar-extents.json",
"site/prepared-world-presentation.json": "site/prepared/prepared-world-presentation.json"
},
"outputs": [],
"layout": "changes",
"change": "S3-7 loader owners"
"layout": "none",
"change": "generated site outputs into site/prepared"
}
40 changes: 20 additions & 20 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -270,35 +270,35 @@ src/objects/*/source/**/*.bpc
!src/objects/moon/source/science/diviner-ghrm/tbol_m-compact.tif

# Combined catalogues and navigation are rebuilt from individual body records.
/site/prepared-sources.json
/site/prepared-source-credits.json
/site/prepared-facilities.json
/site/prepared-catalogue.mjs
/site/prepared-overview-objects.json
/site/prepared-dataset-volumes.json
/site/prepared-dot-catalogues.json
/site/prepared-stellar-extents.json
/site/prepared-fit-boxes.json
/site/prepared-context-objects.mts
/site/prepared-context-bank-assets.json
/site/prepared-hosted-banks.json
/site/prepared-context-json.mts
/site/prepared-feature-index.json
/site/prepared-dataset-billboards.json
/site/prepared/prepared-sources.json
/site/prepared/prepared-source-credits.json
/site/prepared/prepared-facilities.json
/site/prepared/prepared-catalogue.mjs
/site/prepared/prepared-overview-objects.json
/site/prepared/prepared-dataset-volumes.json
/site/prepared/prepared-dot-catalogues.json
/site/prepared/prepared-stellar-extents.json
/site/prepared/prepared-fit-boxes.json
/site/prepared/prepared-context-objects.mts
/site/prepared/prepared-context-bank-assets.json
/site/prepared/prepared-hosted-banks.json
/site/prepared/prepared-context-json.mts
/site/prepared/prepared-feature-index.json
/site/prepared/prepared-dataset-billboards.json
/public/navigation/dataset-billboards/
/public/navigation/dataset-sprites/
/public/features/
/packages/astronomy/src/data/generated/
/site/prepared-navigation-markers.mjs
/site/prepared/prepared-navigation-markers.mjs
/src/platform/solar-geometry.mts
/site/moon-labels.prepared.json
/site/prepared/moon-labels.prepared.json

# AKARI AcuA v1: restored and verified from each body source manifest.
/src/objects/*/source/reference/AcuA_V1.txt.gz

# Shared shell outputs, replayed by pnpm prepare:shell from pinned fonts and vectors.
/site/prepared-shell-icons.mjs
/site/prepared-shell-titles.mjs
/site/prepared/prepared-shell-icons.mjs
/site/prepared/prepared-shell-titles.mjs

# Large source inputs with pinned archive downloads; `pnpm prepare:checkout` (or
# `node packages/bake/cli/object-operations.mts acquire <id>`) restores and verifies them.
Expand Down Expand Up @@ -355,7 +355,7 @@ src/objects/*/source/**/*.bpc

# Small expected-output receipt supports offline source recovery.

/site/prepared-world-presentation.json
/site/prepared/prepared-world-presentation.json

# Solar System source products restored from their manifest origins or source-cache.
/src/objects/mars/source/geology/SIM3292_Global_Geology.shp
Expand Down
2 changes: 1 addition & 1 deletion docs/moon-catalogues.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ as a nominal sphere (Anthe). Those pages were retired; each is now a dot with it
([when a body gets a scene](../.agents/skills/celestial-skill/references/scientific-faithfulness.md#a-scene-needs-a-measured-shape)).

Run `node site/build/prepare/prepare-moon-labels.mts` to reproduce the ignored
`site/moon-labels.prepared.json` from the pinned source archive and current world
`site/prepared/moon-labels.prepared.json` from the pinned source archive and current world
context. `pnpm prepare:world-context` runs this step after preparing the world.
The browser only projects these fixed positions; it performs no ephemeris work.

Expand Down
2 changes: 1 addition & 1 deletion docs/object-discovery.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ part of the package's source interpretation update.
`pnpm prepare:catalog` derives discovery from exposed `prepared/controls.json`
datasets and their raster recipes. It writes each body's
discovery beside its descriptor and distance in the ignored prepared catalogue
(`site/prepared-catalogue.mjs`) that the single `OBJECTS` registry reads. Runtime reads this prepared metadata; it does not inspect source images or
(`site/prepared/prepared-catalogue.mjs`) that the single `OBJECTS` registry reads. Runtime reads this prepared metadata; it does not inspect source images or
generate assets. The controls come from R2, not Git, so the dev, build and deploy
chains restore prepared assets before the catalogue runs. Without them, a clean
checkout finds no imagery for any body, and moons and small bodies read **Shape only**.
Expand Down
2 changes: 1 addition & 1 deletion docs/provenance/CONTRACT.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ PDS4 archive compliance nor assessed ISO conformity, and does not require PDS XM
| `prepared/object.json`, `prepared/page.json` | Transport and page metadata built from the installed runtime when read; never files, inventoried or committed |
| Other delivery files under `prepared/` | Baked output. Published to R2 through `inventory.json`, restored by `setup:assets`, never committed; audit-only terrain reports and source-index rasters are excluded |
| `inventory.json` at the body root | Generated inventory of every baked file (public textures and `prepared/*`) used by installation and publication |
| `site/prepared-sources.json`, `site/prepared-source-credits.json` and `site/prepared-facilities.json` | Ignored source usage, page credit and mission attribution outputs; prepare together |
| `site/prepared/prepared-sources.json`, `site/prepared/prepared-source-credits.json` and `site/prepared/prepared-facilities.json` | Ignored source usage, page credit and mission attribution outputs; prepare together |
| Shared guides and illustrations under `docs/` | Maintained explanations used across bodies |
| Unit tests, their fixtures and helpers beside the code they test; integration tests that span several owners in `integration/`; do not add a `tools/` or `tests/` directory; preparation code under `packages/bake/` (`src/`, `cli/`, `authoring/`), telescope code under `packages/telescope-cli/`, site build steps under `site/build/`, CI checks under `.github/scripts/` | Inputs and implementation used by executable checks and preparation |
| Root README and [body contributor guide](../../src/objects/README.md) | Shared installation, controls, commands and contribution workflow |
Expand Down
2 changes: 1 addition & 1 deletion docs/reader-text.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ Warnings are for the reviewer and never block:
- a card or introduction that another body shares;
- repetition between blocks shown together: the introduction, one dataset
summary and the mission, facility and note cards beside it. This check reads
`site/prepared-facilities.json`, so run
`site/prepared/prepared-facilities.json`, so run
`node site/build/prepare/prepare-facilities.mts --catalog-only` first.

`site/build/prepare/prepare-text.test.mts` runs the check on every registered body.
Expand Down
23 changes: 0 additions & 23 deletions docs/site-architecture/moves.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,6 @@
"site/components/ObjectSwatchStyles.astro": "site/layouts/ObjectSwatchStyles.astro",
"site/diagnostic-recorder.mts": "site/shell/diagnostic-recorder.mts",
"site/env.d.ts": "site/env.d.ts",
"site/prepared-catalogue.d.mts": "site/prepared/prepared-catalogue.d.mts",
"site/prepared-navigation-markers.d.mts": "site/prepared/prepared-navigation-markers.d.mts",
"site/prepared-shell-icons.d.mts": "site/prepared/prepared-shell-icons.d.mts",
"site/prepared-shell-titles.d.mts": "site/prepared/prepared-shell-titles.d.mts",
"site/social-images.mts": "site/server/social-images.mts",
"site/build/source-maps.test.mts": "site/build/source-maps.test.mts",
"site/navigation/evidence/star-click/one-click.jpg": "site/navigation/evidence/star-click/one-click.jpg",
Expand All @@ -81,25 +77,6 @@
"site/test/system-framing.test.mts": "site/world/system-framing.test.mts",
"site/test/view-readout.test.mts": "site/shell/view-readout.test.mts",
"site/test/zoom-scope.test.mts": "site/world/zoom-scope.test.mts",
"site/moon-labels.prepared.json": "site/prepared/moon-labels.prepared.json",
"site/prepared-catalogue.mjs": "site/prepared/prepared-catalogue.mjs",
"site/prepared-context-bank-assets.json": "site/prepared/prepared-context-bank-assets.json",
"site/prepared-context-json.mts": "site/prepared/prepared-context-json.mts",
"site/prepared-context-objects.mts": "site/prepared/prepared-context-objects.mts",
"site/prepared-dataset-billboards.json": "site/prepared/prepared-dataset-billboards.json",
"site/prepared-dataset-volumes.json": "site/prepared/prepared-dataset-volumes.json",
"site/prepared-dot-catalogues.json": "site/prepared/prepared-dot-catalogues.json",
"site/prepared-facilities.json": "site/prepared/prepared-facilities.json",
"site/prepared-feature-index.json": "site/prepared/prepared-feature-index.json",
"site/prepared-fit-boxes.json": "site/prepared/prepared-fit-boxes.json",
"site/prepared-hosted-banks.json": "site/prepared/prepared-hosted-banks.json",
"site/prepared-navigation-markers.mjs": "site/prepared/prepared-navigation-markers.mjs",
"site/prepared-shell-icons.mjs": "site/prepared/prepared-shell-icons.mjs",
"site/prepared-shell-titles.mjs": "site/prepared/prepared-shell-titles.mjs",
"site/prepared-source-credits.json": "site/prepared/prepared-source-credits.json",
"site/prepared-sources.json": "site/prepared/prepared-sources.json",
"site/prepared-stellar-extents.json": "site/prepared/prepared-stellar-extents.json",
"site/prepared-world-presentation.json": "site/prepared/prepared-world-presentation.json",
"site/object-shell.css": "site/layouts/object-shell.css",
"site/destination-browser.characterization.test.mts": "site/shell/destination-browser.characterization.test.mts",
"site/diagnostic-recorder.characterization.test.mts": "site/shell/diagnostic-recorder.characterization.test.mts",
Expand Down
38 changes: 19 additions & 19 deletions docs/site-architecture/tiers.json
Original file line number Diff line number Diff line change
Expand Up @@ -358,28 +358,28 @@
],
"assets": [
"site/layouts/cubic-sky.css",
"site/moon-labels.prepared.json",
"site/prepared/moon-labels.prepared.json",
"site/navigation/evidence/star-click/one-click.jpg",
"site/layouts/object-navigation-marker.css",
"site/object-shell.css",
"site/prepared-catalogue.mjs",
"site/prepared-context-bank-assets.json",
"site/prepared-context-json.mts",
"site/prepared-context-objects.mts",
"site/prepared-dataset-billboards.json",
"site/prepared-dataset-volumes.json",
"site/prepared-dot-catalogues.json",
"site/prepared-facilities.json",
"site/prepared-feature-index.json",
"site/prepared-fit-boxes.json",
"site/prepared-hosted-banks.json",
"site/prepared-navigation-markers.mjs",
"site/prepared-shell-icons.mjs",
"site/prepared-shell-titles.mjs",
"site/prepared-source-credits.json",
"site/prepared-sources.json",
"site/prepared-stellar-extents.json",
"site/prepared-world-presentation.json",
"site/prepared/prepared-catalogue.mjs",
"site/prepared/prepared-context-bank-assets.json",
"site/prepared/prepared-context-json.mts",
"site/prepared/prepared-context-objects.mts",
"site/prepared/prepared-dataset-billboards.json",
"site/prepared/prepared-dataset-volumes.json",
"site/prepared/prepared-dot-catalogues.json",
"site/prepared/prepared-facilities.json",
"site/prepared/prepared-feature-index.json",
"site/prepared/prepared-fit-boxes.json",
"site/prepared/prepared-hosted-banks.json",
"site/prepared/prepared-navigation-markers.mjs",
"site/prepared/prepared-shell-icons.mjs",
"site/prepared/prepared-shell-titles.mjs",
"site/prepared/prepared-source-credits.json",
"site/prepared/prepared-sources.json",
"site/prepared/prepared-stellar-extents.json",
"site/prepared/prepared-world-presentation.json",
"site/shell/maps-shell.css",
"site/shell/settings-panel.css",
"site/shell/shell-layout.css",
Expand Down
4 changes: 2 additions & 2 deletions docs/sources-catalogue.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ and ESA's own images are share-alike. Each render-library entry carries its own
`license`, so the obligation stays attached to the file it covers. Reusing that
file elsewhere carries the share-alike terms with it.

`site/prepared-sources.json` and `site/prepared-facilities.json` are generated
`site/prepared/prepared-sources.json` and `site/prepared/prepared-facilities.json` are generated
from these records and the existing product lineage, with
`site/prepared-source-credits.json`: the short provider list each page's
`site/prepared/prepared-source-credits.json`: the short provider list each page's
"Sources" link shows, and the rows of the body card's Sources tab. A published
work is one row: its title, kind, publisher and landing page. Files that have no
published title are one row per credit line, with their count and the datasets
Expand Down
2 changes: 1 addition & 1 deletion eslint.config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export default [
// Generated output and the open-ended registries. `src/platform/solar-geometry.mts` alone is
// 26,968 generated lines; `src/objects` is 586 authored body packages, not modules.
'**/prepared/**', '**/generated/**', 'src/objects/**/*', '!src/objects/**/', '!src/objects/**/*.test.mts', 'src/sources/**/*', '!src/sources/**/*.test.mts',
'src/platform/solar-geometry.mts', 'site/prepared-context-objects.mts'] },
'src/platform/solar-geometry.mts', 'site/prepared/prepared-context-objects.mts'] },
{
// `src` and `site` (and once `tools`) — roughly 232,000 authored lines — had no ESLint at all, so the
// size and boundary rules below governed only the two smallest trees. Warnings, not errors:
Expand Down
2 changes: 1 addition & 1 deletion labs/performance/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ untracked files. Before these changes it spent about 9 s of every capture on sle

A cold dev load of Venus used to take 7.3 s on the iPad. Every page imported all 2,071 prepared files of the 29 context
objects as one `?url` module each. Safari needed about 4 s to resolve them, and no frame rendered until it had.
`site/prepared-context-objects.mts` now lists those files from each object's inventory, as the asset-origin build
`site/prepared/prepared-context-objects.mts` now lists those files from each object's inventory, as the asset-origin build
always did. The load takes 3.3 s with 263 requests instead of 2,335.

### Counting late frames: the page times itself
Expand Down
2 changes: 1 addition & 1 deletion packages/bake/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ cycle. Share anything else through `@cssearth/core` or another package. Prepared
the catalogue and search destinations are built with, and the marker recipes whose source bytes are checked and drawn
into navigation marker sprites, and the navigation preparation (`prepare-navigation.ts`, with the Sun, black-hole,
supernova and action marker sources in `marker-descriptors.ts`) that writes the marker atlases, action markers and
`site/prepared-navigation-markers.mjs`, and the flat neutral disc (`neutral-disc-marker.ts`) that marks an unresolved,
`site/prepared/prepared-navigation-markers.mjs`, and the flat neutral disc (`neutral-disc-marker.ts`) that marks an unresolved,
self-luminous surface in generated and authored packages. It reads the registry on first use, not at import, and validates marker
presentation with the shared rules in `@cssearth/objects` (`marker-presentation.ts`, which the shell also uses to
draw them). It imports `raster`, `delivery`, `sources`, `astronomy`, and `objects/raster` (loaded only when a marker is
Expand Down
2 changes: 1 addition & 1 deletion packages/bake/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ renderer enforces. Every other bank is a bake input written to the ignored `outp
inventoried, never published, and never imported as a module (`packages/bake/src/volume/node/catalogue-banks.ts`). Vite
serves an imported JSON file as an array literal, which Safari cannot compile past about a hundred thousand elements, and
the site's build reads only `datasets` and `presentation` from a context object's `prepared/`, plus its source manifest
(`site/prepared-context-json.mts`).
(`site/prepared/prepared-context-json.mts`).

Presentation compilers import `PREPARED_PRESENTATION_SCHEMA`, prepared material/selection records and the
leaf-box data shape from `@cssearth/objects`. The sky/Sun-dependent presentation-envelope validator remains in bake.
Expand Down
2 changes: 1 addition & 1 deletion packages/bake/src/navigation/prepare-navigation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ export async function prepareNavigation({
projectRoot = ROOT,
outputRoot = resolve(projectRoot, "public/navigation"),
planets = PLANET_MARKER_PLANETS(),
presentationPath = resolve(projectRoot, "site/prepared-navigation-markers.mjs"),
presentationPath = resolve(projectRoot, "site/prepared/prepared-navigation-markers.mjs"),
moveFile = moveNavigationFile,
objectIds,
catalogOnly = false,
Expand Down
Loading
Loading