/** * BRINDLECROSS (Brindlecross slice 1, 2026-10-12; plan `.cursor/task-plans/2026-10-12-brindlecross.md`): the first inland * settlement of the Western Kingdoms, a free level 10-15 hamlet where roads, drovers and coast traffic meet. Stop 2 on the * heartland sheet (design ids `western-heartland-1-overview`, `western-heartland-2-brindlecross`); the sheets are proposals, * so only their names and geography are used, never their pixels. * * Where: WEST of Lantern Wake's west ridge, on the road the game already has (the street, cut through the ridge by * LANTERN_WAKE_PASS, a walk gate at Combat 10: areaGates.ts `brindle-road`). Every number is a WORLD tile; the land beyond the * ridge is the blockout's flat grass at height 3 (westernKingdoms.ts), so the hamlet is flat and its stream is the only * negative ground. * * Layout, west to east along the Brindle Road (z 1094): the stone bridge over the stream, the Drovers' Inn and the General * Trader's stalls facing each other, Brindle House on the crossroads green, the North Road leaving north for Riversend Halt, * the smithy yard, the cart sheds and the practice yard to the south-east, the small shrine, the bean patches north-east, the * sheep fold north-west. The pieces are the kit's models, or a stand-in until slice 2's Blender pieces are registered. */ import type { LanternWakeBox, LanternWakePiece, LanternWakePoint } from './lanternWake.js'; export declare const BRINDLECROSS_NAME = "Brindlecross"; export declare const BRINDLECROSS_ID = "brindlecross"; /** Combat level the Brindle Road's pass asks (the sign at the street's west end says Lv 10+; a placeholder until the balance pass). */ export declare const BRINDLE_ROAD_COMBAT_LEVEL = 10; /** The hamlet's discovery zone and ground box (the stream and the bean patches included). */ export declare const BRINDLECROSS_BOX: LanternWakeBox; /** The stone bridge over the stream, on the road row: deck 5 along the road, the road 3 wide across it. */ export declare const BRINDLECROSS_BRIDGE: { readonly id: "bc-bridge"; readonly model: "hbfordbridge"; readonly facing: "e"; readonly x: 1832; readonly z: 1094; }; /** The stream's centre line: x = BRINDLECROSS_STREAM_X + sway; three tiles wide, from z 1010 to 1160, the bridge at its zero. */ export declare const BRINDLECROSS_STREAM: { readonly x: 1832; readonly minZ: 1010; readonly maxZ: 1160; readonly half: 1; readonly amp: 3; readonly wave: 18; }; export declare function brindlecrossStreamX(z: number): number; /** Is this tile water of the stream (the road's bridge rows are a sand strip, not water)? */ export declare function inBrindlecrossStream(x: number, z: number): boolean; /** The three road rows across the stream, laid as sand (walkable) under the bridge deck. */ export declare function inBrindlecrossFordRows(x: number, z: number): boolean; /** The roads (world polylines, width in tiles), laid as Path: the Brindle Road, the North Road, the East Cart Track, the green. */ export declare const BRINDLECROSS_PATHS: ReadonlyArray<{ id: string; w: number; pts: readonly LanternWakePoint[]; }>; /** The crossroads green (a plain of beaten earth the roads meet on), laid as Path. */ export declare const BRINDLECROSS_GREEN: LanternWakeBox; /** The sheep fold's fence (laid as a ring of posts by the backend) and the bean patches (laid as dirt rows). */ export declare const BRINDLECROSS_SHEEP_FOLD: LanternWakeBox; export declare const BRINDLECROSS_BEAN_PATCHES: LanternWakeBox; /** The practice yard (slice 3 puts the butts and Warden Pell's drill here): bare earth under its fence. */ export declare const BRINDLECROSS_PRACTICE_YARD: LanternWakeBox; /** * The hamlet's pieces. `model` is the Blender piece slice 2 registers (bc*), `standIn` the kit piece drawn until then * (backend brindlecross.ts pushPiece). North of the road they face south onto it, south of it they face north. */ export declare const BRINDLECROSS_PIECES: readonly LanternWakePiece[]; /** The hamlet's signs (the placard signpost): the pass, the crossroads and the road north. */ export declare const BRINDLECROSS_SIGNS: ReadonlyArray<{ id: string; x: number; z: number; text: string; }>; /** Standable tiles (admin teleports, smokes): one for each place. */ export declare const BRINDLECROSS_STAND: { readonly x: 1866; readonly z: 1095; }; export declare const BRINDLECROSS_STANDS: { readonly green: { readonly x: 1866; readonly z: 1095; }; readonly bridge: { readonly x: 1826; readonly z: 1094; }; readonly inn: { readonly x: 1846; readonly z: 1093; }; readonly stalls: { readonly x: 1851; readonly z: 1096; }; readonly smithy: { readonly x: 1882; readonly z: 1093; }; readonly butts: { readonly x: 1900; readonly z: 1108; }; readonly shrine: { readonly x: 1913; readonly z: 1110; }; readonly beanPatches: { readonly x: 1886; readonly z: 1076; }; readonly northRoad: { readonly x: 1867; readonly z: 1050; }; readonly pass: { readonly x: 1936; readonly z: 1094; }; }; /** The discovery zone (types expandedContracts.ts INSERTED_DISCOVERY_ZONES, ahead of the land's own). */ export declare const BRINDLECROSS_DISCOVERY_ZONE: { minX: number; maxX: number; minZ: number; maxZ: number; id: string; label: string; coordinateFrame: "world"; }; export declare function inBrindlecrossBox(x: number, z: number, pad?: number): boolean; //# sourceMappingURL=brindlecross.d.ts.map