Skip to content

Change log


March 15th 2023

  • Changes
    • use updated storage endpoints


December 4th 2023

  • New ✨

    • the Floor Plan SDK npm package now ships with type definitions, offering first-class TypeScript support.
    • support was added for the customId property on space and asset objects found under floorPlan.resources. Custom IDs can be set through the Editor UI. See the Help Center article for more information.


November 17th 2023

  • Fixes
    • prevent namespace collision for 2d outline cache when multiple SDK versions are loaded


November 13th 2023

  • New ✨

    • the Floor Plan SDK package is now published to npm, and npm will be the main distribution channel for Floor Plan SDK releases going forward. CDN URLs will continue to be supported for v3.x releases, but we recommend migrating to the npm package when possible.

      Installation via npm CLI:

      npm install @archilogic/floor-plan-sdk


      // importing the npm package as ES module (recommended)
      import FloorPlanEngine from '@archilogic/floor-plan-sdk'
      // importing the npm package as UMD bundle (when the global FloorPlanEngine variable is required)
      import '@archilogic/floor-plan-sdk'
      // importing the stylesheet (when used with a bundler which supports importing CSS files)
      import '@archilogic/floor-plan-sdk/fpe.css'
      // importing as ES module via public CDN (useful for environments where npm is not supported)
      import FloorPlanEngine from ''
    • Changes

      • use static 2d outline cache for improved performance


March 21st 2023

  • Fixes
    • fixed floorPlan.resources not being updated after loading another scene


July 12th 2022

  • Fixes
    • fixed UI menu issues with multiple instances of floor plan engine


December 6th 2021

  • Fixes
    • fixed issue where offscreen HTML markers could be incorrectly updated


November 25th 2021

  • Fixes
    • fixed canvas resize issues related to static CSS positioning*

*As part of this fix and from v3.1.2 onwards, an external stylesheet is now deployed to our CDN at<version>/fpe.css.

It can be linked to as an external stylesheet, ie:

<link rel="stylesheet" href="" />

This can be used for debugging purposes or for environments where CSS injection via JS is not supported.


October 28th 2021

  • Fixes
    • fixed setHighlight method when the specific resource was colored by a theme


September 30th 2021

  • New

    • add ability to set fillOpacity, outline and outlineWidth with setHighlight method
    • preserveViewbox can now be used to specify how a floor plan should be anchored if its containing DOM element is resized
    • the text outline for a roomStamp can now be disabled with the elements.roomStamp.textOutline theme option
    • the content of a roomStamp can now be further customized with the roomStampDisplay option
    • the current zoom level is now exposed by the 'viewbox' event
  • Changes

    • improved loading engine
    • void spaces are rendered transparent without room stamp
    • performance improvements for info windows
    • improve 2d layering of assets, wallContours and railings
  • Fixes

    • fixed issues with misplaced info windows
    • add correct spacings for longer room stamps
    • fixes WebGl issues with Chrome 94+


April 29th 2021

  • Fixes
    • fix incorrect position for offscreen HTML markers


April 14th 2021

  • Fixes
    • prevent issues from unsupported products geometry


April 9th 2021


February 3rd 2021


December 7th 2020

  • New

    • private scenes can be accessed with a corresponding token
    • support for asset subCategories
    • support display of custom space usage names
  • Fixes

    • fix option for infoWindows to not show the closing button


September 24th 2020

  • Changes

    • added support for access token syntax
    • area measurement has a semi transparent background
  • Fixes

    • enable transparent background
    • measuring text adapts to zoom level
    • fix snapping to walls when changing a measurement
    • improved texture loading
    • better material support


August 27th 2020

  • Fixes
    • mobile click events exposed incorrect position
    • prevent duplicate instance on the same root node


August 21th 2020

  • Changes
    • enable scale bar with imperial units
    • allow to switch off menus on runtime
    • allow to toggle panZoom on runtime
    • set default strokeWidth for wallContours
    • add support for size param when creating markers
    • set default planRotation to 0
  • Fixes
    • correct position in drop event for canvas with offset
    • reset texture loader when needed and make sure to capture unloaded textures
    • fix shape fill for wallContours


August 19th 2020

  • New

    • WegGl based drawing engine
    • Texture support for the assets
    • Subscribe to floor plan events: click, mousemove, drop which expose the current plan position FloorPlanEvents
    • Added method getResourcesFromPosition to get resources ( spaces or assets ) from a given plan position
    • Added Method to destroy and clean up floor plan instance
  • Changes


March 25th 2020

  • Changes
    • Send SDK version in request header
    • Allow to set the publishableApiKey in the startup options


March 10th 2020

  • Fixes
    • Disable resize handler when printing
  • Changes
    • Replace document resize with resize handler


February 3rd 2020

  • New
    • Option to toggle usage and area independently for room stamps


October 17th 2019


October 2nd 2019


June 25th 2019

  • New

    • Added support for multiple instances
  • Changes

    • fpe.loadScene returns promise directly
    • fpe.sceneLoaded.promise is deprecated
    • Furniture svg nodes contain product id:
    <g class="interior" product-id="<product-id>">
    • Floor plan engine mounts as a child node to the provided dom element
    • Computed spaces contain bounding box
    floorPlan.loadScene(sceneId).then(() => {
      // computed spaces gives access to the metadata and shape in world space of the spaces ( rooms ) of a scene
      const spaces = floorPlan.state.computed.spaces
          localPlacement: Object                      // location and polygon in object space
          boundingBox: {x, y, x2, y2, width, height } // bounding box of the polygon
          id: "3c45a15b-4016-44e4-bb61-ce0f828b6848"  // unique id
          usage: "Work"                               // label
          polygon: Array[8]                           // outline in world space
          polygonHoles: Array[0]                      // holes in the polygon
          area: 19.461620941722256                    // area in m2
          center: Array[2]                            // pole of inaccessibility of the polygon in world space


June 20th 2019

  • New
    • zoomToExtent supports animation
    // margin    Number   bounding box margin in meters
    // duration  Number   duration in milliseconds
    fpe.view.zoomToExtent(margin, duration)
    • Added new method zoomToElement
    // element   Element  dom element to mount to
    // margin    Number   bounding box margin in meters
    // duration  Number   duration in milliseconds
    fpe.view.zoomToElement(element, margin, duration).then(() => {
      /* do something when animation is done */
    • Both methods return a promise, resolving when the animation is done


June 6th 2019

  • New
    • mount floor plan engine to dom node with initialization options
    const options = {
      panZoom: true,
      units: {
        system: 'imperial'
      theme: {},
      ui: {
        menu: false,
        scale: true,
        coordinates: false
    const floorPlan = new FloorPlanEngine(elementId, options)
    • load scene from sceneId
    • floor plan theming