Change History > 1 2 0 Edit this page 1.2.0 Change Notes Markers may now have HTML decorations Markers are used to position decorations in a view that follow a position in world coordinates. Previously they could display World Decorations and Canvas Decorations. They may now also include an optional HTML Decoration by assigning the "htmlElement" member. See Marker documentation for details. Updates to authorization OidcBrowserClient now uses local storage instead of session storage to store access tokens. The state of the authorization would therefore now be preserved if the browser was closed and reopened. Note: The browser setting to clear local storage on exit must not be enabled. OidcBrowserClient can now be used in authorization code workflows. A new responseType parameter can be set to "code" to support these workflows. This also requires a new client to be registered. OidcAgentClient is now available as beta (it was marked internal earlier). Using the client requires an Agent registration and potential changes to the Connect Project settings - see more documentation in OidcAgentClient. Support for vertex array objects On systems that support the required WebGL extension, vertex array objects are used to improve display performance. Display system bug fixes Fixed two bugs in which Viewport.changeCategoryDisplay and Viewport.addViewedModels would sometimes fail to immediately update the contents of the viewport. Fixed a regression that prevented the tiles comprising the background map from being reprojected using the the geocoordinate system defined in the iModel, causing the map graphics to be incorrectly aligned with the model geometry. Fixed the behavior of the "Data Attribution" link that, when clicked, displays copyright information for map tiles displayed in the view. Previously it would always open an empty modal dialog. Now, if any copyright information is available, it will be correctly displayed in the dialog; otherwise, a toast message will be displayed indicating the unavailability of attribution. Option to discard ImageBuffer alpha channel Functions for converting the contents of an ImageBuffer into an HTMLCanvasElement or PNG image now take an optional argument indicating whether or not the alpha channel should be preserved. imageBufferToCanvas, imageBufferToPngDataUrl, and imageBufferToBase64EncodedPng all support the new argument. Enhancements to IModelDb.exportGraphics IModelDb.exportGraphics can now optionally return information about GeometryPart instances encountered in a GeometryStreamProps. IModelDb.exportPartGraphics can then be used to handle this information in a more efficient manner. IModelDb.exportGraphics can now optionally return information about linework (or "open") geometry encountered in a GeometryStream. An example GLTF 2.0 exporter demonstrating these features is now available under test-apps in the iModel.js monorepo. Added a roadmap High level Roadmap - We want your feedback, check it out and help us improve it. Geometry Various new methods for manipulating polygons and curves RegionOps.computeXYAreaMoments RegionOps.constructPolygonWireXYOffset PolylineOps.compressByChordError CurveCurve.intersectionXYZ Correct stroking of BezierCurve3d iModel UI Enhancements UI Items now support badging with BetaBadge. Applications can now specify an image to overlay on an item to highlight it. For example, early release tools can be marked with a badge to indicate their beta state. The 9-zone UI now supports an external set of Stage Panels. These panels can be used to move high-density widgets out of the area shared by the graphical viewport for ease of use. The Stage Panels feature is part of the ui-ninezone package and is in preview. Applications can now serialize and deserialize the layout and content of the ContentView using the SaveViewLayout class. The SavedView and SavedViewLayout classes are in preview. Last Updated: 11 June, 2024