Appearance
Changelog
v5.5.0
September 25th 2026
New ✨
Wayfinding:
getPathcomputes the shortest walkable route between two points,findClosestthe closest reachable space or element matching a query filter together with the route to it. Same signatures as the extension SDK's methods:tsconst route = await floorPlan.getPath({ start: [3, 4.5], end: [25, 12] }) // { path: Vector2[], distance: number } const closest = await floorPlan.findClosest({ start: [3, 4.5], where: { subCategory: 'meetingRoom', customAttributes: { isBookable: true } } }) // { path, distance, target: { id, position } | null }Points outside the walkable area are mapped to the closest walkable point;
pathis empty when no route exists, and both methods returnnullwhile no floor is loaded.
v5.4.0
September 23rd 2026
Changes
- Curved and tapered walls are properly supported and rendered
- Theme:
theme.byFilterentries matching the same node compose per property - The package is now ESM-only: the UMD/CommonJS build is removed
Fixes
- webgl: serve a fresh base texture when the cached one was destroyed with its layer
v5.3.0
July 29th 2026
- New ✨
- Plan graphics added with
addGraphiccan now be made interactive. Passinteractionto make a graphic clickable or draggable:tsUseconst layer = floorPlan.addLayer({ id: 'handles' }) layer.addGraphic({ shapes: [{ type: 'curve:circle', radius: 0.5, position: [0, 0], style: { fill: '#ff9955' } }], position: [-2, 5], fixedScreenSize: true, interaction: { drag: true } })drag: truefor a handle that follows the pointer, ordrag: 'event-only'to receive drag events while repositioning the graphic yourself. - New
fixedScreenSizeoption keeps a graphic at a constant screen size regardless of zoom. Set it totrue, or to a[min, max]ZoomRangeto only apply the scaling within a zoom range. - Granular
visibilitycontrol for elements and spaces. Show or hide nodes bybyType,byIdorbyFilter— the same composition astheme:tsCombine a broad hide with a narrow show to display only a subset. Hidden nodes are left out of the rendered plan andfloorPlan.set({ visibility: { byFilter: [ { where: { type: 'element:asset' }, show: false }, { where: { subCategory: 'workstation' }, show: true } ] } })exportImage. - Asset stamps label assets on the plan, configured with
labelon theelement:assettheme entry:tsUsefloorPlan.set({ theme: { byType: { 'element:asset': { label: { display: ['customId'], visible: [40, 300] } } } } })visibleto restrict stamps to aZoomRange, andfixedScreenSizeto control how they scale with zoom.
- Plan graphics added with
- Changes
- The
addGraphicoptionsscaleOnZoom,interactive,isHandlerandupdatePositionOnDragare deprecated — usefixedScreenSizeandinteractioninstead. hideElementsis deprecated — usevisibilityinstead.hideElements: ['element:asset']maps ontovisibility: { byType: { 'element:asset': { show: false } } }and still works.
- The
v5.2.1
March 6th 2026
- Fixes
- Better handling of html markers position updates on canvas resize
- Shapes with image fill now support opacity
- All closed curve types are now supported for shape with image fill
v5.2.0
February 25th 2026
- New ✨
- Support for layout query methods
floorPlan.getElements,floorPlan.getSpacesetcts// find all meet spaces that are larger than 50 sqm const largeSpaces = floorPlan.getSpaces({ where: { category: 'meet', area: { gte: 50 } } }) - Floor plans can now be styled using theme filtersts
// highlight all workstations with // custom attribute 'isBooked = true' in red floorPlan.set({ theme: { byFilter: [ { where: { subCategory: 'workstation', customAttributes: { isBooked: true } }, style: { fill: '#ff8855' } } ] } }) - Load a specific layout via loadLayoutById
- Support for layout query methods
- Changes
floorPlan.layoutis deprecated in favour of the new query methodsfloorPlan.getResourcesFromPositionis deprecated usefloorPlan.getElements({ where: { at: [x, z] }})insteadtheme.elementsis deprecated usetheme.byTypeinstead
- Fixes
- if no style is provided for a shape it falls back to stroke with constant 1px width
- setting theme by id or filter now applies to child elements
v5.1.17
January 26th 2026
- Fixes
- Fixed
zoomByFactornot applying the zoom factor correctly
- Fixed
v5.1.16
January 7th 2026
- Fixes
- Improved handling of floor plan instance reinitialization
v5.1.15
December 22nd 2025
- Fixes
- Prevent accessing destroyed floorplan instance
v5.1.14
December 18th 2025
- Fixes
- Theme fill and stroke colors now apply correctly when
showAssetTexturesis enabled
- Theme fill and stroke colors now apply correctly when
v5.1.13
October 24th 2025
- Changes
- Updated Space Graph version
- Performance improvements for loading the layout
- Fixes
- Replaced canvas element title attribute with alt-text fallback
v5.1.12
October 17th 2025
- Changes
- Improvements to component instance handling
v5.1.11
July 17th 2025
- Fixes
- Performance improvements for drawing components without asset textures
v5.1.10
July 9th 2025
- Fixes
- Improved hit test for assets
v5.1.9
July 4th 2025
- Changes
- Support product components
- Fixes
- Get product component drawing order from nested asset's products
v5.1.8
April 29th 2025
- Fixes
- Better handle small shapes for polygon label point used for room stamps
v5.1.7
April 15th 2025
- Changes
- Support custom attribute definitions with the same api field name for different resource types
v5.1.6
March 26th 2025
- Fixes
- Inherit space relation for nested assets
v5.1.5
March 3rd 2025
- Fixes
- Solve artifacts with thin intersecting walls
- Updated Space Graph version
v5.1.4
February 27th 2025
- Changes
- Custom attribute values of type boolean and number are no longer stringified
- Fixes
- Unified bounding box calculations
- Updated Space Graph version
v5.1.3
January 30th 2025
- Fixes
- Stability improvements for wall geometries
- Updated Space Graph version
v5.1.2
January 27th 2025
- Changes
- Default font switched from Avenir to Inter
v5.1.1
January 16th 2025
- Changes
- spaces and elements can now be filtered by
node.isExternal: boolean - updated Space Graph version
- optimized layout loading
- spaces and elements can now be filtered by
v5.1.0
November 14th 2024
- New ✨
- Support for displaying custom attributes in room stamps
- Changes
- updated Space Graph version
v5.0.2
October 2nd 2024
- Changes
- minor type improvements
- update Space Graph version
v5.0.1
September 24th 2024
- Changes
- supporting walls with multiple edges
v5.0.0
September 3rd 2024
- New ✨
- native Space Graph support
- drawing shapes on top of the floor plan
Looking for older versions or the V3 Migration guide ?

