@dreadwood-types/types 0.1.110 → 0.1.111
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/surfaceChart.d.ts +45 -0
- package/dist/surfaceChart.d.ts.map +1 -0
- package/dist/surfaceChart.js +200 -0
- package/dist/surfaceChart.js.map +1 -0
- package/package.json +38 -37
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** Tile bounds are inclusive; polygon coordinates describe continuous tile edges. */
|
|
2
|
+
export type SurfaceChartBounds = Readonly<{
|
|
3
|
+
minX: number;
|
|
4
|
+
minZ: number;
|
|
5
|
+
maxX: number;
|
|
6
|
+
maxZ: number;
|
|
7
|
+
}>;
|
|
8
|
+
export type SurfaceChartPoint = readonly [number, number];
|
|
9
|
+
export type SurfaceChartComponent = Readonly<{
|
|
10
|
+
outer: readonly SurfaceChartPoint[];
|
|
11
|
+
holes?: readonly (readonly SurfaceChartPoint[])[];
|
|
12
|
+
}>;
|
|
13
|
+
export type SurfaceChartFootprint = SurfaceChartBounds & Readonly<{
|
|
14
|
+
id: string;
|
|
15
|
+
}>;
|
|
16
|
+
export type SurfaceChartDescriptor = Readonly<{
|
|
17
|
+
schema: 1;
|
|
18
|
+
revision: number;
|
|
19
|
+
technicalBounds: SurfaceChartBounds;
|
|
20
|
+
components: readonly SurfaceChartComponent[];
|
|
21
|
+
fadeTiles: number;
|
|
22
|
+
seaBleedTiles: number;
|
|
23
|
+
protectedFootprints: readonly SurfaceChartFootprint[];
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Presentation only. The full technical rectangle still streams and saves as before.
|
|
27
|
+
* Retained terrain is opaque; the wash fades OUT from its contour into peripheral sea.
|
|
28
|
+
* The northern lobe keeps the Bear Floes and the southern lobe keeps the whole Long Pier.
|
|
29
|
+
* No named land, route, or interior moves when this chart revision changes.
|
|
30
|
+
*/
|
|
31
|
+
export declare const SURFACE_CHART: SurfaceChartDescriptor;
|
|
32
|
+
/**
|
|
33
|
+
* Optional network metadata is accepted only in this bounded, known coordinate space.
|
|
34
|
+
* Missing/malformed/unsupported charts return null so consumers use their shipped chart.
|
|
35
|
+
* Copy fields rather than trusting extra properties. Required authored footprints may grow,
|
|
36
|
+
* but cannot disappear or shrink in a remote chart of the same schema.
|
|
37
|
+
*/
|
|
38
|
+
export declare function validateSurfaceChart(value: unknown): SurfaceChartDescriptor | null;
|
|
39
|
+
/**
|
|
40
|
+
* Surface terrain opacity in world tile coordinates. Tile (x,z) spans [x,x+1) x [z,z+1).
|
|
41
|
+
* Callers must leave labels, players, destinations and other overlays outside this mask.
|
|
42
|
+
* seaBleedTiles is a separate painter allowance, never an extension of technical bounds.
|
|
43
|
+
*/
|
|
44
|
+
export declare function surfaceChartOpacity(chart: SurfaceChartDescriptor, x: number, z: number): number;
|
|
45
|
+
//# sourceMappingURL=surfaceChart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surfaceChart.d.ts","sourceRoot":"","sources":["../src/surfaceChart.ts"],"names":[],"mappings":"AAcA,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACtG,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,iBAAiB,EAAE,CAAC,EAAE,CAAC;CACnD,CAAC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,QAAQ,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,kBAAkB,CAAC;IACpC,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACvD,CAAC,CAAC;AAsBH;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,sBAe3B,CAAC;AAsCF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,GAAG,IAAI,CAwClF;AA0BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAqB/F"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { WORLD_HEIGHT, WORLD_WIDTH, toWorldZ } from './constants.js';
|
|
2
|
+
import { BEAR_FLOES_ZONE } from './bearFloes.js';
|
|
3
|
+
import { CAPITAL_AQUARIUM_BRIDGE, CAPITAL_AQUARIUM_QUAY } from './capitalAquarium.js';
|
|
4
|
+
import { BRANSONS_LANDING_WORKS, HOPE_PIER_BRANCH_MAX_X, HOPE_PIER_END_Z, HOPE_PIER_SHORE_Z, HOPE_PIER_SPUR_MIN_X, PIER_CAST_MAX_TILES, } from './landmarks.js';
|
|
5
|
+
import { SALMON_LEAP_STAGE } from './riverFishing.js';
|
|
6
|
+
import { WHALER_ZONE } from './whaler.js';
|
|
7
|
+
const TECHNICAL_BOUNDS = { minX: 0, minZ: 0, maxX: WORLD_WIDTH - 1, maxZ: WORLD_HEIGHT - 1 };
|
|
8
|
+
/** These authored places stay opaque even if a later chart contour changes. */
|
|
9
|
+
const REQUIRED_FOOTPRINTS = [
|
|
10
|
+
// Boats anchored on the old north coast (z64) have blocking hulls one row north of it.
|
|
11
|
+
{ id: 'mainland', minX: 0, minZ: 63, maxX: WORLD_WIDTH - 1, maxZ: 896 },
|
|
12
|
+
{ id: 'bransons-landing', ...BRANSONS_LANDING_WORKS },
|
|
13
|
+
{ id: 'bear-floes', ...BEAR_FLOES_ZONE },
|
|
14
|
+
{ id: 'capital-aquarium', minX: CAPITAL_AQUARIUM_BRIDGE.minX, maxX: CAPITAL_AQUARIUM_QUAY.maxX, minZ: CAPITAL_AQUARIUM_QUAY.minZ, maxZ: CAPITAL_AQUARIUM_QUAY.maxZ },
|
|
15
|
+
{
|
|
16
|
+
id: 'long-pier-and-fishing',
|
|
17
|
+
minX: HOPE_PIER_SPUR_MIN_X - PIER_CAST_MAX_TILES,
|
|
18
|
+
maxX: HOPE_PIER_BRANCH_MAX_X + PIER_CAST_MAX_TILES,
|
|
19
|
+
minZ: HOPE_PIER_SHORE_Z - PIER_CAST_MAX_TILES,
|
|
20
|
+
maxZ: HOPE_PIER_END_Z + PIER_CAST_MAX_TILES,
|
|
21
|
+
},
|
|
22
|
+
{ id: 'whaler', minX: WHALER_ZONE.minX, maxX: WHALER_ZONE.maxX, minZ: toWorldZ(WHALER_ZONE.minZ), maxZ: toWorldZ(WHALER_ZONE.maxZ) },
|
|
23
|
+
{ id: 'salmon-leap', minX: SALMON_LEAP_STAGE.minX - 3, maxX: SALMON_LEAP_STAGE.maxX + 2, minZ: SALMON_LEAP_STAGE.minZ, maxZ: SALMON_LEAP_STAGE.maxZ + 10 },
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Presentation only. The full technical rectangle still streams and saves as before.
|
|
27
|
+
* Retained terrain is opaque; the wash fades OUT from its contour into peripheral sea.
|
|
28
|
+
* The northern lobe keeps the Bear Floes and the southern lobe keeps the whole Long Pier.
|
|
29
|
+
* No named land, route, or interior moves when this chart revision changes.
|
|
30
|
+
*/
|
|
31
|
+
export const SURFACE_CHART = {
|
|
32
|
+
schema: 1,
|
|
33
|
+
revision: 1,
|
|
34
|
+
technicalBounds: TECHNICAL_BOUNDS,
|
|
35
|
+
components: [{
|
|
36
|
+
outer: [
|
|
37
|
+
[0, 64], [114, 64], [118, 40], [126, 18], [144, 0], [204, 0], [216, 20], [228, 64],
|
|
38
|
+
[WORLD_WIDTH, 64], [WORLD_WIDTH, 896], [920, 908], [880, 940], [700, 956], [540, 960],
|
|
39
|
+
[415, 952], [400, 1016], [360, 1040], [240, 1040], [200, 1020], [180, 964],
|
|
40
|
+
[110, 950], [40, 934], [0, 912],
|
|
41
|
+
],
|
|
42
|
+
}],
|
|
43
|
+
fadeTiles: 24,
|
|
44
|
+
seaBleedTiles: 24,
|
|
45
|
+
protectedFootprints: REQUIRED_FOOTPRINTS,
|
|
46
|
+
};
|
|
47
|
+
const record = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
48
|
+
const finite = (value) => typeof value === 'number' && Number.isFinite(value);
|
|
49
|
+
const MAX_COMPONENTS = 8;
|
|
50
|
+
const MAX_HOLES = 8;
|
|
51
|
+
const MAX_RING_POINTS = 128;
|
|
52
|
+
const MAX_TOTAL_POINTS = 2048;
|
|
53
|
+
const MAX_FOOTPRINTS = 128;
|
|
54
|
+
const MAX_WASH_TILES = 128;
|
|
55
|
+
function readBounds(value) {
|
|
56
|
+
if (!record(value))
|
|
57
|
+
return null;
|
|
58
|
+
const { minX, minZ, maxX, maxZ } = value;
|
|
59
|
+
if (![minX, minZ, maxX, maxZ].every((v) => finite(v) && Number.isInteger(v)))
|
|
60
|
+
return null;
|
|
61
|
+
const bounds = { minX, minZ, maxX, maxZ };
|
|
62
|
+
if (bounds.minX < 0 || bounds.minZ < 0 || bounds.maxX >= WORLD_WIDTH || bounds.maxZ >= WORLD_HEIGHT || bounds.minX > bounds.maxX || bounds.minZ > bounds.maxZ)
|
|
63
|
+
return null;
|
|
64
|
+
return bounds;
|
|
65
|
+
}
|
|
66
|
+
function readRing(value) {
|
|
67
|
+
if (!Array.isArray(value) || value.length < 3 || value.length > MAX_RING_POINTS)
|
|
68
|
+
return null;
|
|
69
|
+
const ring = [];
|
|
70
|
+
for (const point of value) {
|
|
71
|
+
if (!Array.isArray(point) || point.length !== 2)
|
|
72
|
+
return null;
|
|
73
|
+
const [x, z] = point;
|
|
74
|
+
if (!finite(x) || !finite(z) || x < 0 || z < 0 || x > WORLD_WIDTH || z > WORLD_HEIGHT)
|
|
75
|
+
return null;
|
|
76
|
+
ring.push([x, z]);
|
|
77
|
+
}
|
|
78
|
+
let area = 0;
|
|
79
|
+
for (let i = 0; i < ring.length; i++) {
|
|
80
|
+
const a = ring[i];
|
|
81
|
+
const b = ring[(i + 1) % ring.length];
|
|
82
|
+
area += a[0] * b[1] - b[0] * a[1];
|
|
83
|
+
}
|
|
84
|
+
return Math.abs(area) > 0.000001 ? ring : null;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Optional network metadata is accepted only in this bounded, known coordinate space.
|
|
88
|
+
* Missing/malformed/unsupported charts return null so consumers use their shipped chart.
|
|
89
|
+
* Copy fields rather than trusting extra properties. Required authored footprints may grow,
|
|
90
|
+
* but cannot disappear or shrink in a remote chart of the same schema.
|
|
91
|
+
*/
|
|
92
|
+
export function validateSurfaceChart(value) {
|
|
93
|
+
if (!record(value) || value.schema !== 1 || !Number.isSafeInteger(value.revision) || value.revision < 1)
|
|
94
|
+
return null;
|
|
95
|
+
const technicalBounds = readBounds(value.technicalBounds);
|
|
96
|
+
if (!technicalBounds || technicalBounds.minX !== 0 || technicalBounds.minZ !== 0 || technicalBounds.maxX !== WORLD_WIDTH - 1 || technicalBounds.maxZ !== WORLD_HEIGHT - 1)
|
|
97
|
+
return null;
|
|
98
|
+
const { fadeTiles, seaBleedTiles } = value;
|
|
99
|
+
if (!finite(fadeTiles) || fadeTiles <= 0 || fadeTiles > MAX_WASH_TILES || !finite(seaBleedTiles) || seaBleedTiles < 0 || seaBleedTiles > MAX_WASH_TILES)
|
|
100
|
+
return null;
|
|
101
|
+
if (!Array.isArray(value.components) || value.components.length < 1 || value.components.length > MAX_COMPONENTS)
|
|
102
|
+
return null;
|
|
103
|
+
const components = [];
|
|
104
|
+
let totalPoints = 0;
|
|
105
|
+
for (const component of value.components) {
|
|
106
|
+
if (!record(component))
|
|
107
|
+
return null;
|
|
108
|
+
const outer = readRing(component.outer);
|
|
109
|
+
if (!outer)
|
|
110
|
+
return null;
|
|
111
|
+
totalPoints += outer.length;
|
|
112
|
+
if (component.holes !== undefined && (!Array.isArray(component.holes) || component.holes.length > MAX_HOLES))
|
|
113
|
+
return null;
|
|
114
|
+
const holes = [];
|
|
115
|
+
for (const candidate of (component.holes ?? [])) {
|
|
116
|
+
const hole = readRing(candidate);
|
|
117
|
+
if (!hole)
|
|
118
|
+
return null;
|
|
119
|
+
totalPoints += hole.length;
|
|
120
|
+
holes.push(hole);
|
|
121
|
+
}
|
|
122
|
+
if (totalPoints > MAX_TOTAL_POINTS)
|
|
123
|
+
return null;
|
|
124
|
+
components.push(component.holes === undefined ? { outer } : { outer, holes });
|
|
125
|
+
}
|
|
126
|
+
if (!Array.isArray(value.protectedFootprints) || value.protectedFootprints.length > MAX_FOOTPRINTS)
|
|
127
|
+
return null;
|
|
128
|
+
const protectedFootprints = [];
|
|
129
|
+
const ids = new Set();
|
|
130
|
+
for (const footprint of value.protectedFootprints) {
|
|
131
|
+
if (!record(footprint) || typeof footprint.id !== 'string' || !/^[a-z0-9-]{1,64}$/.test(footprint.id) || ids.has(footprint.id))
|
|
132
|
+
return null;
|
|
133
|
+
const bounds = readBounds(footprint);
|
|
134
|
+
if (!bounds)
|
|
135
|
+
return null;
|
|
136
|
+
ids.add(footprint.id);
|
|
137
|
+
protectedFootprints.push({ id: footprint.id, ...bounds });
|
|
138
|
+
}
|
|
139
|
+
for (const required of REQUIRED_FOOTPRINTS) {
|
|
140
|
+
const found = protectedFootprints.find((footprint) => footprint.id === required.id);
|
|
141
|
+
if (!found || found.minX > required.minX || found.minZ > required.minZ || found.maxX < required.maxX || found.maxZ < required.maxZ)
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
return { schema: 1, revision: value.revision, technicalBounds, components, fadeTiles, seaBleedTiles, protectedFootprints };
|
|
145
|
+
}
|
|
146
|
+
function ringSample(ring, x, z) {
|
|
147
|
+
let inside = false;
|
|
148
|
+
let distanceSquared = Infinity;
|
|
149
|
+
for (let i = 0, j = ring.length - 1; i < ring.length; j = i++) {
|
|
150
|
+
const [ax, az] = ring[j];
|
|
151
|
+
const [bx, bz] = ring[i];
|
|
152
|
+
const dx = bx - ax;
|
|
153
|
+
const dz = bz - az;
|
|
154
|
+
const lengthSquared = dx * dx + dz * dz;
|
|
155
|
+
const t = lengthSquared === 0 ? 0 : Math.max(0, Math.min(1, ((x - ax) * dx + (z - az) * dz) / lengthSquared));
|
|
156
|
+
const ex = x - (ax + t * dx);
|
|
157
|
+
const ez = z - (az + t * dz);
|
|
158
|
+
distanceSquared = Math.min(distanceSquared, ex * ex + ez * ez);
|
|
159
|
+
if ((az > z) !== (bz > z) && x < (bx - ax) * (z - az) / (bz - az) + ax)
|
|
160
|
+
inside = !inside;
|
|
161
|
+
}
|
|
162
|
+
return { inside: inside || distanceSquared < 1e-18, distance: Math.sqrt(distanceSquared) };
|
|
163
|
+
}
|
|
164
|
+
/** Smooth wash outside a retained boundary: full opacity on the boundary itself. */
|
|
165
|
+
function feather(distance, width) {
|
|
166
|
+
const t = Math.max(0, Math.min(1, distance / width));
|
|
167
|
+
return 1 - t * t * (3 - 2 * t);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Surface terrain opacity in world tile coordinates. Tile (x,z) spans [x,x+1) x [z,z+1).
|
|
171
|
+
* Callers must leave labels, players, destinations and other overlays outside this mask.
|
|
172
|
+
* seaBleedTiles is a separate painter allowance, never an extension of technical bounds.
|
|
173
|
+
*/
|
|
174
|
+
export function surfaceChartOpacity(chart, x, z) {
|
|
175
|
+
const b = chart.technicalBounds;
|
|
176
|
+
if (!finite(x) || !finite(z) || x < b.minX || z < b.minZ || x >= b.maxX + 1 || z >= b.maxZ + 1)
|
|
177
|
+
return 0;
|
|
178
|
+
let opacity = 0;
|
|
179
|
+
for (const footprint of chart.protectedFootprints) {
|
|
180
|
+
const dx = Math.max(footprint.minX - x, 0, x - (footprint.maxX + 1));
|
|
181
|
+
const dz = Math.max(footprint.minZ - z, 0, z - (footprint.maxZ + 1));
|
|
182
|
+
if (dx === 0 && dz === 0)
|
|
183
|
+
return 1;
|
|
184
|
+
opacity = Math.max(opacity, feather(Math.hypot(dx, dz), chart.fadeTiles));
|
|
185
|
+
}
|
|
186
|
+
for (const component of chart.components) {
|
|
187
|
+
const outer = ringSample(component.outer, x, z);
|
|
188
|
+
let componentOpacity = outer.inside ? 1 : feather(outer.distance, chart.fadeTiles);
|
|
189
|
+
for (const hole of component.holes ?? []) {
|
|
190
|
+
const inner = ringSample(hole, x, z);
|
|
191
|
+
if (inner.inside)
|
|
192
|
+
componentOpacity = Math.min(componentOpacity, feather(inner.distance, chart.fadeTiles));
|
|
193
|
+
}
|
|
194
|
+
opacity = Math.max(opacity, componentOpacity);
|
|
195
|
+
if (opacity === 1)
|
|
196
|
+
return 1;
|
|
197
|
+
}
|
|
198
|
+
return opacity;
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=surfaceChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surfaceChart.js","sourceRoot":"","sources":["../src/surfaceChart.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,37 +1,38 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@dreadwood-types/types",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Public wire protocol and client-safe constants for Dreadwoods",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"types": "./dist/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"import": "./dist/index.js",
|
|
12
|
-
"default": "./dist/index.js"
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
"files": [
|
|
16
|
-
"dist"
|
|
17
|
-
],
|
|
18
|
-
"scripts": {
|
|
19
|
-
"build": "tsc -p tsconfig.json",
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@dreadwood-types/types",
|
|
3
|
+
"version": "0.1.111",
|
|
4
|
+
"description": "Public wire protocol and client-safe constants for Dreadwoods",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "tsc -p tsconfig.json",
|
|
20
|
+
"test": "node --test scripts/animation-test.mjs scripts/starter-jobs-test.mjs scripts/surface-chart-test.mjs",
|
|
21
|
+
"dev": "tsc -p tsconfig.json --watch",
|
|
22
|
+
"prepare": "npm run build",
|
|
23
|
+
"prepublishOnly": "npm run build"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"typescript": "^5.9.2"
|
|
27
|
+
},
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "https://github.com/JamesPhelps/dreadwoods-types.git"
|
|
31
|
+
},
|
|
32
|
+
"publishConfig": {
|
|
33
|
+
"access": "public"
|
|
34
|
+
},
|
|
35
|
+
"engines": {
|
|
36
|
+
"node": ">=22"
|
|
37
|
+
}
|
|
38
|
+
}
|