@a2f0/skyline 0.2.39 → 0.2.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -41,7 +41,7 @@ covers installing, asset copying, mounting, imports, and releases.
41
41
  ## Development
42
42
 
43
43
  ```sh
44
- sh scripts/git/install-hooks.sh # once per clone
44
+ bun run hooks:install # once per clone
45
45
  bun run check # typecheck, unit and browser suites; needs Google Chrome
46
46
  bun run deploy # publish to Cloudflare; needs Node.js 22+ and wrangler login
47
47
  ```
package/docs/package.md CHANGED
@@ -76,11 +76,16 @@ prepare the same artifacts:
76
76
  ```json
77
77
  {
78
78
  "scripts": {
79
- "postinstall": "bun node_modules/@a2f0/skyline/scripts/build-package.ts"
79
+ "postinstall": "bun node_modules/@a2f0/skyline/scripts/build/build-package.ts"
80
80
  }
81
81
  }
82
82
  ```
83
83
 
84
+ The original documented source entrypoint, `scripts/build-package.ts`, remains
85
+ as a compatibility export and launcher for existing `postinstall` commands.
86
+ New source installations can use the grouped path above. The implementation
87
+ lives only under `scripts/build/`; npm tarballs and library exports are unchanged.
88
+
84
89
  The host needs TypeScript 7, `@tsconfig/strictest`, `@types/bun`, and `@types/node`
85
90
  as development dependencies. The build resolves those tools from the host;
86
91
  it does not install Skyline's development dependencies or run dependency
@@ -350,6 +355,12 @@ files directly; bundlers do not automatically copy that directory.
350
355
 
351
356
  ## Releases
352
357
 
358
+ The pack job installs the exact agent-tool dependency, then `bun run release:plan`
359
+ uses its shared public-registry decision and GitHub step output. After merge,
360
+ `bun run agent-tool release verify @a2f0/skyline <version> <merge-sha> --workflow
361
+ 'Publish npm package'` verifies the matching workflow, registry metadata and
362
+ tarball integrity. Registry propagation is polled before reporting a missing release.
363
+
353
364
  ship-pr bumps the `package.json` patch version on every merge (see
354
365
  [the PR workflow](development.md#pr-workflow)), and the
355
366
  [publish workflow](../.github/workflows/npm-publish.yml) publishes each version newer than
@@ -370,9 +381,11 @@ It also runs the
370
381
  tarball and viewer package suite on Node.js 22 to verify the supported minimum.
371
382
  Only when those pass does it build and pack the tarball; both jobs run without
372
383
  publish rights, and the publish job receives only that tarball and runs
373
- `npm publish --ignore-scripts`. Dispatching the workflow on another branch
374
- (`gh workflow run npm-publish.yml --ref <branch>`) runs only the tests, in a queue of its own,
375
- so it never displaces a pending publish.
384
+ `npm publish --ignore-scripts`. Dispatching the workflow on another branch that
385
+ satisfies the configured naming policy (`<type>/<topic>`, plus the documented
386
+ exemptions) runs only the tests, in a queue of its own. Use
387
+ `gh workflow run npm-publish.yml --ref <branch>`;
388
+ that queue never displaces a pending publish.
376
389
 
377
390
  npm adds a trusted publisher only to a package that already exists, so the first version
378
391
  is published by hand from an up-to-date `main`. Until then the workflow fails with that
@@ -40,7 +40,7 @@ reusing the original layout's fitted one, which describes the drawing's own
40
40
  geometry, not a place. The mapped buildings stay where they are mapped; only
41
41
  the camera is fitted.
42
42
 
43
- `scripts/fit-geographic-camera.ts` solves the study's orbit camera, aimed at the
43
+ `scripts/fidelity/fit-geographic-camera.ts` solves the study's orbit camera, aimed at the
44
44
  centre of the reference excerpt's frame, against the 26 correspondences in
45
45
  `geographicLandmarks` in `tests/skyline-landmarks.ts`. These pair mapped spire
46
46
  tips, eaves, roof corners, and Crain's peaks, shoulders, foot and step with
@@ -126,7 +126,7 @@ export const measuredColours = {
126
126
  },
127
127
  // FID-COL-005, the Michigan Avenue wall. Its fronts face east, into the photograph's shade; where a
128
128
  // building shows only that front, its stone or terracotta is the shaded median's sunlit estimate,
129
- // through the shade-to-sun ratio of the Railway Exchange's terracotta (scripts/sample-colours.ts,
129
+ // through the shade-to-sun ratio of the Railway Exchange's terracotta (scripts/fidelity/sample-colours.ts,
130
130
  // the day study's shade): provisional, since cross-checks disagree with that ratio.
131
131
  // docs/borg-warner-reference.md, 2026-10-10 — Daytime colours from Chicago.jpg.
132
132
  "building-200-south-michigan": {
@@ -237,7 +237,7 @@ export const measuredColours = {
237
237
  },
238
238
  // Michigan Avenue fronts Grant Park's trees hide in the panorama: measured in a close-up under an
239
239
  // overcast sky and calibrated to the panorama through Willoughby Tower's limestone beside them,
240
- // its ratio in linear light between the two photographs (scripts/sample-colours.ts, the day
240
+ // its ratio in linear light between the two photographs (scripts/fidelity/sample-colours.ts, the day
241
241
  // study's references). Their glass, reflecting the overcast, stays grey.
242
242
  // docs/chicago-athletic-association-reference.md, 2026-10-10 — Daytime colours from a close-up calibrated to Chicago.jpg.
243
243
  "building-chicago-athletic-association": {
@@ -291,7 +291,7 @@ export const measuredColours = {
291
291
  },
292
292
  };
293
293
  // The sunny day the colour toggle shows: the sky's blue at the top of the view and its haze just
294
- // above the horizon, each the median of a clear box of the same panorama (scripts/sample-colours.ts,
294
+ // above the horizon, each the median of a clear box of the same panorama (scripts/fidelity/sample-colours.ts,
295
295
  // the day study's sky), and the sun's warm white, chosen.
296
296
  export const daylightColours = { sky: 0x9ebbdb, horizon: 0xc4d1e1, sun: 0xfff4e6 };
297
297
  // Illustrated warm, neutral and cool white fixtures; not calibrated Kelvin values.
@@ -35,7 +35,7 @@ export function createGeographicSkyline(anchor = [0, 0, 0]) {
35
35
  shadowCamera: { left: -1300, right: 1300, top: 1300, bottom: -1300, near: 1, far: 2600 },
36
36
  };
37
37
  // The drawing traces a lakefront photograph. Fitting the mapped buildings'
38
- // roofs and tips to their drawn positions (scripts/fit-geographic-camera.ts)
38
+ // roofs and tips to their drawn positions (scripts/fidelity/fit-geographic-camera.ts)
39
39
  // puts its eye on the shore by the Adler Planetarium, 2 m above the street
40
40
  // datum, looking up at the skyline; it is held there while the angles and lens
41
41
  // are refitted, since the drawing barely tells its distance from its lens. The
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a2f0/skyline",
3
- "version": "0.2.39",
3
+ "version": "0.2.43",
4
4
  "description": "Interactive Chicago skyline viewer and reusable Three.js building models",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -12,8 +12,16 @@
12
12
  },
13
13
  "type": "module",
14
14
  "packageManager": "bun@1.4.3",
15
- "sideEffects": ["./site/**/*.js"],
16
- "files": ["lib/", "site/", "NOTICE.md", "docs/package.md", "docs/skyline-geography.md"],
15
+ "sideEffects": [
16
+ "./site/**/*.js"
17
+ ],
18
+ "files": [
19
+ "lib/",
20
+ "site/",
21
+ "NOTICE.md",
22
+ "docs/package.md",
23
+ "docs/skyline-geography.md"
24
+ ],
17
25
  "main": "./lib/skyline-package.js",
18
26
  "types": "./lib/skyline-package.d.ts",
19
27
  "exports": {
@@ -60,27 +68,32 @@
60
68
  "agent:run": "agent-tool run",
61
69
  "agents:sync": "bun run agent-tool skills install --apply",
62
70
  "agents:check": "bun run agent-tool skills check",
63
- "check": "bun scripts/check.ts",
64
- "test": "bun scripts/check.ts",
71
+ "check": "bun scripts/testing/check.ts",
72
+ "test": "bun scripts/testing/check.ts",
65
73
  "typecheck": "bunx --bun tsc -p tsconfig.json",
66
- "build:site": "bun scripts/build-site.ts",
67
- "build:package": "bun scripts/build-package.ts",
74
+ "build:site": "bun scripts/build/build-site.ts",
75
+ "build:package": "bun scripts/build/build-package.ts",
68
76
  "check:package": "bun test tests/package.test.ts",
69
77
  "prepack": "bun run build:package",
70
78
  "prepublishOnly": "bun run check",
71
- "fidelity": "bun scripts/fidelity-report.ts",
72
- "renders": "bun scripts/render-study.ts",
73
- "vendor:three": "bun scripts/vendor-three.ts",
74
- "deploy": "scripts/deploy.sh",
75
- "verify:deploy": "bun scripts/verify-deploy.ts"
79
+ "fidelity": "bun scripts/fidelity/fidelity-report.ts",
80
+ "renders": "bun scripts/fidelity/render-study.ts",
81
+ "vendor:three": "bun scripts/build/vendor-three.ts",
82
+ "deploy": "scripts/deploy/deploy.sh",
83
+ "verify:deploy": "bun scripts/deploy/verify-deploy.ts",
84
+ "hooks:install": "agent-tool hooks install --apply",
85
+ "hooks:check": "agent-tool hooks check",
86
+ "lint:branch-name": "agent-tool branch check",
87
+ "release:plan": "agent-tool release plan package.json --github-output",
88
+ "timings": "bun scripts/testing/show-timings.ts"
76
89
  },
77
90
  "devDependencies": {
78
- "@a2f0/agent-tool": "0.1.17",
91
+ "@a2f0/agent-tool": "0.1.19",
79
92
  "@tsconfig/strictest": "^2.0.8",
80
93
  "@types/bun": "^1.4.3",
81
94
  "esbuild": "0.28.2",
82
- "three": "0.186.1",
83
95
  "playwright": "1.64.1",
96
+ "three": "0.186.1",
84
97
  "typescript": "^7.0.2",
85
98
  "wrangler": "4.151.3"
86
99
  }
@@ -126,7 +126,7 @@ export const measuredColours = {
126
126
  },
127
127
  // FID-COL-005, the Michigan Avenue wall. Its fronts face east, into the photograph's shade; where a
128
128
  // building shows only that front, its stone or terracotta is the shaded median's sunlit estimate,
129
- // through the shade-to-sun ratio of the Railway Exchange's terracotta (scripts/sample-colours.ts,
129
+ // through the shade-to-sun ratio of the Railway Exchange's terracotta (scripts/fidelity/sample-colours.ts,
130
130
  // the day study's shade): provisional, since cross-checks disagree with that ratio.
131
131
  // docs/borg-warner-reference.md, 2026-10-10 — Daytime colours from Chicago.jpg.
132
132
  "building-200-south-michigan": {
@@ -237,7 +237,7 @@ export const measuredColours = {
237
237
  },
238
238
  // Michigan Avenue fronts Grant Park's trees hide in the panorama: measured in a close-up under an
239
239
  // overcast sky and calibrated to the panorama through Willoughby Tower's limestone beside them,
240
- // its ratio in linear light between the two photographs (scripts/sample-colours.ts, the day
240
+ // its ratio in linear light between the two photographs (scripts/fidelity/sample-colours.ts, the day
241
241
  // study's references). Their glass, reflecting the overcast, stays grey.
242
242
  // docs/chicago-athletic-association-reference.md, 2026-10-10 — Daytime colours from a close-up calibrated to Chicago.jpg.
243
243
  "building-chicago-athletic-association": {
@@ -291,7 +291,7 @@ export const measuredColours = {
291
291
  },
292
292
  };
293
293
  // The sunny day the colour toggle shows: the sky's blue at the top of the view and its haze just
294
- // above the horizon, each the median of a clear box of the same panorama (scripts/sample-colours.ts,
294
+ // above the horizon, each the median of a clear box of the same panorama (scripts/fidelity/sample-colours.ts,
295
295
  // the day study's sky), and the sun's warm white, chosen.
296
296
  export const daylightColours = { sky: 0x9ebbdb, horizon: 0xc4d1e1, sun: 0xfff4e6 };
297
297
  // Illustrated warm, neutral and cool white fixtures; not calibrated Kelvin values.
@@ -35,7 +35,7 @@ export function createGeographicSkyline(anchor = [0, 0, 0]) {
35
35
  shadowCamera: { left: -1300, right: 1300, top: 1300, bottom: -1300, near: 1, far: 2600 },
36
36
  };
37
37
  // The drawing traces a lakefront photograph. Fitting the mapped buildings'
38
- // roofs and tips to their drawn positions (scripts/fit-geographic-camera.ts)
38
+ // roofs and tips to their drawn positions (scripts/fidelity/fit-geographic-camera.ts)
39
39
  // puts its eye on the shore by the Adler Planetarium, 2 m above the street
40
40
  // datum, looking up at the skyline; it is held there while the angles and lens
41
41
  // are refitted, since the drawing barely tells its distance from its lens. The
@@ -1,4 +1,4 @@
1
- // Generated by scripts/build-package.ts: the Three.js the viewer's scene renders with. The
1
+ // Generated by scripts/build/build-package.ts: the Three.js the viewer's scene renders with. The
2
2
  // host's engine when the page offered one (mountSkyline's `three` option), and otherwise the
3
3
  // vendored bundle beside this file, which then loads only when a scene first needs it.
4
4
  import { providedThree } from "../three-engine.js";