/** * SALTMERE CRESCENT (T68 slice 1, 2026-10-14; plan `.cursor/task-plans/2026-10-14-t68-west-coast.md`): the West Coast's first reach, levels 8-13, * free. From ChatGPT's sheet `west-saltmere-crescent` (hero scene, an area map 200 x 275, four people, an assets strip) and `west-view-1..3`; the sheets are * proposals, so only their names, geography and set pieces are used, never their pixels. * * The crescent is a hook of land in the sea west of the South Fields (the strip's far east columns, see westCoast.ts): a long east strip carrying the Coast * Path north from the quay, a wide block across its top where the Great Saltworks lie, a limb running west to West Point and its Beacon, and a beach strip down * the west side of Shell Bay, an inlet open to the south. Everything is laid on the strip's open sea by backend saltmereCrescent.ts. * * The frame is a LOCAL one (origin SALTMERE_X0, SALTMERE_Z0; the sheet's map 0-200 across, 0-275 down, with a short neck north of row 0 that the Redclay Hook * will join), so every authored number below is a local tile and `sm(lx, lz)` makes the world tile. Backend hashes read WORLD tiles inside the box. * The pieces are kit stand-ins (see dreadwoods-backend/upgrades list): no Blender in this slice set. */ import type { LanternWakeBox, LanternWakePiece, LanternWakePoint } from './lanternWake.js'; import { type WesternPolygon } from './westernKingdoms.js'; export declare const SALTMERE_NAME = "Saltmere Crescent"; export declare const SALTMERE_ID = "saltmere"; export declare const SALTMERE_X0 = 2284; export declare const SALTMERE_Z0 = 350; /** The reach's whole box (its discovery zone, the claim on the program board). */ export declare const SALTMERE_BOX: LanternWakeBox; /** A local tile as a world tile, and back. */ export declare function sm(lx: number, lz: number): { x: number; z: number; }; export declare function smLocal(x: number, z: number): { x: number; z: number; }; /** The land's ground heights: flat, the two beach steps down to the sea (the strip's own), and West Point's knoll. */ export declare const SALTMERE_GROUND_HEIGHT = 3; export declare const SALTMERE_BEACH_HEIGHTS: readonly number[]; /** * The coast, local, clockwise from the north neck. A blockout traced from the sheet's map and kept generous: the east strip (x 113-186) from the neck to the * south-east corner, the wide top block, the limb to West Point, the west beach strip. Shell Bay is cut out of it (SALTMERE_SHELL_BAY). */ export declare const SALTMERE_OUTLINE: WesternPolygon; /** Shell Bay: the inlet between the west beach strip and the east strip, open to the south. */ export declare const SALTMERE_SHELL_BAY: WesternPolygon; /** Is the world tile land (inside the coast, outside Shell Bay)? */ export declare function inSaltmereLand(x: number, z: number): boolean; export declare function inSaltmereBox(x: number, z: number, pad?: number): boolean; /** The roads (world polylines, width in tiles), laid as Path. */ export declare const SALTMERE_PATHS: ReadonlyArray<{ id: string; w: number; pts: readonly LanternWakePoint[]; }>; /** The Great Saltworks: the worn yard (laid as Dirt) and its six pans (laid as shallow water: the brine is shallow, nobody stands in it). */ export declare const SALTMERE_WORKS_YARD: LanternWakeBox; export declare const SALTMERE_PANS: ReadonlyArray<{ id: string; minX: number; maxX: number; minZ: number; maxZ: number; }>; /** A pan's brine sits this far below the yard. */ export declare const SALTMERE_PAN_DEPTH = 0.4; export declare function inSaltmerePan(x: number, z: number): boolean; /** The rim of the yard where the salt is raked: forage spots go here (a walkable tile touching a pan). */ export declare function nextToSaltmerePan(x: number, z: number): boolean; /** West Point's knoll: the beacon's hill, a cone of ground above the flat. */ export declare const SALTMERE_KNOLL: { readonly radius: 9; readonly top: 5; readonly x: number; readonly z: number; }; export declare function saltmereKnollHeight(x: number, z: number): number | null; export declare const SALTMERE_SALTWORKS_BOX: LanternWakeBox; export declare const SALTMERE_WEST_POINT_BOX: LanternWakeBox; export declare const SALTMERE_SHELL_BAY_BOX: LanternWakeBox; export declare const SALTMERE_PIECES: readonly LanternWakePiece[]; /** The reach's signs (the placard signpost). */ export declare const SALTMERE_SIGNS: ReadonlyArray<{ id: string; x: number; z: number; text: string; }>; /** Standable tiles (admin teleports, smokes): one for each place. */ export declare const SALTMERE_STANDS: { readonly quay: { readonly x: number; readonly z: number; }; readonly works: { readonly x: number; readonly z: number; }; readonly beacon: { readonly x: number; readonly z: number; }; readonly bay: { readonly x: number; readonly z: number; }; readonly meadow: { readonly x: number; readonly z: number; }; readonly beach: { readonly x: number; readonly z: number; }; readonly north: { readonly x: number; readonly z: number; }; }; export declare const SALTMERE_STAND: { readonly x: number; readonly z: number; }; /** The ferry's quay end: the skiff (a `caveentrance`, drawn as the kit's `hbrowboat`) and where the way in lands. */ export declare const SALTMERE_FERRY: { readonly id: "wc-ferry-saltmere"; readonly x: 2466; readonly z: 608; readonly facing: "n"; readonly style: "hbrowboat-n"; }; export declare const SALTMERE_FERRY_LANDING: { readonly x: 2461; readonly z: 608; }; /** The discovery zones, smallest first (types expandedContracts.ts INSERTED_DISCOVERY_ZONES, ahead of the coast's own). */ export declare const SALTMERE_DISCOVERY_ZONES: { minX: number; maxX: number; minZ: number; maxZ: number; id: string; label: string; coordinateFrame: "world"; }[]; export declare const SALTMERE_DISCOVERY_ZONE: { minX: number; maxX: number; minZ: number; maxZ: number; id: string; label: string; coordinateFrame: "world"; }; /** * Nell Marsh's counter at the quay (fairFolk.ts `quaymaid`; backend world.ts NAMED_SHOPKEEPERS keys it by her name): existing items at the other traders' * prices (bread at the inn's, the small rod at Wilson's), and buy-backs never above any counter's, so no loop pays. */ export declare const SALTMERE_QUAY_SHOP_TITLE = "Marsh's Quay Goods"; export declare const SALTMERE_QUAY_SHOP_STOCK: ReadonlyArray<{ kind: string; price: number; }>; export declare const SALTMERE_QUAY_SHOP_BUYS: Readonly>; /** * The crescent's fishing: three fixed tide snapper spots (fishing.ts `tidesnapper`, Fishing 14 and the snapper bait, as at Fisherman's Cove) in Shell Bay's * water off the lagoon's east shore, each within two tiles of standable sand. These are hints: the backend takes the nearest water tile that has sand * within two tiles of it (saltmereFishSpots). Smelt (Fishing 10) bite off the Long Pier at Hope Beach: the crescent's quest asks for them there. */ export declare const SALTMERE_FISH_SPOT_HINTS: ReadonlyArray<{ x: number; z: number; }>; //# sourceMappingURL=saltmereCrescent.d.ts.map