Documentation / @expofp/schema / FpSvgJs
Type Alias: FpSvgJs
type FpSvgJs = object;The evaluated fp.svg.js payload — the default layer's drawing plus plan-wide metadata.
Type Declaration
Index Signature
[key: string]: unknown__fp?
optional __fp?: string;The layer's SVG document (newer layer files emit it only as the __fp<layerName> alias; the loader folds it back here — see the module doc). Tagged svgAsset: its <image> hrefs are svg-images/… asset paths — made absolute when the payload resolves, localized when an offline copy is serialized.
__fpDefaultLayer?
optional __fpDefaultLayer?: string;name of the layer whose drawing this file carries.
__fpGeo?
optional __fpGeo?: object;Index Signature
[key: string]: unknown__fpGeo.images?
optional images?: object[];Index Signature
[key: string]: unknown__fpGeo.properties?
optional properties?: object;Index Signature
[key: string]: unknown__fpGeo.properties.config?
optional config?: object;Index Signature
[key: string]: unknown__fpGeo.properties.config.bearing?
optional bearing?: number;__fpGeo.properties.config.p0?
optional p0?: object;__fpGeo.properties.config.p0.lat
lat: number;__fpGeo.properties.config.p0.lng
lng: number;__fpGeo.properties.config.p0.x
x: number;__fpGeo.properties.config.p0.y
y: number;__fpGeo.properties.config.p1?
optional p1?: object;__fpGeo.properties.config.p1.lat
lat: number;__fpGeo.properties.config.p1.lng
lng: number;__fpGeo.properties.config.p1.x
x: number;__fpGeo.properties.config.p1.y
y: number;__fpGeo.properties.config.p2?
optional p2?: object;__fpGeo.properties.config.p2.lat
lat: number;__fpGeo.properties.config.p2.lng
lng: number;__fpGeo.properties.config.p2.x
x: number;__fpGeo.properties.config.p2.y
y: number;__fpGeo.properties.config.p3?
optional p3?: object;__fpGeo.properties.config.p3.lat
lat: number;__fpGeo.properties.config.p3.lng
lng: number;__fpGeo.properties.config.p3.x
x: number;__fpGeo.properties.config.p3.y
y: number;__fpGeo.properties.config.snapThreshold?
optional snapThreshold?: number;__fpGeo.properties.config.style?
optional style?: "light" | "dark";Basemap palette the drawing is authored for (MapThemeSchema) — what the Designer emits. Left unset by drawings that predate it, where the SDK falls back to __fpSettings.backgroundColor's lightness.
__fpGeo.properties.config.type?
optional type?: "maplibre";The map the drawing is authored for. 'maplibre' — the only value the Designer emits — asks the SDK to render the plan on the MapLibre basemap; unset leaves the plan on the plain floor plan. An explicit enableExperimentalMaplibre from any config layer still overrides it.
__fpGeo.properties.mpViewbox?
optional mpViewbox?: number[];__fpGeo.properties.useMaplibre?
optional useMaplibre?: boolean;__fpLayers?
optional __fpLayers?: object[];Index Signature
[key: string]: unknown__fpLayersMode?
optional __fpLayersMode?: number;Numeric LayersMode enum (0 Default/single-floor, 1 Separated, 2 Radio/multi-floor, 3 CheckBox — store/LayerStore.ts).
__fpPaths?
optional __fpPaths?: object[];Triangulated meshes by data-index (newer files: folded from the alias).
__fpPending?
optional __fpPending?: boolean;Plan is still generating server-side: stub payload, poll again later.
__fpSettings?
optional __fpSettings?: object;Index Signature
[key: string]: unknown__fpSettings.backgroundColor?
optional backgroundColor?: string;__fpSettings.boothBorderColor?
optional boothBorderColor?: string;__fpSettings.boothBorderWidth?
optional boothBorderWidth?: number;__fpSettings.boothLabelColor?
optional boothLabelColor?: string;__fpSettings.fpVer?
optional fpVer?: string;Converter format version ("5.0"); gates v5+ runtime features. Distinct from the numeric __fpVersion.
__fpSettings.heatmapColors?
optional heatmapColors?: string[];__fpSettings.maxZoom?
optional maxZoom?: number;__fpStat?
optional __fpStat?: object;Index Signature
[key: string]: unknown__fpStat.dataSize?
optional dataSize?: number;__fpVersion?
optional __fpVersion?: number;Numeric data-format version (e.g. 6). Distinct from fpVer.
__viewbox?
optional __viewbox?: object;Index Signature
[key: string]: unknown__viewbox.angle?
optional angle?: number;__viewbox.height
height: number;__viewbox.width
width: number;__viewbox.x
x: number;__viewbox.y
y: number;