/** * THE BAY ITSELF (James, 2026-10-15, after standing in it: "look at all this empty space ... why is a pirate area full of empty grass and * not sand"). Every pirate bay sheet (pirate-bay-a01 "A Living Pirate Bay", pirate-bay-x-overview, b01) draws one big crescent of * sand round open water with ships at anchor in the middle. The coast's land (southExpansion.ts, 2026-10-05) predates that design: it * was laid as a solid landmass with a rock spine, and phases 1-7 built their places on its north strip and at Fort Rook, leaving the * whole south half (the cove to the fort, under the spine) a flat field of grass. This file cuts the bay into that field: * * - THE WATER: a basin from the headland above Blackwake Cove to below Fort Rook's west wall, under the spine, open to the south sea * through a mouth west of the south spit. A sandbar fords the mouth at sea level, so the spit (the boarding ships' shore boats, the * grotto's grille) is still a short walk from the cove road. * - THE BEACH: everything within BAY_BEACH_TILES of the bay's water is sand, the whole way round. Port Blackwake's streets are sand too. * - THE ANCHORAGE: a pier off the north beach with a Blackwake ship moored at its end (walkable, the cove's kit), two more ships riding * at anchor in the middle (scenery), two rocky islets, rowing boats drawn up on the sand and palms along the beach. * * Every number is a WORLD tile in the final frame (public), like bayReaches.ts. The map builder is backend southExpansion.ts * (placeSunderedCoast cuts the water and lays the sand, placeSunderedBay lays the rest). Test: scripts/sundered-bay-test.mjs here and * the backend's sundered-bay-smoke.ts. */ import type { CoastPart } from './blackwakeCoast.js'; export type BayPoint = readonly [number, number]; /** The bay's water, tile corners, clockwise from the headland above the cove. The mouth runs south off the coast into the sea. */ export declare const SUNDERED_BAY_WATER: readonly BayPoint[]; /** The bay's rocky islets: stone and crags, nobody stands on them. */ export declare const SUNDERED_BAY_ISLETS: ReadonlyArray<{ id: string; x: number; z: number; r: number; }>; /** The sandbar across the mouth: sea-level sand you can walk, tile centres of its line, laid three wide. */ export declare const SUNDERED_BAY_SANDBAR: readonly BayPoint[]; /** How far up the shore the bay's sand reaches. */ export declare const BAY_BEACH_TILES = 8; /** Port Blackwake's streets are sand (the town's own builder lays its boards and paths on top). */ export declare const SUNDERED_SAND_GROUNDS: ReadonlyArray<{ id: string; minX: number; maxX: number; minZ: number; maxZ: number; }>; /** * The pier and the ship moored at it (the cove's Blender kit: blackwakeshoresteps, blackwakewalk, blackwakeship). The steps climb off * the north beach facing south, three walks run the pier south over the water, and the ship lies west of the pier's end with her plank * (dx 3) on the pier. */ export declare const SUNDERED_BAY_PIER: ReadonlyArray; /** Ships riding at anchor in the middle of the bay: scenery on the water, nobody boards them. */ export declare const SUNDERED_BAY_ANCHORED: ReadonlyArray<{ id: string; model: string; x: number; z: number; style: string; }>; /** Rowing boats drawn up on the bay's sand; the builder puts each on the nearest open sand at the water's edge. */ export declare const SUNDERED_BAY_ROWBOATS: ReadonlyArray<{ id: string; x: number; z: number; style: string; }>; /** Palms along the bay's beach; the builder puts each on the nearest open sand a few tiles up from the water. */ export declare const SUNDERED_BAY_PALMS: readonly BayPoint[]; /** Is a tile the bay's water? */ export declare function inSunderedBayWater(x: number, z: number): boolean; export declare function inSunderedBayIslet(x: number, z: number): boolean; /** On the sandbar's three-wide line (and inside the bay's outline: the rest of its line is land already). */ export declare function onSunderedBaySandbar(x: number, z: number): boolean; //# sourceMappingURL=sunderedBay.d.ts.map