Skip to content
Work in progress. These docs describe Spawnite at launch, and some parts are still being built.

frameShot

frameShot(surface, camera, aspect): MapView

The camera a shot looks through, framed from the map’s data and the ground with no render: a raw view as written, or one that fits its subject from its angle, at the aspect the shot is taken at. A scene with no map, as a track game’s, passes the box it draws instead, and all frames that box. Throws on a subject the map has not got.

Parameter Type
surface Box3 | Readonly<{ baseHeights: Float64Array<ArrayBuffer>; cell: number; getHeightAt: (position) => number; getNormalAt: (position, target) => Vector3; isUnderWaterAt: (position) => boolean; map: Readonly<{ cell: number; ground: { base: string; rules: readonly object[]; steep: string; steepAbove: number; }; hills: Readonly<{ amplitude: number; detail: number; wavelength: number; }>; materials: Readonly<Record<string, { animate?: { frames?: … | …; frameTime?: … | …; scroll?: … | …; }; bumps?: number; cover?: { colour?: … | …; density?: … | …; height?: … | …; kind: Grass; sway?: … | … | …; }; from?: string; hexTiling?: boolean; rotate?: boolean; sharpness?: number; texture?: string; tile?: number; tint?: string; tintAmount?: number; wet?: boolean; }>>; paths: Readonly<Record<string, Readonly<{ fade: number; halfWidth: number; points: readonly readonly […, …][]; surface?: "dirt" | "stone" | "sand"; }>>>; props: Readonly<Record<string, Readonly<{ color: string; kind: PropShape; position: … | …; scale: … | …; size: readonly […, …, …]; yaw: number; }> | Readonly<{ kind: ScatterKind; position: … | …; scale: number; yaw: number; }> | Readonly<{ model: string; position: … | …; scale: … | …; yaw: number; }>>>; regions: Readonly<Record<string, Readonly<{ center: readonly [number, number]; fade: number; hills: Readonly<{ amplitude: …; detail: …; wavelength: …; }>; material?: string; radius: number; scatter: Readonly<{ bushRound: …; clearing: …; grassTuft: …; rockBoulder: …; rockFlat: …; seedOffset: …; treeRound: …; treeTall: …; }>; }>>>; revision?: number; rim: number; scatter: Readonly<{ bushRound: number; grassTuft: number; rockBoulder: number; rockFlat: number; seedOffset: number; treeRound: number; treeTall: number; }>; sea?: number; seed: number; size: number; terrain?: { base: Readonly<{ hills: Readonly<{ amplitude: …; detail: …; wavelength: …; }>; paths: Readonly<Record<…, …>>; regions: Readonly<Record<…, …>>; rim: number; seed: number; }>; blend?: string[]; cell: number; erased?: Partial<Record<ScatterFamily, …[]>>; height?: string[]; overlay?: string[]; paint?: string[]; palette?: string[]; scatter?: Partial<Record<ScatterFamily, …[]>>; size: number; }; views: Readonly<Record<string, Readonly<{ eye: readonly [number, number, number]; fov: number; ortho?: number; target: readonly [number, number, number]; }>>>; }>; offsets: Float64Array<ArrayBufferLike>; sea: number; seed: number; segments: number; size: number; terrain: Pick<{ base: Readonly<{ hills: Readonly<{ amplitude: number; detail: number; wavelength: number; }>; paths: Readonly<Record<string, Readonly<…>>>; regions: Readonly<Record<string, Readonly<…>>>; rim: number; seed: number; }>; blend?: string[]; cell: number; erased?: Partial<Record<ScatterFamily, […, …][]>>; height?: string[]; overlay?: string[]; paint?: string[]; palette?: string[]; scatter?: Partial<Record<ScatterFamily, string[]>>; size: number; }, "height" | "size" | "overlay" | "cell" | "paint" | "blend" | "scatter" | "palette" | "erased"> | undefined; getPathDistanceAt: number; getPathSurfaceAt: { surface: NonNullable<"dirt" | "stone" | "sand" | undefined>; weight: number; } | undefined; getPointAt: Vector3; getRegionWeightsAt: number[]; getShoreDistanceAt: number; getSlopeAt: number; }>
camera Readonly<{ eye: readonly number[]; fov?: number; ortho?: number; target: readonly number[]; }> | { angle?: Top | Bottom | Front | Back | Left | Right | ThreeQuarter | Iso | { azimuth: number; elevation: number; }; around?: string | readonly number[] | readonly number[][]; ortho?: boolean; zoom?: number; }
aspect number

MapView