Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,110 @@
# Changelog

## [3.5.0](https://github.com/ThatOpen/engine_components/compare/v3.4.0...v3.5.0) (2026-09-29)


### Features

* add contributing guide ([0fbe6a5](https://github.com/ThatOpen/engine_components/commit/0fbe6a556216bc5a88ba04f95730d33d2492e7b1))
* add node example ([5e7f40a](https://github.com/ThatOpen/engine_components/commit/5e7f40a803e2fc37145488975d0c81bfd54fa9e3))
* add optional logo docs ([306b85d](https://github.com/ThatOpen/engine_components/commit/306b85dcec44a455971bddfc93f60f13cf3fab66))
* add optional that open company logo ([dad4459](https://github.com/ThatOpen/engine_components/commit/dad44590f3d6650570771dc38b938c0c392f0ab6))
* add outline multi layer ([bb2fd2f](https://github.com/ThatOpen/engine_components/commit/bb2fd2f088df3f19b02e52ff196cae22f7cb0f9b))
* adjustable measurement line width via fat lines ([#726](https://github.com/ThatOpen/engine_components/issues/726)) ([de930d5](https://github.com/ThatOpen/engine_components/commit/de930d50f8fe6e7cc440a157eb43bed1ba766d61))
* extend hoverer tutorial ([722ce1c](https://github.com/ThatOpen/engine_components/commit/722ce1cbd97c0f36e2172e28a64f72641e899b5b))
* getPointAt for orbit-center / world-point picking ([feec6c5](https://github.com/ThatOpen/engine_components/commit/feec6c5b0caa241408370f6e7774233cdc19e4ca))
* GPU-pick driven Hoverer ([70cc691](https://github.com/ThatOpen/engine_components/commit/70cc6918a7078ea7432f81d824dbdc08a9c227cd))
* GPU-readback item picker ([88da991](https://github.com/ThatOpen/engine_components/commit/88da99132e1d8614322efe85233afb40be2a4a4d))
* **Highlighter:** style priorities, so styles override instead of destroying each other ([#755](https://github.com/ThatOpen/engine_components/issues/755)) ([9d8e374](https://github.com/ThatOpen/engine_components/commit/9d8e374a751b43773c4f244fe2d725f56d2778f9))
* improve async area example ([ed69dbc](https://github.com/ThatOpen/engine_components/commit/ed69dbc0bace9e29429110d5ae95b14481bfd41d))
* improve outliner performance ([77e3034](https://github.com/ThatOpen/engine_components/commit/77e30341eb06a33e84963478ee7bba0d1f670309))
* improve worker fetch logic ([c794387](https://github.com/ThatOpen/engine_components/commit/c794387a1f25f824b2aa259a4df711853d1b0d57))
* measurement pick mode + cursor-tracked snap marker ([16e40a2](https://github.com/ThatOpen/engine_components/commit/16e40a2a55adc0cd3593c66ab788e43908ce5e57))
* measurement tools follow cursor live, sync mode deprecated ([450a6a3](https://github.com/ThatOpen/engine_components/commit/450a6a39d70d76082b7b54abbf19cf0c92d9d230))
* per-material local clipping mode (fix [#733](https://github.com/ThatOpen/engine_components/issues/733)) ([cedd8e2](https://github.com/ThatOpen/engine_components/commit/cedd8e221b9377e7697187e4c7933369e5f6c846))
* snap polish — LRU cache, max-distance, priority, hover prefetch ([7da2ebf](https://github.com/ThatOpen/engine_components/commit/7da2ebfa0949f51ab96a9592dd5e53df5cf026a3))
* snap stickiness + per-tool snap class / range UI ([0627d35](https://github.com/ThatOpen/engine_components/commit/0627d35ef35efd40c297c4f4a3c9a5730ec61ef2))
* SnapResolver — main-thread snap from cached shell geometry ([39583f6](https://github.com/ThatOpen/engine_components/commit/39583f6fc2af76baffef82dbf5632bee47377930))
* suppress measurer picks while camera moves ([8c46f5c](https://github.com/ThatOpen/engine_components/commit/8c46f5cdee17427c4cb0e8434b6ef56f7d583808))
* unified GPU-pick fast path for non-snap raycasts ([de31964](https://github.com/ThatOpen/engine_components/commit/de3196418a14191551c71e3c641d3fb618c2de7e))
* useFastItemPicking flag on SimpleRaycaster ([f4abe22](https://github.com/ThatOpen/engine_components/commit/f4abe22fd832874c6526e7b2fabf98c8d7276213))


### Bug Fixes

* apply current units and rounding to new angle measurements ([#727](https://github.com/ThatOpen/engine_components/issues/727)) ([a69aad6](https://github.com/ThatOpen/engine_components/commit/a69aad6b878f8b53f92e109bfd92e7476f61c597))
* **bcf:** conform to the BCF-XML schemas on export ([#760](https://github.com/ThatOpen/engine_components/issues/760)) ([b119ffc](https://github.com/ThatOpen/engine_components/commit/b119ffce2ec232fe0f24404678edb4491dc3a098))
* bump fragments peer to ~3.4.7 for getLocalIdsFromItemIds ([#774](https://github.com/ThatOpen/engine_components/issues/774)) ([2be954d](https://github.com/ThatOpen/engine_components/commit/2be954dba989392113128eb737bde000cc3967fa))
* **bundle:** make components a peer dependency of components-front ([3b86287](https://github.com/ThatOpen/engine_components/commit/3b8628705f874e477b373c5cb73d852d72f96d21))
* **camera:** deep zooming velocity with dynamicAnchor ([#769](https://github.com/ThatOpen/engine_components/issues/769)) ([5c2dd9d](https://github.com/ThatOpen/engine_components/commit/5c2dd9d93b878f7011942867bef1753d2ff44095))
* **Clipper:** fire onAfterDelete after the delete, and fire onBeforeDelete at all ([64af90e](https://github.com/ThatOpen/engine_components/commit/64af90e8042618ed22585e65d33a03a25c5d1e4c))
* **ClipStyler:** always clone style materials so disposing one section doesn't break the others ([#785](https://github.com/ThatOpen/engine_components/issues/785)) ([c7e0195](https://github.com/ThatOpen/engine_components/commit/c7e0195f4f723d8ea1ed27c4c67e84ff5cd4674d))
* **core:** make disposing an app safe and repeatable ([#756](https://github.com/ThatOpen/engine_components/issues/756)) ([c7f5453](https://github.com/ThatOpen/engine_components/commit/c7f5453d0b242f4a1c1760d35872f6fe12f94785))
* correct camera controls afecting multiple views ([647c866](https://github.com/ThatOpen/engine_components/commit/647c866013ae179b6b96f58c26aa4d446b856966))
* correct three.js not being excluded in bundle ([ecd7902](https://github.com/ThatOpen/engine_components/commit/ecd79025319575cf08a027ec216dbfdbfae9709f))
* **Disposer:** destroy every child, not every second one ([4323fb1](https://github.com/ThatOpen/engine_components/commit/4323fb141d04e39eca2014622fb352c87ced3f33))
* **edge-projector:** stop the visibility culler dropping top-of-box geometry ([#763](https://github.com/ThatOpen/engine_components/issues/763)) ([67ecfe4](https://github.com/ThatOpen/engine_components/commit/67ecfe4f0346e43b0a4059817bf39662b5bfd163))
* **EdgeProjector:** fix inverted time-slice check in EdgeGenerator ([#787](https://github.com/ThatOpen/engine_components/issues/787)) ([258886a](https://github.com/ThatOpen/engine_components/commit/258886afdf0e00be1c1a8440ba479073930ea9ee))
* **EdgeProjector:** forward the AbortSignal, and let failures reject instead of pumping forever ([691cbdc](https://github.com/ThatOpen/engine_components/commit/691cbdcc7525264aea005534546bf5ae85ae086d))
* **EdgeProjector:** hand the renderer back the moment a projection is aborted ([#786](https://github.com/ThatOpen/engine_components/issues/786)) ([007db58](https://github.com/ThatOpen/engine_components/commit/007db58b824d72486f8bc254e56602654ce2c95d))
* **examples:** dedupe three in the examples build ([ad665ce](https://github.com/ThatOpen/engine_components/commit/ad665ceddb9089be77e3794346692fa1c11f4b6a))
* **FastModelPicker:** `getFullPick` data eval ([6e4a242](https://github.com/ThatOpen/engine_components/commit/6e4a2425a5d9b8af4ef2bb335dbe29a2a2dd97da))
* **FastModelPicker:** keep the first pick from throwing under reversed depth ([0dfaa24](https://github.com/ThatOpen/engine_components/commit/0dfaa247dc1679cf433c5de2ed66e33bc159ce5b))
* **FastModelPicker:** null scene background during pick passes ([4fa7ba7](https://github.com/ThatOpen/engine_components/commit/4fa7ba71560e2b9ca718804c12b34fbd5e77b5ba))
* **FastModelPicker:** unproject picks correctly under a reversed depth buffer ([a333dd2](https://github.com/ThatOpen/engine_components/commit/a333dd25d3a38961668468971780ae44dda5be54))
* **front:** load TTFLoader lazily so three >= 0.185 does not pull a CDN import ([#809](https://github.com/ThatOpen/engine_components/issues/809)) ([38b2954](https://github.com/ThatOpen/engine_components/commit/38b29541320187f0287d04feaa310c779936c2ff))
* **Highlighter:** fix clear not working correctly with filter ([#719](https://github.com/ThatOpen/engine_components/issues/719)) ([9eff076](https://github.com/ThatOpen/engine_components/commit/9eff076df4f1d2c300cbe77d4efcd2fb541ed125))
* **Highlighter:** preserve element sidedness when highlighting ([ea24907](https://github.com/ThatOpen/engine_components/commit/ea24907715b94f28d5379b7291719378d83981ab))
* IDS example ghost mode fades LOD geometry too ([3cab300](https://github.com/ThatOpen/engine_components/commit/3cab300bf0496d2a1727916a4e38a2b89dc48b24))
* **ids:** compare string property values as strings in the value facet ([#731](https://github.com/ThatOpen/engine_components/issues/731)) ([3bae4de](https://github.com/ThatOpen/engine_components/commit/3bae4dee2f247080ab714ec73ec51e48bdd047f8))
* **ids:** consider type-inherited property sets in the property facet ([#708](https://github.com/ThatOpen/engine_components/issues/708)) ([afc4e0e](https://github.com/ThatOpen/engine_components/commit/afc4e0e6b3dc4812fb8ebcf3e0a0dcac7af5bc14))
* **IDS:** let Property applicability select elements through their type's property sets ([4ad749f](https://github.com/ThatOpen/engine_components/commit/4ad749f8c7f5e979aea2739c8b2aca2493d6e4d7))
* **ids:** resolve materials associated through layer and profile sets ([#748](https://github.com/ThatOpen/engine_components/issues/748)) ([990702b](https://github.com/ThatOpen/engine_components/commit/990702b670dbe1028f2557bb8370a772103e295e))
* **lint:** drop the model as-any casts now that the types exist ([c59d100](https://github.com/ThatOpen/engine_components/commit/c59d100aa8fa489fc669e649ccc84484a89ef7d7))
* make new picker work with hidden frag objects ([d1d3cc8](https://github.com/ThatOpen/engine_components/commit/d1d3cc8e185c114411e63323fdc1fa1e520e8007))
* **MeasureMark:** render area and volume units with superscripts ([#796](https://github.com/ThatOpen/engine_components/issues/796)) ([db6931b](https://github.com/ThatOpen/engine_components/commit/db6931bf9f14fadb9f3ddbe71be0f007054587eb))
* **measurement:** don't commit a stale edge when clicking off geometry ([#754](https://github.com/ThatOpen/engine_components/issues/754)) ([b9e6450](https://github.com/ThatOpen/engine_components/commit/b9e645029b4f5f77993e0cc32b6aec6b17c5d280))
* **OrthoPerspectiveCamera:** add hasMode and stop throwing from the uninitialized guard ([#783](https://github.com/ThatOpen/engine_components/issues/783)) ([d9c0da6](https://github.com/ThatOpen/engine_components/commit/d9c0da6b571484244947366002127d45ab71914f))
* **OrthoPerspectiveCamera:** don't announce a projection change that was aborted ([#781](https://github.com/ThatOpen/engine_components/issues/781)) ([f72302f](https://github.com/ThatOpen/engine_components/commit/f72302f864198449468338f2a34c5278b684e5ea))
* **OrthoPerspectiveCamera:** safeguard zero canvas size ([a16010c](https://github.com/ThatOpen/engine_components/commit/a16010c4e161ae7cb6b687f89269a91e608730b0))
* **OrthoPerspectiveCamera:** type NavigationMode options and honor preventTargetAdjustment ([#784](https://github.com/ThatOpen/engine_components/issues/784)) ([962f694](https://github.com/ThatOpen/engine_components/commit/962f694ec1e780c98c1bc2ba75383db0f35308ce))
* **OrthoPerspectiveCamera:** use tan, not atan, for perspective frustum height ([#782](https://github.com/ThatOpen/engine_components/issues/782)) ([a1a0aa8](https://github.com/ThatOpen/engine_components/commit/a1a0aa84d37bce35527fd6cf1bc407e23505d6ae))
* **outline-pass:** handle clipping planes ([#758](https://github.com/ThatOpen/engine_components/issues/758)) ([9d1d93a](https://github.com/ThatOpen/engine_components/commit/9d1d93adf80b119f5d75bee62e0d4a1c3f5166a2))
* **Outliner:** apply the update map and serialise overlapping group updates ([2d4036e](https://github.com/ThatOpen/engine_components/commit/2d4036efd7755630de2364a4e5b50d0dfc8893e0)), closes [#802](https://github.com/ThatOpen/engine_components/issues/802)
* **outliner:** multi-group concurrency on same object ([#762](https://github.com/ThatOpen/engine_components/issues/762)) ([0c51302](https://github.com/ThatOpen/engine_components/commit/0c51302ada734a3c480ab9b95fc9381a87875cc2))
* picker sees through highlighted items (fix [#737](https://github.com/ThatOpen/engine_components/issues/737)) ([f680b02](https://github.com/ThatOpen/engine_components/commit/f680b02ee87ab6b7faee9459de5cf535a586ae94))
* **picker:** make edited items pickable and stop leaking the id shader onto them ([#746](https://github.com/ThatOpen/engine_components/issues/746)) ([b48283b](https://github.com/ThatOpen/engine_components/commit/b48283bc820d4d15690f48540f6c3c056d787fa2))
* **postproduction:** expose MSAA as an opt-in msaaEnabled toggle ([b2c4219](https://github.com/ThatOpen/engine_components/commit/b2c4219b6d14c94e02348f98cd66c80d03f37a6a))
* **postproduction:** keep MSAA samples on the composer render targets ([58f7d8d](https://github.com/ThatOpen/engine_components/commit/58f7d8df96780cb866236c1b6caee1c7de63e25d)), closes [#793](https://github.com/ThatOpen/engine_components/issues/793)
* **postproduction:** stop occluded edges leaking at distance ([#718](https://github.com/ThatOpen/engine_components/issues/718)) ([6aebbea](https://github.com/ThatOpen/engine_components/commit/6aebbeaeaba92d1920d391ab7bdd8c0ed7068e54))
* read both DefinesOccurrence spellings in IDS property facet ([#270](https://github.com/ThatOpen/engine_components/issues/270)) ([1d8ca36](https://github.com/ThatOpen/engine_components/commit/1d8ca3670eecf5ba54a4e5cbf2793ce04e93d7cc))
* **snap:** pick the face under the cursor, not just the nearest plane ([#751](https://github.com/ThatOpen/engine_components/issues/751)) ([34ed675](https://github.com/ThatOpen/engine_components/commit/34ed675af49d089008c9971b5c69a922439ac355))
* **SnapResolver:** support half and full precision snap geometry ([#752](https://github.com/ThatOpen/engine_components/issues/752)) ([a164f27](https://github.com/ThatOpen/engine_components/commit/a164f2734740529ce3b6d9e1dc96ed7a1a16ea53))
* solve edges rendering error with three 183 ([d96e132](https://github.com/ThatOpen/engine_components/commit/d96e132563abf595a403f76a63098f169f8d209e))
* solve highlighted meshes not having edges ([e59c3ae](https://github.com/ThatOpen/engine_components/commit/e59c3ae0d7f7e22e8a7234a02f48d688f11238fe))
* solve picker bug ([f99b0ca](https://github.com/ThatOpen/engine_components/commit/f99b0ca85a1f8dfdcc957a2262a0d241e60467ab))
* stop things remain hovered when mouse leave screen ([f116f0d](https://github.com/ThatOpen/engine_components/commit/f116f0df2e05cf7fb16b36bf3d16955b9ccd4d52))
* update fast-xml-parser because of vulnerability (again) ([#723](https://github.com/ThatOpen/engine_components/issues/723)) ([3a736e0](https://github.com/ThatOpen/engine_components/commit/3a736e0d1852beb72193955450c08c47e61b415c))
* update fast-xml-parser dependency ([b16bcfe](https://github.com/ThatOpen/engine_components/commit/b16bcfe945ba1cd2bab4490eb4d9c9284b5bb207))
* update three.js deprecated clock ([4550eb9](https://github.com/ThatOpen/engine_components/commit/4550eb95e0a4372ae2a845f1be8d610698877151))
* **viewpoint:** update camera with correct position and direction ([#725](https://github.com/ThatOpen/engine_components/issues/725)) ([90c1712](https://github.com/ThatOpen/engine_components/commit/90c17129fc41ccdc1e594fd54cfbfa30a3149342))
* **views:** guard against missing Name or Elevation on IFC storeys ([1500f28](https://github.com/ThatOpen/engine_components/commit/1500f280d9de1144900d7a1b61227e186be53a3a))
* **views:** keep 2D view sections visible under clipping planes ([#717](https://github.com/ThatOpen/engine_components/issues/717)) ([83e6310](https://github.com/ThatOpen/engine_components/commit/83e6310b670e0beabeacd9026b25a937798ecab4))
* **views:** say which storey was skipped instead of silently dropping it ([4483c6e](https://github.com/ThatOpen/engine_components/commit/4483c6efc2ac5a66a49b120105f4fbe56323ffc5))
* **world:** clean up dynamicAnchor listener on dispose ([#767](https://github.com/ThatOpen/engine_components/issues/767)) ([729f978](https://github.com/ThatOpen/engine_components/commit/729f978e790f48b8317252f321a086417a03a87f))
* **Worlds:** anchor the dynamic orbit point even over empty space ([#768](https://github.com/ThatOpen/engine_components/issues/768)) ([1a87c82](https://github.com/ThatOpen/engine_components/commit/1a87c8253e85bf4c18a222a08168855fdf94ebdf))
* write valid DXF structure in DxfExporter ([#722](https://github.com/ThatOpen/engine_components/issues/722)) ([bd571df](https://github.com/ThatOpen/engine_components/commit/bd571df77fdc8a836eab6d2416cfa4fdfd6a722a))


### Performance Improvements

* clipper-using examples wire `getClippingPlanesEvent` ([8f9e726](https://github.com/ThatOpen/engine_components/commit/8f9e726920bdbdb69224a8c55d30ac4fb1a18c4f))
* collapse picker to one render target, one readPixels ([2f84590](https://github.com/ThatOpen/engine_components/commit/2f8459063444f4b1924f4c94d83e1d4f585f5b2e))
* gate Hoverer + Measurement on user-input events ([fbc06a6](https://github.com/ThatOpen/engine_components/commit/fbc06a61b493e23687f291974d98c4ca5d057c41))
* MeasureVolume highlights items via tile-aliased proxies ([1f29cf7](https://github.com/ThatOpen/engine_components/commit/1f29cf7e6646af5b5a58c0b6a0467c99e66ecf62))
* scissor picker render, full uint32 ids, skip hover during camera move ([0599ceb](https://github.com/ThatOpen/engine_components/commit/0599ceb28d68f9754c61439f172163c88d2f44d0))
* snap fetch via itemId fast path ([cc5c291](https://github.com/ThatOpen/engine_components/commit/cc5c291441a488fdbddd9140bd1c89a80239b57e))

## [3.4.0](https://github.com/ThatOpen/engine_components/compare/v3.3.2...v3.4.0) (2026-04-09)


Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,5 @@
"vite": "7.3.6",
"vite-plugin-dts": "4.5.4"
},
"version": "3.4.0"
"version": "3.5.0"
}