Change log


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