For the complete documentation index, see llms.txt. This page is also available as Markdown.

Rubens SDK Changelog

3.10.0 (2026-07-28)

  • BREAKING CHANGE: getPlanInteractionHandler was renamed to getPlanInteractionManager on RoomlePlanner (5d2ff29)

  • Merge branch 'feat/RML-17293-RML-17289-fence-terrain-adjustments' into feat/RML-17294-selected-terra (fa0ba37)

  • Merge branch 'feat/RML-17293-RML-17289-fence-terrain-adjustments' of https://github.com/roomle-dev/r (a4fc839)

  • Merge branch 'feat/RML-17294-selected-terrain-measurements' of https://github.com/roomle-dev/roomle- (d6674af)

  • Merge branch 'feat/RML-17294-selected-terrain-measurements' of https://github.com/roomle-dev/roomle- (da6b5a9)

  • Merge branch 'feature/undo-redo-design-change-proposal' of https://github.com/roomle-dev/roomle-ui i (1d28f57)

  • Merge branch 'feature/undo-redo-design-change-proposal' of https://github.com/roomle-dev/roomle-ui i (4a03b80)

  • Merge branch 'feature/undo-redo-design-change-proposal' of https://github.com/roomle-dev/roomle-ui i (6694ef9)

  • Merge branch 'master' into chore/remove-product-positions-ui (f841fc4)

  • Merge branch 'master' into chore/remove-product-positions-ui (743aa3d)

  • Merge branch 'master' into chore/remove-product-positions-ui (7fa36e9)

  • Merge branch 'master' into feat/2dElevationPlanImprovements (c88f75f)

  • Merge branch 'master' into feat/2dElevationPlanImprovements (316f8dc)

  • Merge branch 'master' into feat/adjust-group-position (810e990)

  • Merge branch 'master' into feat/configurationForWebGpuGroundShadowReflection (3c25e6f)

  • Merge branch 'master' into feat/construction-overview (767d50b)

  • Merge branch 'master' into feat/core-upgrade (52fbe73)

  • Merge branch 'master' into feat/fence-ui-adaptions (1ed1612)

  • Merge branch 'master' into feat/fence-ui-adaptions (c7aae8e)

  • Merge branch 'master' into feat/fence-ui-adaptions (a6882a8)

  • Merge branch 'master' into feat/hi-examples-price (d47ad13)

  • Merge branch 'master' into feat/hi-examples-price (751033d)

  • Merge branch 'master' into feat/hi-examples-price (8a4aedc)

  • Merge branch 'master' into feat/RML-17293-RML-17289-fence-terrain-adjustments (910d73f)

  • Merge branch 'master' into feat/RML-17293-RML-17289-fence-terrain-adjustments (63e643e)

  • Merge branch 'master' into feat/RML-17293-RML-17289-fence-terrain-adjustments (854ee1e)

  • Merge branch 'master' into feat/RML-17293-RML-17289-fence-terrain-adjustments (f030f9b)

  • Merge branch 'master' into feat/RML-17293-RML-17289-fence-terrain-adjustments (c75b2ab)

  • Merge branch 'master' into feat/RML-17293-RML-17289-fence-terrain-adjustments (256d28c)

  • Merge branch 'master' into feat/RML-17293-RML-17289-fence-terrain-adjustments (3309c2d)

  • Merge branch 'master' into feat/RML-17294-fence-selection-logic (96a5175)

  • Merge branch 'master' into feat/RML-17294-selected-terrain-measurements (26231d8)

  • Merge branch 'master' into feat/RML-17294-selected-terrain-measurements (993cd5a)

  • Merge branch 'master' into feat/RML-17294-selected-terrain-measurements (6378a29)

  • Merge branch 'master' into feat/RML-17294-selected-terrain-measurements (916a2be)

  • Merge branch 'master' into feat/RML-17294-selected-terrain-measurements (b3945b1)

  • Merge branch 'master' into feat/types-qa-v5-breaking-changes (0b04ef1)

  • Merge branch 'master' into feat/webGpuInteriorLightsShadows (a950716)

  • Merge branch 'master' into feat/webGpuQuality (22d577f)

  • Merge branch 'master' into feat/webGpuQuality (8205cf1)

  • Merge branch 'master' into feat/webGpuQuality (d17d304)

  • Merge branch 'master' into feat/webGpuQuality (b8ece1a)

  • Merge branch 'master' into feat/webGpuQuality (ea760a2)

  • Merge branch 'master' into feat/webGpuQuality (e88f6cd)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (66e4f4d)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (fda276c)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (35bab26)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (4dd45d9)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (b1c3a2b)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (a2c473d)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (a3c3dcb)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (1840004)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (1eac5fb)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (a58d9a2)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (04b3867)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (697a900)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (f017efe)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (91f1b65)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (b80d767)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (3e9cca1)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (23677d9)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (b9f012d)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (e1dc44b)

  • Merge branch 'master' into feature/undo-redo-design-change-proposal (9a8e245)

  • Merge branch 'master' into fix/applyRepositioningData (0c41828)

  • Merge branch 'master' into fix/applyRepositioningData (2c0fe40)

  • Merge branch 'master' into fix/construction-update (3e15dd4)

  • Merge branch 'master' into fix/construction-update (6874704)

  • Merge branch 'master' into fix/different-perspective-images-RML-17268 (2051722)

  • Merge branch 'master' into fix/elevation-plan-api (ac7bdd7)

  • Merge branch 'master' into fix/elevation-plan-api (1c57486)

  • Merge branch 'master' into fix/firefox-mobile-drag (3bc8785)

  • Merge branch 'master' into fix/gltf-remove-nans (fc1a3ab)

  • Merge branch 'master' into fix/gltf-remove-nans (29e8f9c)

  • Merge branch 'master' into fix/gltf-remove-nans (6cfab22)

  • Merge branch 'master' into fix/hi-idb-loading (1c5b6c7)

  • Merge branch 'master' into fix/initialFloorMaterialWebGpu (dbf83f4)

  • Merge branch 'master' into fix/rapi-round-trip-plan-objects (65e130f)

  • Merge branch 'master' into fix/rapi-round-trip-plan-objects (abd407d)

  • Merge branch 'master' into fix/rapi-round-trip-plan-objects (068892b)

  • Merge branch 'master' into fix/rapi-round-trip-plan-objects (ec53235)

  • Merge branch 'master' into upgraded-by-ci/core-2.81.0 (1338c1f)

  • Merge branch 'master' into upgraded-by-ci/core-2.81.0 (81b24bc)

  • Merge pull request #2705 from roomle-dev/feature/undo-redo-design-change-proposal (0ec3bb5), closes #2705

  • Merge pull request #2735 from roomle-dev/feat/hi-examples-price (f58f6da), closes #2735

  • Merge pull request #2745 from roomle-dev/experiment/interaction-type-narrowing (bf6ceb5), closes #2745

  • Merge pull request #2746 from roomle-dev/feat/webGpuQuality (63e0c53), closes #2746

  • Merge pull request #2747 from roomle-dev/refactor/actions-method-name-typing (45cbf92), closes #2747

  • Merge pull request #2755 from roomle-dev/chore/remove-product-positions-ui (7c38b14), closes #2755

  • Merge pull request #2766 from roomle-dev/feature/RML-17309-remove-sequence-rules (46b9533), closes #2766

  • Merge pull request #2768 from roomle-dev/fix/gltf-remove-nans (37c6999), closes #2768

  • Merge pull request #2777 from roomle-dev/upgraded-by-ci/core-2.80.0-alpha.21 (6a13f94), closes #2777

  • Merge pull request #2778 from roomle-dev/upgraded-by-ci/core-2.80.0-alpha.22 (f62cd8a), closes #2778

  • Merge pull request #2779 from roomle-dev/feat/fence-ui-adaptions (509fd03), closes #2779

  • Merge pull request #2780 from roomle-dev/feat/RML-17294-fence-selection-logic (ce6cc3e), closes #2780

  • Merge pull request #2781 from roomle-dev/fix/firefox-mobile-drag (63592dd), closes #2781

  • Merge pull request #2782 from roomle-dev/upgraded-by-ci/core-2.80.0-alpha.23 (e78efd7), closes #2782

  • Merge pull request #2783 from roomle-dev/fix/hi-idb-loading (724fd5f), closes #2783

  • Merge pull request #2784 from roomle-dev/upgraded-by-ci/core-2.80.0-alpha.24 (9e34d04), closes #2784

  • Merge pull request #2785 from roomle-dev/feat/core-upgrade (0a37e50), closes #2785

  • Merge pull request #2786 from roomle-dev/upgraded-by-ci/core-2.80.0-alpha.26 (00a969c), closes #2786

  • Merge pull request #2788 from roomle-dev/feat/2dElevationPlanImprovements (d708d9b), closes #2788

  • Merge pull request #2789 from roomle-dev/upgraded-by-ci/core-2.80.1-alpha.1 (d9d542d), closes #2789

  • Merge pull request #2790 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.1 (a94d3a3), closes #2790

  • Merge pull request #2792 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.2 (be44188), closes #2792

  • Merge pull request #2793 from roomle-dev/feat/adjust-group-position (a3268f7), closes #2793

  • Merge pull request #2794 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.3 (a45a8a2), closes #2794

  • Merge pull request #2795 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.4 (f0210c7), closes #2795

  • Merge pull request #2796 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.5 (ed9f206), closes #2796

  • Merge pull request #2797 from roomle-dev/fix/initialFloorMaterialWebGpu (3a44284), closes #2797

  • Merge pull request #2798 from roomle-dev/feat/2dElevationPlanImprovements (d835bbd), closes #2798

  • Merge pull request #2799 from roomle-dev/feat/construction-overview (f5652bb), closes #2799

  • Merge pull request #2800 from roomle-dev/fix/construction-update (c517dfd), closes #2800

  • Merge pull request #2801 from roomle-dev/feat/RML-17293-RML-17289-fence-terrain-adjustments (163d4a4), closes #2801

  • Merge pull request #2802 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.6 (7609ef7), closes #2802

  • Merge pull request #2804 from roomle-dev/fix/elevation-plan-api (a5b4740), closes #2804

  • Merge pull request #2805 from roomle-dev/feat/RML-17294-selected-terrain-measurements (e7a7f99), closes #2805

  • Merge pull request #2806 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.7 (7726bd1), closes #2806

  • Merge pull request #2808 from roomle-dev/feat/types-qa-v5-breaking-changes (145ffe9), closes #2808

  • Merge pull request #2809 from roomle-dev/fix/potentially-undefined-object-ids (67003cd), closes #2809

  • Merge pull request #2810 from roomle-dev/fix/room-fence-settings-floor-material (6b6e46a), closes #2810

  • Merge pull request #2811 from roomle-dev/fix/applyRepositioningData (41e1690), closes #2811

  • Merge pull request #2812 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.8 (525de14), closes #2812

  • Merge pull request #2813 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.9 (91ddd65), closes #2813

  • Merge pull request #2814 from roomle-dev/fix/floor-position-after-wall-move-undo (8093131), closes #2814

  • Merge pull request #2815 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.10 (f2043a6), closes #2815

  • Merge pull request #2816 from roomle-dev/feat/fence-node-types-styles (7c932ae), closes #2816

  • Merge pull request #2817 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.11 (5a04aaf), closes #2817

  • Merge pull request #2818 from roomle-dev/fix/svgo-browser-import-crash (3a7e01b), closes #2818

  • Merge pull request #2819 from roomle-dev/feat/configurationForWebGpuGroundShadowReflection (648a03b), closes #2819

  • Merge pull request #2820 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.12 (a77e6d5), closes #2820

  • Merge pull request #2821 from roomle-dev/feat/webGpuInteriorLightsShadows (539cfb0), closes #2821

  • Merge pull request #2822 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.13 (8e51faa), closes #2822

  • Merge pull request #2823 from roomle-dev/chore/hide-edit-icon-for-external-object-RML-17231 (1b3a3f4), closes #2823

  • Merge pull request #2824 from roomle-dev/fix/different-perspective-images-RML-17268 (549df68), closes #2824

  • Merge pull request #2826 from roomle-dev/fix/rapi-round-trip-plan-objects (d3765ef), closes #2826

  • Merge pull request #2827 from roomle-dev/chore/removeUnnecessaryNullabilityInitdata (b502c48), closes #2827

  • Merge pull request #2830 from roomle-dev/upgraded-by-ci/core-2.81.0-alpha.14 (7228a08), closes #2830

  • Merge pull request #2831 from roomle-dev/upgraded-by-ci/core-2.81.0 (8a059c1), closes #2831

  • Merge pull request #2833 from roomle-dev/fix/fence-icon (a678832), closes #2833

  • Merge pull request #2834 from roomle-dev/fix/npm-ci-lockfile-sync (8b8c830), closes #2834

  • Merge pull request #2837 from roomle-dev/chore/build-embedding-examples-cp-internal-RML-17426 (fbd3018), closes #2837

  • Potential fix for pull request finding (27001cd)

  • Potential fix for pull request finding (581ab18)

  • Potential fix for pull request finding (1f2e4b3)

  • ci: build embedding examples in cp-internal deploy workflow (14747ee)

  • chore: add types (ccab045)

  • chore: adjust custom Y offset to Fence nodes (4d85220)

  • chore: align fence measurements labels in 2d (3a6d1fd)

  • chore: apply copilot review suggestion - renaming (8126bac)

  • chore(format): apply prettier changes required by pre-push hook (5835dac)

  • chore(planner-core): apply prettier formatting for RML-17309 mock change (ae078b6)

  • chore: cleanup (876de21)

  • chore: cleanup (aa0c5f9)

  • chore: cleanup duplicated code (4f7154c)

  • chore: code cleaning, remove as any and unneeded comments (23cb56f)

  • chore: core api - object category (c8d2b9a)

  • chore: create webGpuConfig in featureFlags instead of using initdata directly (00fc513)

  • chore(planner-core): drop keepInteractionOpen deprecation tag (r3513853877) (6d76180)

  • chore: finalize (91db329)

  • chore: fix and tidy up core api types (945cdf9)

  • chore: fix delete element tracking (00fdc97)

  • chore: fix failing tests (9ab9572)

  • chore: fix formatting (22d94ab)

  • chore: fix formatting (bcf9ff3)

  • chore: fix formatting issues (dd2363e)

  • chore: fix lint errors (05c764a)

  • chore: fix spacing (c1b7f13)

  • chore: fix types problem (a5173ba)

  • chore: format (0960d13)

  • chore: formatting error (8e51893)

  • chore: formatting issue (0d65b3a)

  • chore: formatting issue (b34fa71)

  • chore(fix): formatting problems (bf0a940)

  • chore: hi api - renaming of properties (f49a43a)

  • chore: merge master (2ef1892)

  • chore: merge master into feature/plan-interaction-manager-refactor (70e4152)

  • chore: missing default (4b76f0b)

  • chore: prohibit show node labels for normal fence node (1308bd3)

  • chore: refactor (419890a)

  • chore: remove @todo comment (b775d62)

  • chore: remove non existing method (7963923)

  • chore: remove product positions UI and tests (e8ed656)

  • chore: remove strange promise reolves (b2b8e67)

  • chore: remove uneeded test (dd16cc7)

  • chore: remove unnecessary ? from initdata fields with default value (2f4435b)

  • chore(planner-core): remove unused afterEach import in wall-dimensions spec (b50a2ac)

  • chore: remove unused import (d5759d5)

  • chore: remove wrong changes (6f8af2f)

  • chore: remove wrong import (75b10a5)

  • chore: simplify (7142ad6)

  • chore: Skip selection cancel if docking to a construction element (wall, node). (6adcef0)

  • chore: style cleaning (c6417b6)

  • chore: sync loco translations (3be4ce5)

  • chore: undo commented styles (8fe4cc5)

  • chore: update e2e snapshots (83d01ad)

  • chore: update hi example to allow idb saving (dc56f0f)

  • chore: update lockfile (77347b9)

  • chore: update playwright tests (bef5ce9)

  • chore: use correct types (89a3a54)

  • chore: wait for fonts, try to make a regenerate comment (00267ac)

  • chore: wip round trip (e5b5758)

  • fix(planner-core): add fallback/drift guard in run method to prevent undefined spec errors (928aad7)

  • fix(planner): address Copilot review feedback on terrain floor selection (e1b15fd)

  • fix: address Copilot review on PR #2745 — propagate AllowedPlanInteractionHandler to UI (66680b0), closes #2745 #2745

  • fix: address PR review comments on undo/redo interaction manager (cacd496)

  • fix: address review comments on PR #2747 (0025ab4), closes #2747

  • fix(planner-core): address review comments on replaceObject (RML-17309) (57d4ed7)

  • fix: apply mesh center of exactly zero when updating plan element position (d0b6cc6)

  • fix(undo-redo): batch wall and floor material multi-updates in single steps (r3516188810, r351618881 (6955044)

  • fix(planner-core): clean manager API usage and align undo step policy (r3516247613, r3516247621, r35 (8c49f50)

  • fix(planner-core): correct fence sibling selection in STANDARD mode (beaea74)

  • fix(planner-core): correct planInteractionHandler to planInteractionManager in tests (6f01a0e)

  • fix: do not emit updates when dragging on mobile firefox with mouse pointer (a58f01f)

  • fix: do not emit updates when dragging on mobile firefox with mouse pointer (5e8f4ae)

  • fix: failing inject + missing .bind(this) (9a58e46)

  • fix: fence icon inside floor drawer (44591b3)

  • fix(planner-core): fix rotation tracking and wall visibility undo steps (9f7f5ff)

  • fix(planner-core): fix rotation tracking and wall visibility undo steps (f52a7a8)

  • fix(web-sdk): generate consistent perspective images with construction elements in snapshots (RML-17 (b9da0f8)

  • fix(planner): group drag-in, room materials, and parapet height into single undo steps (3dd6a3d)

  • fix: guard hi presets price callback (bb4dca3)

  • fix: hi examples - total price calculation (0583670)

  • fix(planner-core): hidden lifecycle methods throw on call, not on read (35f6f75)

  • fix(planner-core): hide endInteraction() from the manager surface (PR #2747 #12) (053b558), closes #2747 #12

  • fix(planner): hide fence 2D measurements when node is selected and add delta symbol to node height b (2101f8a)

  • fix: implement one single undo operation for parameters visible in planner and range sliders (e244599)

  • fix(web-sdk): import svgo browser build directly to prevent browser crashes (d4d96b1)

  • fix: initialFloorMaterial for webgpu (without fog) (9bf8836)

  • fix(web-sdk): isolate object snapshot images (d3dc9ef)

  • fix: keep plain elevation plan filename for single plan and revoke object urls asynchronously (9e95800)

  • fix(planner-core): map parameterChange back to immediate to ensure instant undo/redo activation (755bbaa)

  • fix(planner-core): map parameterChange to on-signal to support continuous animation parameter change (9e6e72b)

  • fix: offset group by inverse referenced root position on repositioning (b47a832)

  • fix: optionally chain objectIds in _dispatchSetParameter (a0ce8d1)

  • fix: prevent stale price display by coalescing price calculations (b842b7d)

  • fix: prevent unselect plan element on clicking undo/redo to preserve the selection state and not bre (d3dae1b)

  • fix(planner-core): remove all as any casts by adding methods to PlanInteractionHandler interface (5a66ee2)

  • fix(planner-core): remove deprecated drawing aliases and dead resume set (r3513853877, r3516188852, (55996d3)

  • fix: remove NaNs in geometry on glbs (ed9e546)

  • fix: remove pencil icon for HI catalogue (ccfb866)

  • fix(fence-ui): remove thick black line on the right of fence scribble SVG (b4cc61e)

  • fix(planner-core): replace swap heuristic with explicit replaceObject (RML-17309) (9717413)

  • fix(planner): resolve setFloorMaterial TypeError in RoomFenceSettings (a576d29)

  • fix(planner): restore atomic interaction grouping and clarify keepInteractionOpen deprecation (r3516 (caa74f2)

  • fix(web-sdk): serialize perspective image rendering in getExternalObjectSnapshot to prevent shared s (96a9262)

  • fix(planner): show all edges + sloping labels only for selected terrain floor, fix fence node elevat (70f9c46)

  • fix: show no price when the plan contains no order positions (f32714f)

  • fix(planner-core): support componentId in applyKernelParameterChange and map additional floor/parame (c4421cb)

  • fix: support max 3 labels on one side of the fence in svg (042acb0)

  • fix: sync package-lock.json to fix npm ci failure in CI (2656785)

  • fix(planner): tidy up terrain dimensions and m² display (06d176b)

  • fix(planner-core): track attic parameter changes in PlanInteractionManager (ae1a3df)

  • fix(planner-core): wrap deletePlanElements in a transaction to track delete object in interaction ma (a39453b)

  • feat: add enable/disable flag for autodetect quality level on webgpu (2a204a7)

  • feat: add getConstructionOverview api to roomle-planner (966508b)

  • feat: add white background to elevation view svg and improve readability (94e9056)

  • feat(planner): address PR review comments on nodeType logic, test naming, and brittle assertions (587fecd)

  • feat(planner): classify fence nodes based on nodeType and clean up scene manager styling (6494c05)

  • feat: configuration parameters for webgpu top light/shadow and ground reflection (805d9c8)

  • feat: core api - applyGroupPosition (7a2aacd)

  • feat: core api - dock mode (a7fe915)

  • feat: core api - FloorCluster (f547ba0)

  • feat: core api - getConstructionOverview (bb3639c)

  • feat: core-api - docking context (3eaf0b2)

  • feat(planner-core): distinguish fence nodes from fence-attached nodes (b75ecca)

  • feat: enable shadows for interior lights for webGPU (8a08a84)

  • feat(fence-ui): expand and collapse fence visualization tab on mobile (4f992f3)

  • feat(fence-ui): hide fence planning area sidebar label on desktop (4c483b0)

  • feat: implement bubble edit tracking and strengthen plan interaction manager tests (5eae1ff)

  • feat(planner): implement fence feature flag UI adaptions and visualization (35486b9)

  • feat: implement undo/redo design change proposal with PlanInteractionHandlerAdapter (44c3b31)

  • feat: improve fps counter/quality adaptation logic and refactor (0c0f889)

  • feat(planner): invert fence boundary node classification logic to check for !== CORE_NODE_TYPE.CONST (356fc70)

  • feat(planner): only show 2d measurements of selected terrain floor (db59b35)

  • feat: recalculate group position from repositioning data after group adjust (0083411)

  • feat: refactor create2DElevationPlan API (f69f78f)

  • feat: request applying the group position when loading adjusted groups (d9fe5b0)

  • feat: show hi example calculated price (db7e1df)

  • feat(core): upgrade to version 2.80.0-alpha.21 (4407c41)

  • feat(core): upgrade to version 2.80.0-alpha.22 (d139359)

  • feat(core): upgrade to version 2.80.0-alpha.23 (c5ea09e)

  • feat(core): upgrade to version 2.80.0-alpha.24 (84709eb)

  • feat(core): upgrade to version 2.80.0-alpha.25 (7905500)

  • feat(core): upgrade to version 2.80.0-alpha.26 (8c94166)

  • feat(core): upgrade to version 2.80.1-alpha.1 (f7eb0ab)

  • feat(core): upgrade to version 2.81.0-alpha.10 (da80b20)

  • feat(core): upgrade to version 2.81.0-alpha.11 (7c6d13e)

  • feat(core): upgrade to version 2.81.0-alpha.12 (7f6fe30)

  • feat(core): upgrade to version 2.81.0-alpha.13 (8d422a4)

  • feat(core): upgrade to version 2.81.0-alpha.14 (8bbb1e8)

  • feat(core): upgrade to version 2.81.0-alpha.1 (c4f1b53)

  • feat(core): upgrade to version 2.81.0-alpha.2 (dcc77ee)

  • feat(core): upgrade to version 2.81.0-alpha.3 (27cc7f4)

  • feat(core): upgrade to version 2.81.0-alpha.4 (d967fa4)

  • feat(core): upgrade to version 2.81.0-alpha.5 (0a02dad)

  • feat(core): upgrade to version 2.81.0-alpha.6 (0be40f9)

  • feat(core): upgrade to version 2.81.0-alpha.7 (a840fd6)

  • feat(core): upgrade to version 2.81.0-alpha.8 (d0a6cba)

  • feat(core): upgrade to version 2.81.0-alpha.9 (1dd839b)

  • feat(core): upgrade to version 2.81.0 (f4d9446)

  • feat: webgpu quality settings + auto quality (99cdbe3)

  • docs: add minimum fence embedding example (8f2e533)

  • docs(planner-core): clarify why applyKernelParameterChange is listed explicitly (c65cf88)

  • docs(planner): fix lifecycle encapsulation and tracking guide drift (r3516188821, r3516188846, r3516 (ae0cbba)

  • docs(embedding): fix stale _planInteractionHandler reference in demo comment (ec6431e)

  • docs(hi): update external object snapshot documentation to reflect current behavior (14ad0a0)

  • test: adapt applyGroupPosition tests to plan interaction manager mock (8ced855)

  • test(planner): add unit tests for fence mode feature flag in RoomFloorAndWallSettings (c83788e)

  • test(planner): add unit tests for fence selection logic (7b8c00a)

  • test(planner-core): align external-loading manager mocks with proxy contract (r3516358976) (499e7d5)

  • test: assert specific error message on unknown repositioning root (279fb97)

  • test(planner-core): cover proxy bound-method cache (referential stability) (e734828)

  • test(planner): fix deprecated getPlanInteractionHandler API usage in RoomFenceSettings mock (565633f)

  • test: fix failing test case (cc8b52e)

  • test: fix failing tests (550c511)

  • test(fence-ui): fix fence mode feature flag test for mobile view (5fd8392)

  • test: fix playwright tests (749a5c1)

  • test(planner): fix RotationIndicator integration tests by mocking getPlanInteractionHandler (6e15112)

  • test(planner-core): provide planInteractionManager getter in inline kernel-access mocks (b45c357)

  • style: apply prettier formatting (ca57ee1)

  • style: apply prettier formatting (05e2049)

  • style: format files with prettier (91a3db4)

  • style: format files with prettier (982b5fa)

  • style: format plan interaction manager files with prettier (abf35ae)

  • style: format planner-scene-manager test file with Prettier (d935562)

  • style(planner): format RoomFloorAndWallSettings files (a1e1974)

  • style(catalog-trigger): scale down catalog icon (e6f23ee)

  • style(fence-ui): use design system font size variables for fence measurements (29738c7)

  • refactor(typings): add compile-time drift guard for hand-typed PlanInteractionHandler (31e4952)

  • refactor: address PR review comments on selection ring color and array handling (a3de34d)

  • refactor(planner-core): clean up and simplify _toggleGroupSelection logic (4ac8c30)

  • refactor: clean up manual start/end interaction calls and let adapter handle autonomously (5851e86)

  • refactor(planner-core): confine PlanInteractionHandler to its 4 internal files (5bc9eb4)

  • refactor: convert buildMethodTable and decide to arrow functions (9d39205)

  • refactor(planner-core): drop duplicated manager-method list from ACTIONS typing (f2f5f0e)

  • refactor(planner-core): eliminate direct exposure of interaction methods (0e565c1)

  • refactor(planner-core): enforce PlanInteractionManager lifecycle encapsulation in the type system (90c1580)

  • refactor(planner): extract terrain helpers and fix PR discussion issues (fb9e466)

  • refactor(planner): finalize wall dimensions immediately and remove transaction wrappers (3b2456b)

  • refactor(planner-core): implement state-machine and proxy-based plan interaction manager (5814732)

  • refactor(planner-core): improve type safety in PlanInteractionManager (b8fd908)

  • refactor: make elevation plan creation synchronous and align svg export naming (d33a60f)

  • refactor: move the fence mode stuff into its own component (87d11de)

  • refactor(planner-core): rename to a coherent Step vocabulary + tidy handler typings (6d72cd8)

  • refactor(planner): replace invalid DRAG_END and DRAG_IN_MERGE strings with correct HI_LOAD_OBJECT_RE (7267acf)

  • refactor(planner-core): replace prop casts with type guards (PR #2747 markers 2 & 4) (66c1003), closes #2747

  • refactor(planner): resolve PR review comments for fence mode (3e0aa5b)

  • refactor(typings): split PlanInteractionHandler into core mirror + manager extensions (a7fbe0f)

  • refactor(planner-core): split step machinery from handler ops; tidy comments (85b250f)

  • refactor(planner-core): type ACTIONS method names against the core handler (c7c23d2)

  • refactor(planner-core): type embind delete() on the handler (PR #2747 marker 3) (78f24c0), closes #2747

  • refactor(planner): update undo/redo interaction management and fix tests (efec230)

  • perf: apply merged multi-object parameter change as one batched interaction (51bacb9)

3.9.0 (2026-07-14)

  • Apply suggestions from code review (c3c34fb)

  • Apply suggestions from code review (cc615ed)

  • Merge branch 'feat/3d-measurements-' of https://github.com/roomle-dev/roomle-ui into feat/3d-measure (2c4a319)

  • Merge branch 'feat/3d-measurements-' of https://github.com/roomle-dev/roomle-ui into feat/3d-measure (27bcd67)

  • Merge branch 'feat/minimum-hi-example-RML-17199' of github.com:roomle-dev/roomle-ui into feat/minimu (e109f36)

  • Merge branch 'fix/3d-measurements-straight-gap-line' of https://github.com/roomle-dev/roomle-ui into (359295e)

  • Merge branch 'fix/ar-ios-quicklook' of https://github.com/roomle-dev/roomle-ui into fix/ar-ios-quick (3a8efd5)

  • Merge branch 'fix/ar-ios-quicklook' of https://github.com/roomle-dev/roomle-ui into fix/ar-ios-quick (8a5b7a1)

  • Merge branch 'fix/dimension-label-proximity' of github.com:roomle-dev/roomle-ui into fix/dimension-l (3f6121c)

  • Merge branch 'fix/dimension-label-proximity' of github.com:roomle-dev/roomle-ui into fix/dimension-l (b49e361)

  • Merge branch 'fix/plan-glb-usdz-genenration' into chore/setup-headless-sdk-testing (bcbb897)

  • Merge branch 'fix/zero-distance-for-measurements-RML-17166' of https://github.com/roomle-dev/roomle- (5301d37)

  • Merge branch 'master' into chore/extend-types-qa-expiry-RML-17208 (3f0a0b2)

  • Merge branch 'master' into chore/investigateUnimplementedWebGPUMethods (25c5ad6)

  • Merge branch 'master' into chore/setup-headless-sdk-testing (ea5a49e)

  • Merge branch 'master' into chore/setup-headless-sdk-testing (8f0a4af)

  • Merge branch 'master' into chrore/remove-unnecessary-calc (7c3f77b)

  • Merge branch 'master' into feat/2dElevationPlanDrawing (454ecf6)

  • Merge branch 'master' into feat/3d-measurements- (f7c3569)

  • Merge branch 'master' into feat/3d-measurements- (a5e2c66)

  • Merge branch 'master' into feat/3d-measurements- (a7365cc)

  • Merge branch 'master' into feat/3d-measurements- (35bf6f8)

  • Merge branch 'master' into feat/3d-measurements- (118d721)

  • Merge branch 'master' into feat/3d-measurements- (388ebfa)

  • Merge branch 'master' into feat/3d-measurements- (bfe14bb)

  • Merge branch 'master' into feat/3d-measurements- (6198f44)

  • Merge branch 'master' into feat/add-sub-article (450db83)

  • Merge branch 'master' into feat/add-sub-article (7a75143)

  • Merge branch 'master' into feat/docking-feature-flags (4062bc8)

  • Merge branch 'master' into feat/docking-feature-flags (7c93cfd)

  • Merge branch 'master' into feat/empty-order-data (81675fa)

  • Merge branch 'master' into feat/fence-and-terrain (0409ba6)

  • Merge branch 'master' into feat/fence-and-terrain (767c2d1)

  • Merge branch 'master' into feat/fence-and-terrain (753239f)

  • Merge branch 'master' into feat/fence-and-terrain (2f25691)

  • Merge branch 'master' into feat/hi-example-allow-plan-id (164f967)

  • Merge branch 'master' into feat/hi-example-direct-load (9b6a189)

  • Merge branch 'master' into feat/hi-exaples-settings (3314566)

  • Merge branch 'master' into feat/hi-exaples-settings (7e7ded3)

  • Merge branch 'master' into feat/minimum-hi-example-RML-17199 (b921ecc)

  • Merge branch 'master' into feat/posgroup-attributes-PBI-364454 (1a7ab6a)

  • Merge branch 'master' into feat/rapi-canary-checks-RML-16873 (2807a5a)

  • Merge branch 'master' into feat/rearrange-modules (0fd48c3)

  • Merge branch 'master' into feat/RML-16768-telemetry-ingest-scaffold (91ae284)

  • Merge branch 'master' into feat/RML-16768-telemetry-ingest-scaffold (f309675)

  • Merge branch 'master' into feat/RML-16768-telemetry-ingest-scaffold (37e1e70)

  • Merge branch 'master' into feat/room-contour (0c01c79)

  • Merge branch 'master' into feat/room-contour (8267dd8)

  • Merge branch 'master' into feat/room-contour (8a75818)

  • Merge branch 'master' into feat/room-contour (1b37d37)

  • Merge branch 'master' into feat/server-side-dedup-filtering-RML-16822 (198b6a2)

  • Merge branch 'master' into feat/server-side-dedup-filtering-RML-16822 (8343bef)

  • Merge branch 'master' into feat/server-side-dedup-filtering-RML-16822 (df311c6)

  • Merge branch 'master' into feat/switch-object-in-isolation (cb291b2)

  • Merge branch 'master' into feat/webgpuGI (606b812)

  • Merge branch 'master' into feat/webgpuGI (5b2bd01)

  • Merge branch 'master' into feat/webGpuGroundReflection (337e35f)

  • Merge branch 'master' into feat/webGpuGroundReflection (419a034)

  • Merge branch 'master' into feature/pos-data-from-article-layout (a33af62)

  • Merge branch 'master' into feature/pos-data-from-article-layout (93d4ff5)

  • Merge branch 'master' into feature/RML-17147-prohibit-opposite-wall-measurement-construction (ef91501)

  • Merge branch 'master' into fix/2d-dragging-walls-moves-scene (1594a8b)

  • Merge branch 'master' into fix/2d-wall-sides-bug (a33faf0)

  • Merge branch 'master' into fix/2d-wall-sides-bug (d5e3137)

  • Merge branch 'master' into fix/3d-measurements-straight-gap-line (9b074df)

  • Merge branch 'master' into fix/allow-user-defined-env-map-var-with-lights (7046e37)

  • Merge branch 'master' into fix/ar-ios-quicklook (6db4997)

  • Merge branch 'master' into fix/ar-ios-quicklook (1e7ed79)

  • Merge branch 'master' into fix/ar-ios-quicklook (5d2202e)

  • Merge branch 'master' into fix/ar-ios-quicklook (f6fa896)

  • Merge branch 'master' into fix/ceiling-selection-bugs (f4cb3ff)

  • Merge branch 'master' into fix/ceiling-selection-bugs (8832aea)

  • Merge branch 'master' into fix/ceiling-selection-bugs (47bb4cb)

  • Merge branch 'master' into fix/ceiling-selection-bugs (01094bd)

  • Merge branch 'master' into fix/ceiling-selection-bugs (29084fb)

  • Merge branch 'master' into fix/ceiling-selection-bugs (547bb5d)

  • Merge branch 'master' into fix/ceiling-selection-bugs (48650d3)

  • Merge branch 'master' into fix/dedup-map-saving-RML-17058 (b966ecd)

  • Merge branch 'master' into fix/dimension-label-proximity (6a4dabb)

  • Merge branch 'master' into fix/dimension-label-proximity (e8b448a)

  • Merge branch 'master' into fix/dimension-label-proximity (b4ed3eb)

  • Merge branch 'master' into fix/dimension-label-proximity (2e44d4f)

  • Merge branch 'master' into fix/dimension-label-proximity (d2c192c)

  • Merge branch 'master' into fix/drag-drop-ui-update-DM-4584 (47de6d0)

  • Merge branch 'master' into fix/drag-drop-ui-update-DM-4584 (df81685)

  • Merge branch 'master' into fix/drag-drop-ui-update-DM-4584 (c059c5f)

  • Merge branch 'master' into fix/drag-drop-ui-update-DM-4584 (f4f2aaf)

  • Merge branch 'master' into fix/drag-drop-ui-update-DM-4584 (4889fc3)

  • Merge branch 'master' into fix/drag-drop-ui-update-DM-4584 (4f23cbd)

  • Merge branch 'master' into fix/drag-in-ghost-origin-bug (e079930)

  • Merge branch 'master' into fix/expand-buttons-on-window-size-change (7e328ae)

  • Merge branch 'master' into fix/expand-buttons-on-window-size-change (e9122a4)

  • Merge branch 'master' into fix/fence-drag-in (7a04547)

  • Merge branch 'master' into fix/fence-drag-in (0bef363)

  • Merge branch 'master' into fix/flakey-banana-test (01b0ca5)

  • Merge branch 'master' into fix/flakey-banana-test (38b9d4c)

  • Merge branch 'master' into fix/flakey-banana-test (ba31727)

  • Merge branch 'master' into fix/glass-transmission-v2-material (5de7601)

  • Merge branch 'master' into fix/group-orchestartor (afe2c67)

  • Merge branch 'master' into fix/group-orchestartor (9fc5af5)

  • Merge branch 'master' into fix/group-orchestartor (fb47d5d)

  • Merge branch 'master' into fix/hi-layer3-snapshot-window-depth (81fa387)

  • Merge branch 'master' into fix/hi-object-selection (491cba2)

  • Merge branch 'master' into fix/hi-out-of-sync-material-params (efc0245)

  • Merge branch 'master' into fix/hi-out-of-sync-material-params (86ca83a)

  • Merge branch 'master' into fix/hi-out-of-sync-material-params (fd2f0b9)

  • Merge branch 'master' into fix/hideWebGPUGroundShadowFloorInPlanner (ace4798)

  • Merge branch 'master' into fix/hideWebGPUGroundShadowFloorInPlanner (088cb5f)

  • Merge branch 'master' into fix/hideWebGPUGroundShadowFloorInPlanner (0240ae4)

  • Merge branch 'master' into fix/iframe-ar-triggering-bug (11d09f0)

  • Merge branch 'master' into fix/iframe-ar-triggering-bug (a14586c)

  • Merge branch 'master' into fix/interiorLightsWebGPU (7db7d1f)

  • Merge branch 'master' into fix/interiorLightsWebGPU (0c649b6)

  • Merge branch 'master' into fix/load-additionla-groups (c877188)

  • Merge branch 'master' into fix/optimize-insert-items-RML-16146 (0d4cfe5)

  • Merge branch 'master' into fix/optimize-insert-items-RML-16146 (81cc3ca)

  • Merge branch 'master' into fix/outlineFlickerWebGPU (140785e)

  • Merge branch 'master' into fix/plan-glb-usdz-genenration (881d647)

  • Merge branch 'master' into fix/pr-2704-review-comments (589a42d)

  • Merge branch 'master' into fix/pr-2704-review-comments (d8d8087)

  • Merge branch 'master' into fix/pr-2704-review-comments (39b635f)

  • Merge branch 'master' into fix/RML-17053-hide-3d-measurements-in-SOC (cbadeb0)

  • Merge branch 'master' into fix/RML-17132-get-configuration-return-type (5879266)

  • Merge branch 'master' into fix/RML-17132-get-configuration-return-type (c1d8f7d)

  • Merge branch 'master' into fix/RML-17132-get-configuration-return-type (b8f0f88)

  • Merge branch 'master' into fix/RML-17132-get-configuration-return-type (9a37991)

  • Merge branch 'master' into fix/RML-17132-get-configuration-return-type (79956f7)

  • Merge branch 'master' into fix/screenshotCameraWebGPU (9812ba7)

  • Merge branch 'master' into fix/telemetry-current-tenant-RML-17091 (e6a739c)

  • Merge branch 'master' into fix/telemetry-ingest-import-boundary (116e284)

  • Merge branch 'master' into fix/telemetry-ingest-import-boundary (cb99564)

  • Merge branch 'master' into fix/telemetry-tenant-fallback-RML-17091 (0bf2c61)

  • Merge branch 'master' into fix/thumbnails-black (63f1f77)

  • Merge branch 'master' into fix/thumbnails-black (45a5fa9)

  • Merge branch 'master' into fix/thumbnails-black (3ce5080)

  • Merge branch 'master' into fix/webgpuShadowArtifacts (d89f17e)

  • Merge branch 'master' into release/test (1a90a88)

  • Merge branch 'master' into release/test (c148654)

  • Merge branch 'master' into release/test (db06f0c)

  • Merge branch 'master' into style/fix-unaligned-toolbar (4253027)

  • Merge branch 'master' into test/ar-exporter-test (14ae855)

  • Merge branch 'master' into test/ar-exporter-test (0f0db03)

  • Merge branch 'master' into test/ar-exporter-test (1d5f06e)

  • Merge branch 'master' into test/ar-exporter-test (06883bf)

  • Merge branch 'master' into test/ar-exporter-test (01f9850)

  • Merge branch 'master' into test/ar-exporter-test (0a0b889)

  • Merge branch 'master' into test/ar-exporter-test (e625d6b)

  • Merge branch 'master' into test/ar-exporter-test (80c2d93)

  • Merge branch 'master' into upgraded-by-ci/core-2.77.0-alpha.12 (131d0b6)

  • Merge branch 'master' into upgraded-by-ci/core-2.78.0-alpha.11 (aac0c30)

  • Merge branch 'release/test' of https://github.com/roomle-dev/roomle-ui into release/test (462e425)

  • Merge pull request #2564 from roomle-dev/feat/3d-measurements- (7b45745), closes #2564

  • Merge pull request #2591 from roomle-dev/feat/webgpuGI (c6c82c7), closes #2591

  • Merge pull request #2620 from roomle-dev/fix/thumbnails-black (7857f9e), closes #2620

  • Merge pull request #2622 from roomle-dev/feat/rapi-canary-checks-RML-16873 (632f4d8), closes #2622

  • Merge pull request #2623 from roomle-dev/fix/hi-object-selection (31b3523), closes #2623

  • Merge pull request #2624 from roomle-dev/chore/investigateUnimplementedWebGPUMethods (4dc63dd), closes #2624

  • Merge pull request #2625 from roomle-dev/feat/empty-order-data (94477f2), closes #2625

  • Merge pull request #2626 from roomle-dev/feat/RML-16768-telemetry-ingest-scaffold (17dad01), closes #2626

  • Merge pull request #2627 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.2 (c846536), closes #2627

  • Merge pull request #2628 from roomle-dev/fix/plan-glb-usdz-genenration (66ff90d), closes #2628

  • Merge pull request #2629 from roomle-dev/fix/hi-module-selection (db6ec01), closes #2629

  • Merge pull request #2630 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.3 (9e2d8fe), closes #2630

  • Merge pull request #2631 from roomle-dev/chore/webgpuHiQueryParam (3bb5bce), closes #2631

  • Merge pull request #2632 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.4 (19991e6), closes #2632

  • Merge pull request #2633 from roomle-dev/fix/screenshotCameraWebGPU (3ac6601), closes #2633

  • Merge pull request #2634 from roomle-dev/chore/setup-headless-sdk-testing (b0a5bac), closes #2634

  • Merge pull request #2635 from roomle-dev/fix/telemetry-ingest-import-boundary (dccefd6), closes #2635

  • Merge pull request #2636 from roomle-dev/fix/telemetry-ingest-import-boundary (a76adc0), closes #2636

  • Merge pull request #2637 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.5 (1fa5525), closes #2637

  • Merge pull request #2638 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.6 (df19ac3), closes #2638

  • Merge pull request #2639 from roomle-dev/fix/allow-user-defined-env-map-var-with-lights (f9349cf), closes #2639

  • Merge pull request #2640 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.7 (74c22ea), closes #2640

  • Merge pull request #2641 from roomle-dev/fix/ring-theme (9f19743), closes #2641

  • Merge pull request #2642 from roomle-dev/fix/room-wall-floor-walle-exception (bc7d0e2), closes #2642

  • Merge pull request #2643 from roomle-dev/feat/debugToneMappingWebGPU (fe4ae0c), closes #2643

  • Merge pull request #2644 from roomle-dev/fix/interiorLightsWebGPU (13f337a), closes #2644

  • Merge pull request #2645 from roomle-dev/fix/load-additionla-groups (eb9d314), closes #2645

  • Merge pull request #2646 from roomle-dev/fix/3d-measurements-straight-gap-line (1f1e9d4), closes #2646

  • Merge pull request #2647 from roomle-dev/fix/2d-wall-sides-bug (1cd87b3), closes #2647

  • Merge pull request #2648 from roomle-dev/fix/dimension-label-proximity (05fcfb0), closes #2648

  • Merge pull request #2649 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.8 (168d997), closes #2649

  • Merge pull request #2650 from roomle-dev/fix/root-module-selection-in-soc (ab68b60), closes #2650

  • Merge pull request #2651 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.9 (f9209a0), closes #2651

  • Merge pull request #2652 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.10 (91a9e23), closes #2652

  • Merge pull request #2653 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.11 (181ee68), closes #2653

  • Merge pull request #2654 from roomle-dev/feat/distance-accuracy (9b4c353), closes #2654

  • Merge pull request #2655 from roomle-dev/fix/flakey-banana-test (63b4654), closes #2655

  • Merge pull request #2656 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.12 (e3155cf), closes #2656

  • Merge pull request #2657 from roomle-dev/test/ar-exporter-test (9e3f275), closes #2657

  • Merge pull request #2658 from roomle-dev/feat/fence-and-terrain (4b238ce), closes #2658

  • Merge pull request #2659 from roomle-dev/feat/hi-example-direct-load (d81786a), closes #2659

  • Merge pull request #2660 from roomle-dev/feature/pos-data-from-article-layout (3f309e4), closes #2660

  • Merge pull request #2661 from roomle-dev/upgraded-by-ci/core-2.77.0-alpha.13 (c525ff2), closes #2661

  • Merge pull request #2663 from roomle-dev/upgraded-by-ci/core-2.77.1-alpha.1 (1a8bbb4), closes #2663

  • Merge pull request #2664 from roomle-dev/upgraded-by-ci/core-2.78.0-alpha.1 (5c42d66), closes #2664

  • Merge pull request #2665 from roomle-dev/feat/server-side-dedup-filtering-RML-16822 (9883a06), closes #2665

  • Merge pull request #2666 from roomle-dev/fix/hi-layer3-snapshot-window-depth (83af5c0), closes #2666

  • Merge pull request #2667 from roomle-dev/fix/loadBackendIdsFromSeverInHIExamples (eb4ea4b), closes #2667

  • Merge pull request #2670 from roomle-dev/upgraded-by-ci/core-2.78.0-alpha.4 (47e390d), closes #2670

  • Merge pull request #2671 from roomle-dev/upgraded-by-ci/core-2.78.0-alpha.5 (50b7215), closes #2671

  • Merge pull request #2672 from roomle-dev/upgraded-by-ci/core-2.78.0-alpha.6 (5c730d1), closes #2672

  • Merge pull request #2673 from roomle-dev/feat/room-contour (d82e31f), closes #2673

  • Merge pull request #2675 from roomle-dev/fix/some-telemetry-problems (d39ad7a), closes #2675

  • Merge pull request #2676 from roomle-dev/fix/hideWebGPUGroundShadowFloorInPlanner (0958984), closes #2676