A.K.A. ๐ The Halloween release, nothing too scary though.
๐ Improvements
The floor plan can now be rotated to a specific angle in 2D by setting
cameraPlacement.alpha
when callingstartViewer
.The initial camera placement passed in through
startViewer
can now be a partial object, to just set the angle of view for example, while leaving the rest to be automatic.The viewer's recenter button now uses the initial camera placement, if any was provided.
We've fixed an issue where the camera would not center in the editor sometimes.
โ๏ธ Groundwork (and nerdy)
We're working on new Stripe-inspired IDs that will be developer-friendly and shorten the URLs. This release backfills them, stay tuned ;).
๐ Improvements
The displayed width of stats with aggregates can now be controlled in reports, to support logical grouping.
Long names are better handled in the level explorer report template.
๐ Bug fixes
We've fixed an issue introduced in the previous release where spaces with shell parts would not render.
๐ New features
You can now programmatically take a screenshot of the viewer, with or without its UI overlays. There are 2 options for it: download the file to the user's file system (docs), or get the image encoded as Base64 string that you can manipulate or upload to any location you want (docs).
The map viewer now supports indoor space rendering with volumetric walls and semi-transparent windows.
We've added drop-in search to the map viewer, set the option to true to get global address and POI search, plus GPS coordinates search in almost any format.
The reports can now be configured to use any of the viewer's render options.
๐ Improvements
We've improved the type-specific
addDataLayer
APIs introduced in the previous release so you don't need to provide the type twice ๐.You can now set zero to be treated as "no data" when using the
weightedArea
statistic in reports.You can now configure items to be ignored in the reports' leaderboard.
๐ Bug fixes
We've fixed the
weightedArea
statistic for datasets with missing values.
๐ New features
The new features in this release are all about developer experience for our fellow Typescript devs! ๐ฉโ๐ป
We now expose many types that are frequently useful in userland at the root of the
smplr-loader
NPM package. Reach out to support if there are more that you need and are not yet exposed.We have added type-specific variants of the
addDataLayer
API (e.g.addHeatmapDataLayer
) to make it easy to force the type inference towards a specific type of data layer: point, polygon, etc. More in the docs.
๐ Improvements
The area calculation API now handles polygons with holes.
Polygons with holes are now draggable.
๐ Bug fixes
We've fixed an issue that caused the argument of the onResize handler to be undefined.
We've fixed an issue with the topShownLevel option not working in 2D mode.
๐ Bug fixes
We forgot to expose the new legend components through smplr.js in the previous release ๐. It is now fixed.
We've fixed an error in the vanilla JS function to draw the new swatches.
๐ New features
You can now dynamically show/hide the level picker and the navigation button, without having to restart the viewer. See the new functions in the docs.
Using that new capability, reports now hide the level picker when a level is selected in the level filter.
There are 2 new legend components: color swatches for your categorical color scales, and icon swatches for your icon layers. See the docs for details.
You can now configure a legend on your data layers and it will be rendered in a collapsible overlay on the viewer itself. See the docs for details.
The position of the legend on the viewer can be configured as well. See the docs for details.
We've added support for automated legend in reports, using the fresh new legend-ary ๐ฌ capabilities .
You can now add a templated title overlay on the viewer in the reports, giving you a summary of the data you're looking at, and making screenshots more informative as well.
๐ Improvements
We've improved the design of the legend component as well as the position of its labels
๐ New reports features
The selected date is now synced to the URL so you can share a link to the report for a specific date.
Reports now have the possibility to use top level filters for levels and categories that are persisted across pages.
Minimum and maximum have been added to the list of supported stats.
Non selectable stats are now an option, ideal for range type stats.
๐ซ Improvements to reports
The leaderboard has a new option to ignore 0 values.
The unit system has been improved to support units with prefix and suffix (e.g. $10.42psf).
We've improved the data to assetmap stitching algorithm to support complex scenarios like combined units.
We've improved the filtering behavior so it aligns better with users expectations.
The viewer is a lot less "jumpy" and levels change only when you really expect them to.
๐ Other improvements
We've improved the walls intersection detection that powers the new auto-room feature. Walls that are not perfectly connected now behave as you'd expect them to.
You can now georeference spaces with a 0.1ยฐ precision in heading.
๐ Bug fixes
We've fixed a crash that could happen when deleting the last floor of a space.
We've fixed an issue that could lead to furniture having the wrong dimensions in 2D mode.
We've fixed the reports' leaderboard for when there are few items.
๐ Documentation
We've added an example of a bespoke embedded mapping & markup process, which can be used as starter code for your own implementation. See it in the docs.
๐ New features
We've completely overhauled our tooltips system to support a bunch of new capabilities:
HTML tooltips are now supported, with sanitization against XSS attacks.
We can now use tooltip templates powered by handlebars.
You can also customize the style of the tooltip's container with CSS strings.
Tooltips can be set to be "persistent", which means they'll stay visible on screen instead of appear on hover, with automatic (re)positioning as the camera moves.
You can learn more about the new capabilities in the API reference, or play with this live example.
The reports configuration have been updated to support all new tooltip features.
We're making it easier to digitize parts of buildings with 2 new features:
Walls and grounds offer a new "shell" type in the editor, that gets rendered in semi-transparent grey, to provide context without details, about parts of the building that are not digitized. Doors and windows are automatically removed in shell mode.
The "hidden" type has also been added, for when you want to keep walls and grounds in the editor but hide them in the viewer. This is useful (for example) when duplicating floors to be used as shell, and if you want to maintain the lift shafts for potential future use.
๐ Improvements
The height of the chairs in a table and chairs combo now automatically adapts to the height of the table. Ideal for bar counters in your pantry โ.
You can now collapse the active level or section in the editor. It comes handy for big spaces that were turning into a scroll party.
Furniture are not rendered below the walls in 2D mode. Just looks nicer when alignment is not perfect ๐ .
๐ Bug fixes
We've fixed an issue where tooltips would not show up after switching between 2D and 3D modes.
๐ Documentation
We've improved the add data elements example in our docs to include furniture mapping and room mapping in a single click.
๐ฃ Announcement
This version marks the release of the longest standing feature request at Smplrspace, the ability to embed the editor in your application!
After 28 months in the backlog, and 9 months being on and off in development, it is finally live (in beta for now). We went through major upgrades to the underlying code-base to make it happen โ over a dozen pull request, including a rework of the authentication and local storage system to allow for unauthenticated editor sessions, as well as a full transition of the editor to Typescript to make sure we're not introducing bugs with the major changes.
You can already test it, using the documentation to integrate or this live example to play around. We're happy to receive any feedback you may have. Please note this version works better on large screen area, but we will gradually be bringing more improvement to the user interface and experience in the coming year.
๐ Improvements
We've improved the GeoJSON export feature by baking in the file the default values of feature options, like wall height and thickness.