Change log

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.3, 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