Change log

v3.1.2

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 https://code.archilogic.com/fpe-sdk/<version>/fpe.css.

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

<link rel="stylesheet" href="https://code.archilogic.com/fpe-sdk/v3.1.2/fpe.css">

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

v3.1.1

October 28th 2021

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

v3.1.0

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+

v3.0.2

April 29th 2021

  • Fixes
    • fix incorrect position for offscreen HTML markers

v3.0.1

April 14th 2021

  • Fixes
    • prevent issues from unsupported products geometry

v3.0.0

April 9th 2021

v2.2.0

February 3rd 2021

v2.1.0

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

v2.0.3

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

v2.0.2

August 27th 2020

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

v2.0.1

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

v2.0.0

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

v1.5.5

March 25th 2020

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

v1.5.4

March 10th 2020

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

v1.5.2

February 3rd 2020

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

v1.5.1

October 17th 2019

v1.5.0

October 2nd 2019

v1.3.2

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>">
      <path></path>
    </g>
    
    • 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
      console.log(spaces[0])
      /*
        {
          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
        }
        */
    })
    

v1.3.1

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

v1.3.0

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
    floorPlan.loadScene(sceneId)
    
    • floor plan theming