diff --git a/.editorconfig b/.editorconfig index 6e87a003..9b735217 100644 --- a/.editorconfig +++ b/.editorconfig @@ -4,7 +4,7 @@ root = true [*] charset = utf-8 indent_style = space -indent_size = 2 +indent_size = 4 insert_final_newline = true trim_trailing_whitespace = true diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 3c3629e6..00000000 --- a/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 78563e61..00000000 --- a/.eslintrc.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "root": true, - "ignorePatterns": ["**/*"], - "plugins": ["@nx"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": { - "@nx/enforce-module-boundaries": [ - "error", - { - "enforceBuildableLibDependency": true, - "allow": [], - "depConstraints": [ - { - "sourceTag": "*", - "onlyDependOnLibsWithTags": ["*"] - } - ] - } - ] - } - }, - { - "files": ["*.ts", "*.tsx"], - "extends": ["plugin:@nx/typescript"], - "rules": { - "@typescript-eslint/no-extra-semi": "error", - "no-extra-semi": "off" - } - }, - { - "files": ["*.js", "*.jsx"], - "extends": ["plugin:@nx/javascript"], - "rules": { - "@typescript-eslint/no-extra-semi": "error", - "no-extra-semi": "off" - } - }, - { - "files": ["*.spec.ts", "*.spec.tsx", "*.spec.js", "*.spec.jsx"], - "env": { - "jest": true - }, - "rules": {} - }, - { - "files": "*.json", - "parser": "jsonc-eslint-parser", - "rules": {} - } - ] -} diff --git a/.gitignore b/.gitignore index 3ba476b0..f4b3c8d9 100644 --- a/.gitignore +++ b/.gitignore @@ -42,4 +42,11 @@ Thumbs.db .env .nx/cache -.nx/workspace-data \ No newline at end of file +.nx/workspace-data + +vite.config.*.timestamp* +vitest.config.*.timestamp* +.aider* +CLAUDE.md +.cursor/rules/nx-rules.mdc +.github/instructions/nx.instructions.md diff --git a/.prettierrc b/.prettierrc index 938b61cd..c79dd6fa 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,16 +1,16 @@ { "singleQuote": true, "useTabs": true, - "tabWidth": 2, + "tabWidth": 4, "printWidth": 120, "plugins": ["prettier-plugin-organize-imports"], "htmlWhitespaceSensitivity": "ignore", - "overrides": [ - { - "files": "*.analog", - "options": { - "parser": "angular" - } - } - ] + "overrides": [ + { + "files": "*.analog", + "options": { + "parser": "angular" + } + } + ] } diff --git a/.release-it.json b/.release-it.json deleted file mode 100644 index 6ba0a3b0..00000000 --- a/.release-it.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "plugins": { - "@release-it/conventional-changelog": { - "preset": { - "name": "conventionalcommits", - "types": [ - { - "type": "feat", - "section": "Features" - }, - { - "type": "fix", - "section": "Bug Fixes" - }, - { - "type": "cleanup", - "section": "Cleanup" - }, - { - "type": "docs", - "section": "Documentations" - } - ] - }, - "infile": "CHANGELOG.md" - }, - "@release-it/bumper": { - "in": "libs/core/version.json", - "out": ["libs/core/version.json", "dist/libs/**/package.json"] - } - }, - "git": { - "commitMessage": "chore: release ${version}" - }, - "npm": { - "publish": false - }, - "github": { - "release": true, - "releaseName": "Release ${version}" - }, - "hooks": { - "before:bump": "pnpm exec nx package core", - "after:bump": "git checkout -- package.json" - } -} diff --git a/.vscode/settings.json b/.vscode/settings.json index d9bc3106..f7504d53 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,4 @@ { "eslint.validate": ["json"], - "html.customData": [ - "./node_modules/angular-three/metadata.json", - "./node_modules/angular-three-soba/metadata.json" - ] + "html.customData": ["./node_modules/angular-three/metadata.json", "./node_modules/angular-three-soba/metadata.json"] } diff --git a/.ws-context b/.ws-context index 6d4035d9..ae16dc48 100644 --- a/.ws-context +++ b/.ws-context @@ -1,9 +1,9 @@ { "framework": "angular", - "angular-template-syntax": "V_17", + "angular-template-syntax": "V_18_1", "apps/**/*.analog": { "framework": "angular", - "angular-template-syntax": "V_17" + "angular-template-syntax": "V_18_1" } } diff --git a/CHANGELOG.md b/CHANGELOG.md index 478798fd..7617d973 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,2672 @@ +## 4.2.1 (2026-03-23) + +### 🚀 Features + +- **soba:** Angular-based Level of Detail (LOD) implementation ([#82](https://github.com/angular-threejs/angular-three/pull/82)) + +### 🩹 Fixes + +- **core:** skip invisible objects before intersectObject ([#81](https://github.com/angular-threejs/angular-three/pull/81)) + +### ❤️ Thank You + +- Chau Tran @nartc +- Eric Leibenguth + +## 4.2.0 (2026-03-12) + +### 🚀 Features + +- **cannon:** downgrade three.js peer dep upper bound to <0.183.0 ([995506e8](https://github.com/angular-threejs/angular-three/commit/995506e8)) +- **core:** downgrade three.js peer dep upper bound to <0.183.0 ([eb67ae02](https://github.com/angular-threejs/angular-three/commit/eb67ae02)) +- **postprocessing:** downgrade three.js peer dep upper bound to <0.183.0 ([07f86e3e](https://github.com/angular-threejs/angular-three/commit/07f86e3e)) +- **rapier:** downgrade three.js peer dep upper bound to <0.183.0 ([f7cd2d72](https://github.com/angular-threejs/angular-three/commit/f7cd2d72)) +- **soba:** downgrade three.js peer dep upper bound to <0.183.0 ([d28d7cee](https://github.com/angular-threejs/angular-three/commit/d28d7cee)) +- **theatre:** downgrade three.js peer dep upper bound to <0.183.0 ([5ff02277](https://github.com/angular-threejs/angular-three/commit/5ff02277)) + +### ❤️ Thank You + +- Chau @nartc +- Claude Opus 4.6 + +## 4.1.1 (2026-03-11) + +### 🚀 Features + +- **postprocessing:** port missing effects from react-postprocessing ([a6b5e783](https://github.com/angular-threejs/angular-three/commit/a6b5e783)) + +### ❤️ Thank You + +- Chau @nartc +- Claude Opus 4.6 + +## 4.1.0 (2026-03-11) + +### 🚀 Features + +- **cannon:** support three.js 0.183 ([fcbdb8db](https://github.com/angular-threejs/angular-three/commit/fcbdb8db)) +- **core:** support three.js 0.183 ([06fcf08e](https://github.com/angular-threejs/angular-three/commit/06fcf08e)) +- **postprocessing:** support three.js 0.183 ([67320d5e](https://github.com/angular-threejs/angular-three/commit/67320d5e)) +- **rapier:** support three.js 0.183 ([4f745386](https://github.com/angular-threejs/angular-three/commit/4f745386)) +- **soba:** support three.js 0.183 ([b89f27a3](https://github.com/angular-threejs/angular-three/commit/b89f27a3)) +- **theatre:** support three.js 0.183 ([7de9ea95](https://github.com/angular-threejs/angular-three/commit/7de9ea95)) + +### ❤️ Thank You + +- Chau @nartc +- Claude Opus 4.6 + +## 4.0.10 (2026-03-11) + +### 🩹 Fixes + +- **soba:** hide html overlay when ancestor is hidden by LOD ([f4de1732](https://github.com/angular-threejs/angular-three/commit/f4de1732)) + +### ❤️ Thank You + +- Chau @nartc +- Claude Opus 4.6 + +## 4.0.9 (2026-01-10) + +### 🩹 Fixes + +- **soba:** set active state in onProgress to match R3F Drei behavior ([ad119dc3](https://github.com/angular-threejs/angular-three/commit/ad119dc3)) + +### ❤️ Thank You + +- Chau @nartc +- Claude Opus 4.5 + +## 4.0.8 (2026-01-09) + +### 🩹 Fixes + +- **core:** align ngt-primitive handling with R3F reconciler behavior ([f39e32c9](https://github.com/angular-threejs/angular-three/commit/f39e32c9)) + +### ❤️ Thank You + +- Chau @nartc +- Claude Opus 4.5 + +## 4.0.7 (2026-01-08) + +### 🩹 Fixes + +- **soba:** replace sampler2DShadow with sampler2D for PCSS in Three.js r182+ ([0f9c9871](https://github.com/angular-threejs/angular-three/commit/0f9c9871)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.6 (2026-01-08) + +### 🩹 Fixes + +- **soba:** rewrite soft-shadows shader injection for Three.js r182+ compatibility ([7f5b01e7](https://github.com/angular-threejs/angular-three/commit/7f5b01e7)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.5 (2026-01-08) + +### 🩹 Fixes + +- **soba:** support Three.js r182+ native depth textures in soft-shadows ([9eb2a58e](https://github.com/angular-threejs/angular-three/commit/9eb2a58e)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.4 (2026-01-08) + +### 🚀 Features + +- **soba:** add soft-shadows directive for PCSS ([93b42ca9](https://github.com/angular-threejs/angular-three/commit/93b42ca9)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.3 (2026-01-06) + +### 🩹 Fixes + +- **plugin:** only update compat-matrix timestamp when content changes ([388e35b4](https://github.com/angular-threejs/angular-three/commit/388e35b4)) +- **plugin:** normalize semver ranges to explicit bounded format ([a7f157b0](https://github.com/angular-threejs/angular-three/commit/a7f157b0)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.2 (2026-01-06) + +### 🚀 Features + +- **plugin:** add compatibility matrix generator ([aa88b7fb](https://github.com/angular-threejs/angular-three/commit/aa88b7fb)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.1 (2026-01-06) + +### 🚀 Features + +- **core:** add pierced props support to web-types and metadata generation ([98fc5923](https://github.com/angular-threejs/angular-three/commit/98fc5923)) + +### ❤️ Thank You + +- Chau @nartc + +# 4.0.0 (2026-01-06) + +### 🚀 Features + +- bump three 0.174 ([605816e1](https://github.com/angular-threejs/angular-three/commit/605816e1)) +- **cannon:** bump ng 20 ([273adf00](https://github.com/angular-threejs/angular-three/commit/273adf00)) +- **cannon:** bump three 178 ([d41a6791](https://github.com/angular-threejs/angular-three/commit/d41a6791)) +- **cannon:** bump three ([c3feaad4](https://github.com/angular-threejs/angular-three/commit/c3feaad4)) +- **cannon:** bump three179 ([1d29682a](https://github.com/angular-threejs/angular-three/commit/1d29682a)) +- **cannon:** min ng20 ([6c92aedc](https://github.com/angular-threejs/angular-three/commit/6c92aedc)) +- **cannon:** bump three 182 ([5920c4e6](https://github.com/angular-threejs/angular-three/commit/5920c4e6)) +- **cannon:** allow Angular v21 as peer dependency ([67f27003](https://github.com/angular-threejs/angular-three/commit/67f27003)) +- **core:** new renderer ([c7bec7eb](https://github.com/angular-threejs/angular-three/commit/c7bec7eb)) +- **core:** support pierced property ([e5a7285b](https://github.com/angular-threejs/angular-three/commit/e5a7285b)) +- **core:** add change as THREE native events ([e44c2b8a](https://github.com/angular-threejs/angular-three/commit/e44c2b8a)) +- **core:** allow injectBeforeRender to accept priority as signal ([5aad08bc](https://github.com/angular-threejs/angular-three/commit/5aad08bc)) +- **core:** expose NgtPortal as module with portal and portalContent grouped ([919a1a8f](https://github.com/angular-threejs/angular-three/commit/919a1a8f)) +- **core:** expose meshes on loaded object graph ([9a0ee1db](https://github.com/angular-threejs/angular-three/commit/9a0ee1db)) +- **core:** allow provideNgtRenderer to accept options ([2bca496b](https://github.com/angular-threejs/angular-three/commit/2bca496b)) +- **core:** remove unused code, expose resolveInstanceKey in applyProps ([0bdd9a7f](https://github.com/angular-threejs/angular-three/commit/0bdd9a7f)) +- **core:** rename injectObjectEvents to objectEvents ([5a707562](https://github.com/angular-threejs/angular-three/commit/5a707562)) +- **core:** rename injectBeforeRender to beforeRender ([5ab9a3e7](https://github.com/angular-threejs/angular-three/commit/5ab9a3e7)) +- **core:** fill catalogue with symbols from THREE automatically ([3ce752cf](https://github.com/angular-threejs/angular-three/commit/3ce752cf)) +- **core:** add fn to remove keys from catalogue; extend returns a clean up fn ([651cfe2b](https://github.com/angular-threejs/angular-three/commit/651cfe2b)) +- **core:** bump three version ([e7d2f1d0](https://github.com/angular-threejs/angular-three/commit/e7d2f1d0)) +- **core:** configurable max notification skip count ([2554a59e](https://github.com/angular-threejs/angular-three/commit/2554a59e)) +- **core:** bump ng 20 ([fca5b470](https://github.com/angular-threejs/angular-three/commit/fca5b470)) +- **core:** bump three 178 ([83384cdd](https://github.com/angular-threejs/angular-three/commit/83384cdd)) +- **core:** bump three ([9f0e80da](https://github.com/angular-threejs/angular-three/commit/9f0e80da)) +- **core:** bump three179 ([c6f6e090](https://github.com/angular-threejs/angular-three/commit/c6f6e090)) +- **core:** add elementEvents for NGT events and THREE native events ([ede5c0b7](https://github.com/angular-threejs/angular-three/commit/ede5c0b7)) +- **core:** min ng20 ([677c1b6e](https://github.com/angular-threejs/angular-three/commit/677c1b6e)) +- **core:** bump three 182 ([ffc690d6](https://github.com/angular-threejs/angular-three/commit/ffc690d6)) +- **core:** allow Angular v21 as peer dependency ([0cb56440](https://github.com/angular-threejs/angular-three/commit/0cb56440)) +- **core:** new generate json script ([cb3a6834](https://github.com/angular-threejs/angular-three/commit/cb3a6834)) +- **core,soba/loaders,soba/staging:** implement resources ([79184dce](https://github.com/angular-threejs/angular-three/commit/79184dce)) +- **core/dom:** expose NgtCanvas as a module with canvas and canvasContent grouped ([bb0a9491](https://github.com/angular-threejs/angular-three/commit/bb0a9491)) +- **core/dom:** expose host element from NgtCanvasContent ([fc0a6a74](https://github.com/angular-threejs/angular-three/commit/fc0a6a74)) +- **core/dom:** expose HTMLCanvasElement and host element through template context ([c56de317](https://github.com/angular-threejs/angular-three/commit/c56de317)) +- **plugin:** add angular-three-plugin ([394b95c5](https://github.com/angular-threejs/angular-three/commit/394b95c5)) +- **plugin:** prep gltf generator ([8e79050a](https://github.com/angular-threejs/angular-three/commit/8e79050a)) +- **plugin:** prep ([8e750b19](https://github.com/angular-threejs/angular-three/commit/8e750b19)) +- **plugin:** add aux generator ([384f95e7](https://github.com/angular-threejs/angular-three/commit/384f95e7)) +- **plugin:** add tweakpane as an aux generator option ([78a04ea2](https://github.com/angular-threejs/angular-three/commit/78a04ea2)) +- **plugin:** add tweakpane to migration group ([3dee9634](https://github.com/angular-threejs/angular-three/commit/3dee9634)) +- **plugin:** add theatre to update groups ([1b5c0559](https://github.com/angular-threejs/angular-three/commit/1b5c0559)) +- **plugin:** bump @rosskevin/gltfjsx 7.1.5 to 7.2.0, node-three-gltf 2.0.2 to 2.1.0 ([f9b055f5](https://github.com/angular-threejs/angular-three/commit/f9b055f5)) +- **plugin:** update versions for v4 release ([422b902d](https://github.com/angular-threejs/angular-three/commit/422b902d)) +- **plugin:** add angular-three-theatre to aux generator ([e79608bd](https://github.com/angular-threejs/angular-three/commit/e79608bd)) +- **postprocessing:** selective bloom effect ([dc6b7d1a](https://github.com/angular-threejs/angular-three/commit/dc6b7d1a)) +- **postprocessing:** bump ng 20 ([37c2bb1c](https://github.com/angular-threejs/angular-three/commit/37c2bb1c)) +- **postprocessing:** bump three 178 ([f40f3045](https://github.com/angular-threejs/angular-three/commit/f40f3045)) +- **postprocessing:** bump three ([d0434edc](https://github.com/angular-threejs/angular-three/commit/d0434edc)) +- **postprocessing:** bump three179 ([1d5c771a](https://github.com/angular-threejs/angular-three/commit/1d5c771a)) +- **postprocessing:** min ng20 ([fb2c8c75](https://github.com/angular-threejs/angular-three/commit/fb2c8c75)) +- **postprocessing:** bump three 182 ([c84c13d8](https://github.com/angular-threejs/angular-three/commit/c84c13d8)) +- **postprocessing:** bump postprocessing from 6.37.7 to 6.38.2 ([72abdfec](https://github.com/angular-threejs/angular-three/commit/72abdfec)) +- **postprocessing:** expose effect instances publicly ([f821f977](https://github.com/angular-threejs/angular-three/commit/f821f977)) +- **postprocessing:** allow Angular v21 as peer dependency ([d58d8b93](https://github.com/angular-threejs/angular-three/commit/d58d8b93)) +- **rapier:** allow data to be a function ([0dc863fe](https://github.com/angular-threejs/angular-three/commit/0dc863fe)) +- ⚠️ **rapier:** make the colliders' args the colliders name themselves ([f6149ca8](https://github.com/angular-threejs/angular-three/commit/f6149ca8)) +- **rapier:** add interaction groups and physics step support ([8ba12fe6](https://github.com/angular-threejs/angular-three/commit/8ba12fe6)) +- **rapier:** update peer deps on rapier3d-compat ([b42e76c6](https://github.com/angular-threejs/angular-three/commit/b42e76c6)) +- **rapier:** rename joints to remove inject prefix ([739041a2](https://github.com/angular-threejs/angular-three/commit/739041a2)) +- **rapier:** bump ng 20 ([28ce3ab2](https://github.com/angular-threejs/angular-three/commit/28ce3ab2)) +- **rapier:** bump three 178 ([b72e9b3c](https://github.com/angular-threejs/angular-three/commit/b72e9b3c)) +- **rapier:** bump three and rapier3d ([aebd8046](https://github.com/angular-threejs/angular-three/commit/aebd8046)) +- **rapier:** bump three179 ([1ab14daa](https://github.com/angular-threejs/angular-three/commit/1ab14daa)) +- **rapier:** min ng20 ([9faa258d](https://github.com/angular-threejs/angular-three/commit/9faa258d)) +- **rapier:** bump three 182 ([9dae6348](https://github.com/angular-threejs/angular-three/commit/9dae6348)) +- ⚠️ **rapier:** remove numAdditionalFrictionIterations and bump @dimforge/rapier3d-compat ([f3b6f81b](https://github.com/angular-threejs/angular-three/commit/f3b6f81b)) +- **rapier:** add filterContactPair and filterIntersectionPair hooks ([216f9a93](https://github.com/angular-threejs/angular-three/commit/216f9a93)) +- ⚠️ **rapier:** add alias 'attractor' to NgtrAttractor options input ([787baf12](https://github.com/angular-threejs/angular-three/commit/787baf12)) +- **rapier:** allow Angular v21 as peer dependency ([f3debc55](https://github.com/angular-threejs/angular-three/commit/f3debc55)) +- **rapier/addons:** add attractor in addons secondary entry point ([c7e6e451](https://github.com/angular-threejs/angular-three/commit/c7e6e451)) +- **repo:** migrate 21.2 with angular 20 ([6eee3eb9](https://github.com/angular-threejs/angular-three/commit/6eee3eb9)) +- **soba:** bump ng 20 ([6d3fcd44](https://github.com/angular-threejs/angular-three/commit/6d3fcd44)) +- **soba:** pointerlockcontrols ([98d085a9](https://github.com/angular-threejs/angular-three/commit/98d085a9)) +- **soba:** use CameraShake from pmndrs vanilla ([38dee637](https://github.com/angular-threejs/angular-three/commit/38dee637)) +- **soba:** bump three 178 ([975ca265](https://github.com/angular-threejs/angular-three/commit/975ca265)) +- **soba:** bump three ([29d263c5](https://github.com/angular-threejs/angular-three/commit/29d263c5)) +- **soba:** bump three179 ([672bee60](https://github.com/angular-threejs/angular-three/commit/672bee60)) +- **soba:** bump vanilla ([380ded6b](https://github.com/angular-threejs/angular-three/commit/380ded6b)) +- **soba:** add clouds ([f1974875](https://github.com/angular-threejs/angular-three/commit/f1974875)) +- **soba:** perspective-camera uses ElementEvents ([de7184d3](https://github.com/angular-threejs/angular-three/commit/de7184d3)) +- **soba:** min ng20 ([263d53dc](https://github.com/angular-threejs/angular-three/commit/263d53dc)) +- **soba:** add sparkles ([da57c2f6](https://github.com/angular-threejs/angular-three/commit/da57c2f6)) +- **soba:** allow custom object for center box3d ([da5a7621](https://github.com/angular-threejs/angular-three/commit/da5a7621)) +- **soba:** bump three 182 ([68706420](https://github.com/angular-threejs/angular-three/commit/68706420)) +- **soba:** bump three-mesh-bvh from 0.9.1 to 0.9.4 ([c52e0478](https://github.com/angular-threejs/angular-three/commit/c52e0478)) +- **soba:** bump three-custom-shader-material from 6.3.7 to 6.4.0 ([d7f9a30a](https://github.com/angular-threejs/angular-three/commit/d7f9a30a)) +- **soba:** bump @monogrid/gainmap-js from 3.1.0 to 3.4.0 ([a359b8b3](https://github.com/angular-threejs/angular-three/commit/a359b8b3)) +- **soba:** bump @pmndrs/vanilla from 1.24.1 to 1.25.0 ([1a760f02](https://github.com/angular-threejs/angular-three/commit/1a760f02)) +- **soba:** export Fisheye from @pmndrs/vanilla ([c29786fe](https://github.com/angular-threejs/angular-three/commit/c29786fe)) +- **soba:** bump stats-gl from 3.6.0 to 3.8.0 ([b3383f98](https://github.com/angular-threejs/angular-three/commit/b3383f98)) +- **soba:** allow Angular v21 as peer dependency ([cbdcec20](https://github.com/angular-threejs/angular-three/commit/cbdcec20)) +- **soba/abstractions:** add ngts-text-3D as a selector to text3d ([f048731d](https://github.com/angular-threejs/angular-three/commit/f048731d)) +- **soba/abstractions:** expose NgtObjectEvents on Text ([ed877f20](https://github.com/angular-threejs/angular-three/commit/ed877f20)) +- **soba/abstractions:** rename injectHelper to helper ([bcfefe0a](https://github.com/angular-threejs/angular-three/commit/bcfefe0a)) +- ⚠️ **soba/cameras:** update `injectFBO` usage ([efb60cd4](https://github.com/angular-threejs/angular-three/commit/efb60cd4)) +- **soba/cameras:** rename injectCubeCamera t cubeCamera ([e14e1dd1](https://github.com/angular-threejs/angular-three/commit/e14e1dd1)) +- **soba/controls:** add TrackballControls ([30ebfb70](https://github.com/angular-threejs/angular-three/commit/30ebfb70)) +- **soba/controls:** remove unused events input from camera controls ([459fd1b0](https://github.com/angular-threejs/angular-three/commit/459fd1b0)) +- **soba/gizmos:** expose NgtsGizmoHelper as module ([a85cf9a9](https://github.com/angular-threejs/angular-three/commit/a85cf9a9)) +- **soba/loaders:** rename injectProgress to progress ([e2b05920](https://github.com/angular-threejs/angular-three/commit/e2b05920)) +- **soba/misc:** expose NgtsHTML as module ([60df7770](https://github.com/angular-threejs/angular-three/commit/60df7770)) +- ⚠️ **soba/misc:** injectFBO no longer recreates the RenderTarget in a computed ([12262c78](https://github.com/angular-threejs/angular-three/commit/12262c78)) +- ⚠️ **soba/misc:** `injectDepthBuffer` returns `DepthTexture` instead of Signal ([53f515dd](https://github.com/angular-threejs/angular-three/commit/53f515dd)) +- **soba/misc:** rename inject* to just function name ([450a8c7b](https://github.com/angular-threejs/angular-three/commit/450a8c7b)) +- **soba/misc:** rename injectIntersect to intersect ([d18fa11d](https://github.com/angular-threejs/angular-three/commit/d18fa11d)) +- **soba/performances:** add bvh ([89c1e5ab](https://github.com/angular-threejs/angular-three/commit/89c1e5ab)) +- **soba/staging:** expose NgtsRenderTexture as module ([c76f4f7f](https://github.com/angular-threejs/angular-three/commit/c76f4f7f)) +- **soba/staging:** rename injectMatcapTexture to matcapTextureResource; and injectNormalTexture ([5e4b6f67](https://github.com/angular-threejs/angular-three/commit/5e4b6f67)) +- **theatre:** add theatrejs integration ([87be9501](https://github.com/angular-threejs/angular-three/commit/87be9501)) +- **theatre:** change sheet to a Directive ([99625b16](https://github.com/angular-threejs/angular-three/commit/99625b16)) +- **theatre:** bump ng 20 ([79195669](https://github.com/angular-threejs/angular-three/commit/79195669)) +- **theatre:** bump three 178 ([e68b66ed](https://github.com/angular-threejs/angular-three/commit/e68b66ed)) +- **theatre:** bump three ([1fdc4879](https://github.com/angular-threejs/angular-three/commit/1fdc4879)) +- **theatre:** bump three179 ([8d7bcaab](https://github.com/angular-threejs/angular-three/commit/8d7bcaab)) +- **theatre:** min ng20 ([1f8777ce](https://github.com/angular-threejs/angular-three/commit/1f8777ce)) +- **theatre:** bump three 182 ([ba8a94fa](https://github.com/angular-threejs/angular-three/commit/ba8a94fa)) +- **theatre:** allow Angular v21 as peer dependency ([9eebc8a8](https://github.com/angular-threejs/angular-three/commit/9eebc8a8)) +- **tweakpane:** tweakpane v1 ([54f2a3ef](https://github.com/angular-threejs/angular-three/commit/54f2a3ef)) +- **tweakpane:** accept optional container ([2422bfc7](https://github.com/angular-threejs/angular-three/commit/2422bfc7)) +- **tweakpane:** rename tweakpane ([54926538](https://github.com/angular-threejs/angular-three/commit/54926538)) +- **tweakpane:** bump ng 20 ([e996bbcd](https://github.com/angular-threejs/angular-three/commit/e996bbcd)) +- **tweakpane:** min ng20 ([c209bdff](https://github.com/angular-threejs/angular-three/commit/c209bdff)) +- **tweakpane:** add tweaks() function for declarative control creation ([ec3d7e23](https://github.com/angular-threejs/angular-three/commit/ec3d7e23)) +- **tweakpane:** allow Angular v21 as peer dependency ([c01cde83](https://github.com/angular-threejs/angular-three/commit/c01cde83)) + +### 🩹 Fixes + +- use as const array instead of module ([7cbcd9b3](https://github.com/angular-threejs/angular-three/commit/7cbcd9b3)) +- **core:** adjust portals with new renderer ([f0243b93](https://github.com/angular-threejs/angular-three/commit/f0243b93)) +- **core:** adjust portals with new renderer (2) ([b62b21d3](https://github.com/angular-threejs/angular-three/commit/b62b21d3)) +- **core:** html now works ([6db540b9](https://github.com/angular-threejs/angular-three/commit/6db540b9)) +- **core:** adjust a lot in renderer ([6869f226](https://github.com/angular-threejs/angular-three/commit/6869f226)) +- **core:** pivot controls work ([43c431e6](https://github.com/angular-threejs/angular-three/commit/43c431e6)) +- **core:** update testing lib ([2110ec66](https://github.com/angular-threejs/angular-three/commit/2110ec66)) +- **core:** adjust tests in soba ([5a18452c](https://github.com/angular-threejs/angular-three/commit/5a18452c)) +- **core:** assign attach directly on instance state ([554dc48b](https://github.com/angular-threejs/angular-three/commit/554dc48b)) +- **core:** injectObjectEvents check for NgtInstanceNode ([d92164e1](https://github.com/angular-threejs/angular-three/commit/d92164e1)) +- **core:** applyProps assign geometry directly instead of copying ([68da7aa8](https://github.com/angular-threejs/angular-three/commit/68da7aa8)) +- **core:** run invalidate on canvasOtions changes ([e64eccfc](https://github.com/angular-threejs/angular-three/commit/e64eccfc)) +- **core:** adjust after attach type ([c0197de1](https://github.com/angular-threejs/angular-three/commit/c0197de1)) +- **core:** use resolveRef in NgtParent ([b2fc55bd](https://github.com/angular-threejs/angular-three/commit/b2fc55bd)) +- **core:** pass through defaultGLOptions instead of just canvas for NgtGLOptions ([d67e2a75](https://github.com/angular-threejs/angular-three/commit/d67e2a75)) +- **core:** bubble up events from primitive children ([fb1f73ab](https://github.com/angular-threejs/angular-three/commit/fb1f73ab)) +- **core:** track the three child on platform parent before passing off to the ancestor ([18094f29](https://github.com/angular-threejs/angular-three/commit/18094f29)) +- **core:** adjust applyProps to match r3f ([0ea7a285](https://github.com/angular-threejs/angular-three/commit/0ea7a285)) +- **core:** rename selection apis ([52fe3404](https://github.com/angular-threejs/angular-three/commit/52fe3404)) +- **core:** adjust NgtRendererLike to also have an optional dispose ([cdd34ed5](https://github.com/angular-threejs/angular-three/commit/cdd34ed5)) +- **core:** add `created` event ([b9cd35aa](https://github.com/angular-threejs/angular-three/commit/b9cd35aa)) +- **core:** add ngt-scene to three elements collection ([4bdd2801](https://github.com/angular-threejs/angular-three/commit/4bdd2801)) +- **core:** add missing geometry three elements ([0f3eb989](https://github.com/angular-threejs/angular-three/commit/0f3eb989)) +- **core:** generate rawValue binding ([b22e0d70](https://github.com/angular-threejs/angular-three/commit/b22e0d70)) +- **core:** make sure NgtThreeElements contain correct types for non-mutable props ([1948b34b](https://github.com/angular-threejs/angular-three/commit/1948b34b)) +- **core:** make __ngt_args__ optional ([73bd8cbb](https://github.com/angular-threejs/angular-three/commit/73bd8cbb)) +- **core:** check against ngt-primitive type to prepare ngt-primitive ([0bfaab68](https://github.com/angular-threejs/angular-three/commit/0bfaab68)) +- **core:** check for handlers before trying to remove event from it ([a5dfa497](https://github.com/angular-threejs/angular-three/commit/a5dfa497)) +- **core:** add missing skinned-mesh and bone to three types ([e04fc3d5](https://github.com/angular-threejs/angular-three/commit/e04fc3d5)) +- **core:** forgot to update generation ([eb09c7c5](https://github.com/angular-threejs/angular-three/commit/eb09c7c5)) +- **core:** ignore keys.indexOf in loader (need to revisit why) ([f560747a](https://github.com/angular-threejs/angular-three/commit/f560747a)) +- **core:** set check when resolve pierced props ([5d89ae1c](https://github.com/angular-threejs/angular-three/commit/5d89ae1c)) +- **core:** bump threejs 177 ([b2151d77](https://github.com/angular-threejs/angular-three/commit/b2151d77)) +- **core:** ng20 resource ([3ba5a737](https://github.com/angular-threejs/angular-three/commit/3ba5a737)) +- **core:** allow using dotted path for attach array ([483fd97d](https://github.com/angular-threejs/angular-three/commit/483fd97d)) +- **core:** support attach in parameters input binding ([2654840b](https://github.com/angular-threejs/angular-three/commit/2654840b)) +- **core:** call compute before early return in event management ([90e0b259](https://github.com/angular-threejs/angular-three/commit/90e0b259)) +- **core:** rename ngtObjectEvents/ngtElementEvents to objectEvents/elementEvents ([14dec47f](https://github.com/angular-threejs/angular-three/commit/14dec47f)) +- **core/testing:** remove extend(THREE) from testing ([de0e0db0](https://github.com/angular-threejs/angular-three/commit/de0e0db0)) +- **plugin:** use next version for ngt ([f33aa1b2](https://github.com/angular-threejs/angular-three/commit/f33aa1b2)) +- **plugin:** use tree.write instead because save() ain't enough ([17c56f73](https://github.com/angular-threejs/angular-three/commit/17c56f73)) +- **plugin:** look for decorators as descendants ([dfd893bd](https://github.com/angular-threejs/angular-three/commit/dfd893bd)) +- **plugin:** get template metadata via descendant ([44de9464](https://github.com/angular-threejs/angular-three/commit/44de9464)) +- **plugin:** write template properly ([329bde6f](https://github.com/angular-threejs/angular-three/commit/329bde6f)) +- **plugin:** maintain format of template literal ([3f3e5fa8](https://github.com/angular-threejs/angular-three/commit/3f3e5fa8)) +- **plugin:** use descendant again instead of child ([a14ac5ab](https://github.com/angular-threejs/angular-three/commit/a14ac5ab)) +- **plugin:** get literal value of templateUrl if available ([b5bd817c](https://github.com/angular-threejs/angular-three/commit/b5bd817c)) +- **plugin:** expose initGenerator ([25865c20](https://github.com/angular-threejs/angular-three/commit/25865c20)) +- **plugin:** use options modelPath ([399fa40e](https://github.com/angular-threejs/angular-three/commit/399fa40e)) +- **plugin:** use let for nodes/materials; call generate; adjust node name ([78af9872](https://github.com/angular-threejs/angular-three/commit/78af9872)) +- **plugin:** adjust generate ([8a42b403](https://github.com/angular-threejs/angular-three/commit/8a42b403)) +- **plugin:** add keep names and keep groups options ([485657eb](https://github.com/angular-threejs/angular-three/commit/485657eb)) +- **plugin:** let's see if it works ([6c84dc2f](https://github.com/angular-threejs/angular-three/commit/6c84dc2f)) +- **plugin:** adjust ([c7025c51](https://github.com/angular-threejs/angular-three/commit/c7025c51)) +- **plugin:** adjust one more time ([9fde6590](https://github.com/angular-threejs/angular-three/commit/9fde6590)) +- **plugin:** gltfPath ([9617006c](https://github.com/angular-threejs/angular-three/commit/9617006c)) +- **plugin:** more gltfPath ([f9cbb3e2](https://github.com/angular-threejs/angular-three/commit/f9cbb3e2)) +- **plugin:** handle draco; clean up ([801a8619](https://github.com/angular-threejs/angular-three/commit/801a8619)) +- **plugin:** load draco based on transform ([863d7db7](https://github.com/angular-threejs/angular-three/commit/863d7db7)) +- **plugin:** draco is optional instead of default to false ([f9063a82](https://github.com/angular-threejs/angular-three/commit/f9063a82)) +- **plugin:** default draco to null? ([a345eee1](https://github.com/angular-threejs/angular-three/commit/a345eee1)) +- **plugin:** use string for draco ([d008d2dd](https://github.com/angular-threejs/angular-three/commit/d008d2dd)) +- **plugin:** adjust draco schema again ([ed44f610](https://github.com/angular-threejs/angular-three/commit/ed44f610)) +- **plugin:** adjust migration group ([32992318](https://github.com/angular-threejs/angular-three/commit/32992318)) +- **plugin:** bump nx 21 ([459feceb](https://github.com/angular-threejs/angular-three/commit/459feceb)) +- **plugin:** update gltf and init generator ([79a73ea7](https://github.com/angular-threejs/angular-three/commit/79a73ea7)) +- **plugin:** skill issue ([2e034320](https://github.com/angular-threejs/angular-three/commit/2e034320)) +- **plugin/gltf:** use new symbols for gltf generator ([16492ac5](https://github.com/angular-threejs/angular-three/commit/16492ac5)) +- **postprocessing:** expose effectComposer ([726dfdbe](https://github.com/angular-threejs/angular-three/commit/726dfdbe)) +- **postprocessing:** use injectBeforeRender with priority signal ([16307f30](https://github.com/angular-threejs/angular-three/commit/16307f30)) +- **postprocessing:** use renamed selection api ([281931d2](https://github.com/angular-threejs/angular-three/commit/281931d2)) +- **rapier:** compute rotation and quaternion properly ([cfd3ea56](https://github.com/angular-threejs/angular-three/commit/cfd3ea56)) +- **rapier:** use boolean coercion ([6308326a](https://github.com/angular-threejs/angular-three/commit/6308326a)) +- **rapier:** adjust rigidbody and collider input types ([35c25040](https://github.com/angular-threejs/angular-three/commit/35c25040)) +- **rapier:** more inputs adjustments ([757fa4c4](https://github.com/angular-threejs/angular-three/commit/757fa4c4)) +- **rapier:** make sure args and shape colliders are in sync ([0bedb235](https://github.com/angular-threejs/angular-three/commit/0bedb235)) +- **rapier:** convexHull collider should set shape as convexHull ([9a82fcc9](https://github.com/angular-threejs/angular-three/commit/9a82fcc9)) +- **rapier:** debug geometry works with webgpu ([9ef1a1f5](https://github.com/angular-threejs/angular-three/commit/9ef1a1f5)) +- **rapier:** bump dimforge ([02bb4189](https://github.com/angular-threejs/angular-three/commit/02bb4189)) +- **soba:** adjust html with new renderer ([86ff1a7d](https://github.com/angular-threejs/angular-three/commit/86ff1a7d)) +- **soba:** null check for onBeforeRender in intersect ([d8aa85df](https://github.com/angular-threejs/angular-three/commit/d8aa85df)) +- **soba:** update peer deps ([ae568890](https://github.com/angular-threejs/angular-three/commit/ae568890)) +- **soba:** fix billboard rotation ([66eb44f9](https://github.com/angular-threejs/angular-three/commit/66eb44f9)) +- **soba:** gizmo rotation should respect camera up ([9e92d423](https://github.com/angular-threejs/angular-three/commit/9e92d423)) +- **soba:** use booleanAttribute for adaptive dpr pixelated input ([dfb76f8b](https://github.com/angular-threejs/angular-three/commit/dfb76f8b)) +- **soba:** use injectBeforeRender with priority signal ([c5d6e3dc](https://github.com/angular-threejs/angular-three/commit/c5d6e3dc)) +- **soba:** adjust orbit controls options ([60b7d645](https://github.com/angular-threejs/angular-three/commit/60b7d645)) +- **soba:** use elapsedTime instead of getElapsedTime() ([08c8491c](https://github.com/angular-threejs/angular-three/commit/08c8491c)) +- **soba:** ng20 resource ([7906a906](https://github.com/angular-threejs/angular-three/commit/7906a906)) +- **soba:** add granular camrea controls outputs ([fc58e479](https://github.com/angular-threejs/angular-three/commit/fc58e479)) +- **soba:** update decal ([72f9c1da](https://github.com/angular-threejs/angular-three/commit/72f9c1da)) +- **soba:** PixelFormat for fbo ([d376f54a](https://github.com/angular-threejs/angular-three/commit/d376f54a)) +- **soba:** expose NgtsCameraShakeOptions ([16f85abd](https://github.com/angular-threejs/angular-three/commit/16f85abd)) +- **soba:** adjust setUpdateRange to use start instead of offset ([63c4cf8e](https://github.com/angular-threejs/angular-three/commit/63c4cf8e)) +- **soba:** adjust fbo types ([3f2d5758](https://github.com/angular-threejs/angular-three/commit/3f2d5758)) +- **soba:** pass renderOrder properly to pivotcontrols component ([fd7de0a8](https://github.com/angular-threejs/angular-three/commit/fd7de0a8)) +- **soba,core:** controls now work ([96892ad1](https://github.com/angular-threejs/angular-three/commit/96892ad1)) +- **soba/abstractions:** use boolean coercion ([a8c842c5](https://github.com/angular-threejs/angular-three/commit/a8c842c5)) +- **soba/abstractions:** edges should be segmented ([064944c7](https://github.com/angular-threejs/angular-three/commit/064944c7)) +- **soba/abstractions:** set ngtObjectEvents for Text in effect ([55f2a2de](https://github.com/angular-threejs/angular-three/commit/55f2a2de)) +- **soba/abstractions:** use viewChild on Text to set NgtObjectEvents ([d8780af3](https://github.com/angular-threejs/angular-three/commit/d8780af3)) +- **soba/abstractions:** add ngts-text-3D as selector for text3d ([c7d7b5c2](https://github.com/angular-threejs/angular-three/commit/c7d7b5c2)) +- **soba/abstractions:** gradienttexture extends canvas-texture instead of pure texture ([1641396a](https://github.com/angular-threejs/angular-three/commit/1641396a)) +- **soba/cameras:** clean up cameras ([2f034b73](https://github.com/angular-threejs/angular-three/commit/2f034b73)) +- **soba/cameras:** assign manual on camera instance ([898e9f60](https://github.com/angular-threejs/angular-three/commit/898e9f60)) +- **soba/cameras:** adjust NgtsCubeCameraOptions type ([3e0899d9](https://github.com/angular-threejs/angular-three/commit/3e0899d9)) +- **soba/cameras:** expose fbo.texture as camera content context instead of fbo ([5552d810](https://github.com/angular-threejs/angular-three/commit/5552d810)) +- **soba/controls:** adjust orbit controls ([4bf89340](https://github.com/angular-threejs/angular-three/commit/4bf89340)) +- **soba/gizmos:** use boolean coercion ([b91128e0](https://github.com/angular-threejs/angular-three/commit/b91128e0)) +- **soba/materials:** adjust MeshTransmissionMaterialOptions type ([8073c453](https://github.com/angular-threejs/angular-three/commit/8073c453)) +- **soba/materials:** add null to meshtransmissionmaterial background option ([d377bc80](https://github.com/angular-threejs/angular-three/commit/d377bc80)) +- **soba/materials:** update `injectFBO` usages ([c972993e](https://github.com/angular-threejs/angular-three/commit/c972993e)) +- **soba/materials:** granularity with blur signals ([f9726701](https://github.com/angular-threejs/angular-three/commit/f9726701)) +- **soba/misc:** remove deprecated TextureEncoding ([cb9b676d](https://github.com/angular-threejs/angular-three/commit/cb9b676d)) +- **soba/performances:** adjust tracking logic in bvh effect ([883e0f27](https://github.com/angular-threejs/angular-three/commit/883e0f27)) +- **soba/performances:** hide bvh group when retrying setting up geometries ([bc28579d](https://github.com/angular-threejs/angular-three/commit/bc28579d)) +- **soba/staging:** use boolean coercions ([852b7761](https://github.com/angular-threejs/angular-three/commit/852b7761)) +- **soba/staging:** dispose texture on destroy ([050aee53](https://github.com/angular-threejs/angular-three/commit/050aee53)) +- **soba/staging:** adjust lightSource type for caustic ([efe1e8ab](https://github.com/angular-threejs/angular-three/commit/efe1e8ab)) +- **soba/staging:** when temporal is false, set a timeout for PLM update in accumulative shadows ([e7b47551](https://github.com/angular-threejs/angular-three/commit/e7b47551)) +- **soba/staging:** remove encoding option in injectEnvironment ([f3205dd6](https://github.com/angular-threejs/angular-three/commit/f3205dd6)) +- **soba/staging:** update `injectFBO` usages ([6aa59172](https://github.com/angular-threejs/angular-three/commit/6aa59172)) +- **soba/staging:** soba build ([920f7566](https://github.com/angular-threejs/angular-three/commit/920f7566)) +- **theatre:** use studio to initialize ([1b517a30](https://github.com/angular-threejs/angular-three/commit/1b517a30)) +- **theatre:** fix studio import ([2cb857bf](https://github.com/angular-threejs/angular-three/commit/2cb857bf)) +- **theatre:** exportAs; expose sheetObject on transform and sync; ([ac14210e](https://github.com/angular-threejs/angular-three/commit/ac14210e)) +- **tweakpane:** expose hostDirectives as public API ([c0aac2fa](https://github.com/angular-threejs/angular-three/commit/c0aac2fa)) +- **tweakpane:** append pane as canvas child ([4220b907](https://github.com/angular-threejs/angular-three/commit/4220b907)) +- **tweakpane:** use default tweakpane parent element ([2d7120f8](https://github.com/angular-threejs/angular-three/commit/2d7120f8)) +- **tweakpane:** use any for binding value instead ([5a09ecab](https://github.com/angular-threejs/angular-three/commit/5a09ecab)) +- **tweakpane:** adjust how custom container works ([85a767ff](https://github.com/angular-threejs/angular-three/commit/85a767ff)) +- **tweakpane:** add tweakpane/core to peer dep ([0411bcfc](https://github.com/angular-threejs/angular-three/commit/0411bcfc)) + +### 💅 Refactors + +- **cannon:** update cannon with new renderer ([b73211db](https://github.com/angular-threejs/angular-three/commit/b73211db)) +- **core:** clean up renderer ([04b39d4c](https://github.com/angular-threejs/angular-three/commit/04b39d4c)) +- **core:** clean up renderer ([8c1ae6c2](https://github.com/angular-threejs/angular-three/commit/8c1ae6c2)) +- **core:** make renderer not aware of store internally ([18cafe1e](https://github.com/angular-threejs/angular-three/commit/18cafe1e)) +- **core:** refactor more with no-store renderer ([c56b03e9](https://github.com/angular-threejs/angular-three/commit/c56b03e9)) +- **core:** update object events ([6cf56c30](https://github.com/angular-threejs/angular-three/commit/6cf56c30)) +- **core:** clean up more renderer code ([698e2752](https://github.com/angular-threejs/angular-three/commit/698e2752)) +- **core:** rename ([2045bd31](https://github.com/angular-threejs/angular-three/commit/2045bd31)) +- **core:** remove unnecessary portal injectors handling ([79970722](https://github.com/angular-threejs/angular-three/commit/79970722)) +- **core:** clean up ([e60aa62c](https://github.com/angular-threejs/angular-three/commit/e60aa62c)) +- **core:** clean up ([e42b7273](https://github.com/angular-threejs/angular-three/commit/e42b7273)) +- **core:** some perf improvements ([154e9b97](https://github.com/angular-threejs/angular-three/commit/154e9b97)) +- **core:** perf improvement to events ([a0330e22](https://github.com/angular-threejs/angular-three/commit/a0330e22)) +- **core:** do not repeat the same obj in portal ([fb2016c1](https://github.com/angular-threejs/angular-three/commit/fb2016c1)) +- **core:** merge setPointerEvent to defineProperties in instance ([af71414f](https://github.com/angular-threejs/angular-three/commit/af71414f)) +- **core:** rewrite web-types and metadata generators ([dd82e329](https://github.com/angular-threejs/angular-three/commit/dd82e329)) +- **examples:** rename ([371eb49b](https://github.com/angular-threejs/angular-three/commit/371eb49b)) +- **plugin:** move generate-util outside ([a378788e](https://github.com/angular-threejs/angular-three/commit/a378788e)) +- **postprocessing:** update postprocessing with new renderer ([bfb3dbb5](https://github.com/angular-threejs/angular-three/commit/bfb3dbb5)) +- **rapier:** update rapier with new renderer ([25f8ac31](https://github.com/angular-threejs/angular-three/commit/25f8ac31)) +- **soba:** clean up abstractions ([5f40d894](https://github.com/angular-threejs/angular-three/commit/5f40d894)) +- **soba:** update cameras with new renderer ([cb9d2069](https://github.com/angular-threejs/angular-three/commit/cb9d2069)) +- **soba:** update abstractions with new renderer ([441a5f0b](https://github.com/angular-threejs/angular-three/commit/441a5f0b)) +- **soba:** update controls with new renderer ([b16d477e](https://github.com/angular-threejs/angular-three/commit/b16d477e)) +- **soba:** update gizmos with new renderer ([b41f1d64](https://github.com/angular-threejs/angular-three/commit/b41f1d64)) +- **soba:** adjust html with new renderer ([155a68d2](https://github.com/angular-threejs/angular-three/commit/155a68d2)) +- **soba:** adjust performances with new renderer ([a83ba07c](https://github.com/angular-threejs/angular-three/commit/a83ba07c)) +- **soba:** adjust shaders with new renderer ([d9bcca60](https://github.com/angular-threejs/angular-three/commit/d9bcca60)) +- **soba:** adjust staging with new renderer ([d43bd2c7](https://github.com/angular-threejs/angular-three/commit/d43bd2c7)) +- **soba:** adjust stats and vanilla exports with new renderer ([41ca5f5b](https://github.com/angular-threejs/angular-three/commit/41ca5f5b)) +- **soba:** adjust misc with new renderer ([df00fb76](https://github.com/angular-threejs/angular-three/commit/df00fb76)) +- **soba:** clean up ([13815128](https://github.com/angular-threejs/angular-three/commit/13815128)) +- **soba/abstractions:** use pierced props for extensions derivatives on grid ([14a89040](https://github.com/angular-threejs/angular-three/commit/14a89040)) +- **soba/cameras:** adjust perspective camera code ([41b94287](https://github.com/angular-threejs/angular-three/commit/41b94287)) +- **soba/cameras:** bring makeDefault effect on top for orthographic ([52a24031](https://github.com/angular-threejs/angular-three/commit/52a24031)) +- **soba/gizmos:** use injectObjectEvents for all events for optimizing CDR (for now) ([7dc8b027](https://github.com/angular-threejs/angular-three/commit/7dc8b027)) +- **soba/loaders:** use fontResource in injectFont ([48ba0c7a](https://github.com/angular-threejs/angular-three/commit/48ba0c7a)) +- **soba/loaders:** use fbxResource in injectFbx ([5a0ddd41](https://github.com/angular-threejs/angular-three/commit/5a0ddd41)) +- **soba/misc:** use onCleanup to clean up fbo embedded view ([771d55f2](https://github.com/angular-threejs/angular-three/commit/771d55f2)) +- **soba/misc:** use computed for animations API instead of effect ([3d937816](https://github.com/angular-threejs/angular-three/commit/3d937816)) +- **soba/misc:** use deeply nested signal on htmlContent ([d200e3eb](https://github.com/angular-threejs/angular-three/commit/d200e3eb)) +- **soba/staging:** use protected ([efaba5b2](https://github.com/angular-threejs/angular-three/commit/efaba5b2)) +- **soba/staging:** use pierced props for sky ([c2ad7a69](https://github.com/angular-threejs/angular-three/commit/c2ad7a69)) +- **soba/staging:** use pierced props for spot light volumetric mesh ([d03e5cdd](https://github.com/angular-threejs/angular-three/commit/d03e5cdd)) +- **soba/staging:** rename injectSpotLightCommon to spotLightCommon ([905dd333](https://github.com/angular-threejs/angular-three/commit/905dd333)) +- **soba/staging:** use environmentResource in injectEnvironment ([eadbf535](https://github.com/angular-threejs/angular-three/commit/eadbf535)) +- **theatre:** use injectObjectEvents for transform events ([ebcb6f7c](https://github.com/angular-threejs/angular-three/commit/ebcb6f7c)) +- **tweakpane:** use computed for a lot of bindings stuff instead of set signal ([5d77340b](https://github.com/angular-threejs/angular-three/commit/5d77340b)) +- **tweakpane:** rename startChangeEffect to sync ([659ff189](https://github.com/angular-threejs/angular-three/commit/659ff189)) + +### ⚠️ Breaking Changes + +- **rapier:** add alias 'attractor' to NgtrAttractor options input ([787baf12](https://github.com/angular-threejs/angular-three/commit/787baf12)) + NgtrAttractor now uses [attractor] instead of [options] + Before: + + After: + + +- **rapier:** remove numAdditionalFrictionIterations and bump @dimforge/rapier3d-compat ([f3b6f81b](https://github.com/angular-threejs/angular-three/commit/f3b6f81b)) + remove `numAdditionalFrictionIterations` input due to + Rapier library dropping the property altogether +- **soba/cameras:** update `injectFBO` usage ([efb60cd4](https://github.com/angular-threejs/angular-three/commit/efb60cd4)) + `NgtsCameraContent` `let-texture` template variable is + a `Texture` instead of `Signal` +- **soba/misc:** `injectDepthBuffer` returns `DepthTexture` instead of Signal ([53f515dd](https://github.com/angular-threejs/angular-three/commit/53f515dd)) + `injectDepthBuffer` returns `DepthTexture | null` + instead of `Signal`. Consumers should update + accordingly +- **soba/misc:** injectFBO no longer recreates the RenderTarget in a computed ([12262c78](https://github.com/angular-threejs/angular-three/commit/12262c78)) + `injectFBO` now returns a `WebGLRenderTarget` instead + of `Signal`. All consumers should change `injectFBO` + usage + ```angular-ts + // before + fbo = injectFBO(); + this.fbo(); + // after + fbo = injectFBO(); + this.fbo; + ``` +- **rapier:** make the colliders' args the colliders name themselves ([f6149ca8](https://github.com/angular-threejs/angular-three/commit/f6149ca8)) + this moves the `[args]` binding to colliders name + before: `cuboidCollider [args]="[...]"` + after: `[cuboidCollider]="[...]"` + +### ❤️ Thank You + +- Chau @nartc +- nartc + +## 4.0.0-next.126 (2026-01-06) + +### 🚀 Features + +- **plugin:** update versions for v4 release ([422b902d](https://github.com/angular-threejs/angular-three/commit/422b902d)) +- **plugin:** add angular-three-theatre to aux generator ([e79608bd](https://github.com/angular-threejs/angular-three/commit/e79608bd)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.125 (2026-01-04) + +This was a version bump only, there were no code changes. + +## 4.0.0-next.124 (2026-01-04) + +### 🚀 Features + +- **core:** new generate json script ([cb3a6834](https://github.com/angular-threejs/angular-three/commit/cb3a6834)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.123 (2026-01-04) + +### 🚀 Features + +- **cannon:** allow Angular v21 as peer dependency ([67f27003](https://github.com/angular-threejs/angular-three/commit/67f27003)) +- **core:** allow Angular v21 as peer dependency ([0cb56440](https://github.com/angular-threejs/angular-three/commit/0cb56440)) +- **postprocessing:** allow Angular v21 as peer dependency ([d58d8b93](https://github.com/angular-threejs/angular-three/commit/d58d8b93)) +- **rapier:** allow Angular v21 as peer dependency ([f3debc55](https://github.com/angular-threejs/angular-three/commit/f3debc55)) +- **soba:** allow Angular v21 as peer dependency ([cbdcec20](https://github.com/angular-threejs/angular-three/commit/cbdcec20)) +- **theatre:** allow Angular v21 as peer dependency ([9eebc8a8](https://github.com/angular-threejs/angular-three/commit/9eebc8a8)) +- **tweakpane:** allow Angular v21 as peer dependency ([c01cde83](https://github.com/angular-threejs/angular-three/commit/c01cde83)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.122 (2026-01-04) + +### 💅 Refactors + +- **core:** rewrite web-types and metadata generators ([dd82e329](https://github.com/angular-threejs/angular-three/commit/dd82e329)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.121 (2026-01-03) + +### 🚀 Features + +- **postprocessing:** expose effect instances publicly ([f821f977](https://github.com/angular-threejs/angular-three/commit/f821f977)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.120 (2026-01-01) + +### 🚀 Features + +- ⚠️ **rapier:** add alias 'attractor' to NgtrAttractor options input ([787baf12](https://github.com/angular-threejs/angular-three/commit/787baf12)) + +### ⚠️ Breaking Changes + +- **rapier:** add alias 'attractor' to NgtrAttractor options input ([787baf12](https://github.com/angular-threejs/angular-three/commit/787baf12)) + NgtrAttractor now uses [attractor] instead of [options] + Before: + + After: + + + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.119 (2025-12-31) + +This was a version bump only, there were no code changes. + +## 4.0.0-next.118 (2025-12-31) + +### 🩹 Fixes + +- **core:** rename ngtObjectEvents/ngtElementEvents to objectEvents/elementEvents ([14dec47f](https://github.com/angular-threejs/angular-three/commit/14dec47f)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.117 (2025-12-31) + +### 🚀 Features + +- **rapier:** add filterContactPair and filterIntersectionPair hooks ([216f9a93](https://github.com/angular-threejs/angular-three/commit/216f9a93)) +- **tweakpane:** add tweaks() function for declarative control creation ([ec3d7e23](https://github.com/angular-threejs/angular-three/commit/ec3d7e23)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.116 (2025-12-29) + +### 🚀 Features + +- **cannon:** bump three 182 ([5920c4e6](https://github.com/angular-threejs/angular-three/commit/5920c4e6)) +- **core:** bump three 182 ([ffc690d6](https://github.com/angular-threejs/angular-three/commit/ffc690d6)) +- **plugin:** bump @rosskevin/gltfjsx 7.1.5 to 7.2.0, node-three-gltf 2.0.2 to 2.1.0 ([f9b055f5](https://github.com/angular-threejs/angular-three/commit/f9b055f5)) +- **postprocessing:** bump three 182 ([c84c13d8](https://github.com/angular-threejs/angular-three/commit/c84c13d8)) +- **postprocessing:** bump postprocessing from 6.37.7 to 6.38.2 ([72abdfec](https://github.com/angular-threejs/angular-three/commit/72abdfec)) +- **rapier:** bump three 182 ([9dae6348](https://github.com/angular-threejs/angular-three/commit/9dae6348)) +- ⚠️ **rapier:** remove numAdditionalFrictionIterations and bump @dimforge/rapier3d-compat ([f3b6f81b](https://github.com/angular-threejs/angular-three/commit/f3b6f81b)) +- **soba:** allow custom object for center box3d ([da5a7621](https://github.com/angular-threejs/angular-three/commit/da5a7621)) +- **soba:** bump three 182 ([68706420](https://github.com/angular-threejs/angular-three/commit/68706420)) +- **soba:** bump three-mesh-bvh from 0.9.1 to 0.9.4 ([c52e0478](https://github.com/angular-threejs/angular-three/commit/c52e0478)) +- **soba:** bump three-custom-shader-material from 6.3.7 to 6.4.0 ([d7f9a30a](https://github.com/angular-threejs/angular-three/commit/d7f9a30a)) +- **soba:** bump @monogrid/gainmap-js from 3.1.0 to 3.4.0 ([a359b8b3](https://github.com/angular-threejs/angular-three/commit/a359b8b3)) +- **soba:** bump @pmndrs/vanilla from 1.24.1 to 1.25.0 ([1a760f02](https://github.com/angular-threejs/angular-three/commit/1a760f02)) +- **soba:** export Fisheye from @pmndrs/vanilla ([c29786fe](https://github.com/angular-threejs/angular-three/commit/c29786fe)) +- **soba:** bump stats-gl from 3.6.0 to 3.8.0 ([b3383f98](https://github.com/angular-threejs/angular-three/commit/b3383f98)) +- **theatre:** bump three 182 ([ba8a94fa](https://github.com/angular-threejs/angular-three/commit/ba8a94fa)) + +### 🩹 Fixes + +- **soba:** pass renderOrder properly to pivotcontrols component ([fd7de0a8](https://github.com/angular-threejs/angular-three/commit/fd7de0a8)) + +### ⚠️ Breaking Changes + +- **rapier:** remove numAdditionalFrictionIterations and bump @dimforge/rapier3d-compat ([f3b6f81b](https://github.com/angular-threejs/angular-three/commit/f3b6f81b)) + remove `numAdditionalFrictionIterations` input due to + Rapier library dropping the property altogether + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.115 (2025-08-17) + +### 🩹 Fixes + +- **plugin:** skill issue ([2e034320](https://github.com/angular-threejs/angular-three/commit/2e034320)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.114 (2025-08-17) + +### 🚀 Features + +- **soba:** add sparkles ([da57c2f6](https://github.com/angular-threejs/angular-three/commit/da57c2f6)) + +### 🩹 Fixes + +- **soba:** adjust fbo types ([3f2d5758](https://github.com/angular-threejs/angular-three/commit/3f2d5758)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.113 (2025-08-17) + +### 🩹 Fixes + +- **plugin:** update gltf and init generator ([79a73ea7](https://github.com/angular-threejs/angular-three/commit/79a73ea7)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.112 (2025-08-17) + +### 🚀 Features + +- **cannon:** bump three179 ([1d29682a](https://github.com/angular-threejs/angular-three/commit/1d29682a)) +- **cannon:** min ng20 ([6c92aedc](https://github.com/angular-threejs/angular-three/commit/6c92aedc)) +- **core:** bump three179 ([c6f6e090](https://github.com/angular-threejs/angular-three/commit/c6f6e090)) +- **core:** add elementEvents for NGT events and THREE native events ([ede5c0b7](https://github.com/angular-threejs/angular-three/commit/ede5c0b7)) +- **core:** min ng20 ([677c1b6e](https://github.com/angular-threejs/angular-three/commit/677c1b6e)) +- **postprocessing:** bump three179 ([1d5c771a](https://github.com/angular-threejs/angular-three/commit/1d5c771a)) +- **postprocessing:** min ng20 ([fb2c8c75](https://github.com/angular-threejs/angular-three/commit/fb2c8c75)) +- **rapier:** bump three179 ([1ab14daa](https://github.com/angular-threejs/angular-three/commit/1ab14daa)) +- **rapier:** min ng20 ([9faa258d](https://github.com/angular-threejs/angular-three/commit/9faa258d)) +- **soba:** bump three179 ([672bee60](https://github.com/angular-threejs/angular-three/commit/672bee60)) +- **soba:** bump vanilla ([380ded6b](https://github.com/angular-threejs/angular-three/commit/380ded6b)) +- **soba:** add clouds ([f1974875](https://github.com/angular-threejs/angular-three/commit/f1974875)) +- **soba:** perspective-camera uses ElementEvents ([de7184d3](https://github.com/angular-threejs/angular-three/commit/de7184d3)) +- **soba:** min ng20 ([263d53dc](https://github.com/angular-threejs/angular-three/commit/263d53dc)) +- **theatre:** bump three179 ([8d7bcaab](https://github.com/angular-threejs/angular-three/commit/8d7bcaab)) +- **theatre:** min ng20 ([1f8777ce](https://github.com/angular-threejs/angular-three/commit/1f8777ce)) +- **tweakpane:** min ng20 ([c209bdff](https://github.com/angular-threejs/angular-three/commit/c209bdff)) + +### 🩹 Fixes + +- **core:** call compute before early return in event management ([90e0b259](https://github.com/angular-threejs/angular-three/commit/90e0b259)) +- **soba:** adjust setUpdateRange to use start instead of offset ([63c4cf8e](https://github.com/angular-threejs/angular-three/commit/63c4cf8e)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.111 (2025-08-03) + +### 🚀 Features + +- **cannon:** bump three ([c3feaad4](https://github.com/angular-threejs/angular-three/commit/c3feaad4)) +- **core:** bump three ([9f0e80da](https://github.com/angular-threejs/angular-three/commit/9f0e80da)) +- **postprocessing:** bump three ([d0434edc](https://github.com/angular-threejs/angular-three/commit/d0434edc)) +- **rapier:** bump three and rapier3d ([aebd8046](https://github.com/angular-threejs/angular-three/commit/aebd8046)) +- **soba:** bump three ([29d263c5](https://github.com/angular-threejs/angular-three/commit/29d263c5)) +- **theatre:** bump three ([1fdc4879](https://github.com/angular-threejs/angular-three/commit/1fdc4879)) + +### 🩹 Fixes + +- **core:** allow using dotted path for attach array ([483fd97d](https://github.com/angular-threejs/angular-three/commit/483fd97d)) +- **core:** support attach in parameters input binding ([2654840b](https://github.com/angular-threejs/angular-three/commit/2654840b)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.110 (2025-07-07) + +### 🚀 Features + +- **cannon:** bump three 178 ([d41a6791](https://github.com/angular-threejs/angular-three/commit/d41a6791)) +- **core:** bump three 178 ([83384cdd](https://github.com/angular-threejs/angular-three/commit/83384cdd)) +- **postprocessing:** bump three 178 ([f40f3045](https://github.com/angular-threejs/angular-three/commit/f40f3045)) +- **rapier:** bump three 178 ([b72e9b3c](https://github.com/angular-threejs/angular-three/commit/b72e9b3c)) +- **soba:** bump three 178 ([975ca265](https://github.com/angular-threejs/angular-three/commit/975ca265)) +- **theatre:** bump three 178 ([e68b66ed](https://github.com/angular-threejs/angular-three/commit/e68b66ed)) + +### 🩹 Fixes + +- **soba:** expose NgtsCameraShakeOptions ([16f85abd](https://github.com/angular-threejs/angular-three/commit/16f85abd)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.109 (2025-06-29) + +### 🚀 Features + +- **soba:** use CameraShake from pmndrs vanilla ([38dee637](https://github.com/angular-threejs/angular-three/commit/38dee637)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.108 (2025-06-18) + +### 🚀 Features + +- **cannon:** bump ng 20 ([273adf00](https://github.com/angular-threejs/angular-three/commit/273adf00)) +- **core:** bump ng 20 ([fca5b470](https://github.com/angular-threejs/angular-three/commit/fca5b470)) +- **postprocessing:** bump ng 20 ([37c2bb1c](https://github.com/angular-threejs/angular-three/commit/37c2bb1c)) +- **rapier:** bump ng 20 ([28ce3ab2](https://github.com/angular-threejs/angular-three/commit/28ce3ab2)) +- **repo:** migrate 21.2 with angular 20 ([6eee3eb9](https://github.com/angular-threejs/angular-three/commit/6eee3eb9)) +- **soba:** bump ng 20 ([6d3fcd44](https://github.com/angular-threejs/angular-three/commit/6d3fcd44)) +- **soba:** pointerlockcontrols ([98d085a9](https://github.com/angular-threejs/angular-three/commit/98d085a9)) +- **theatre:** bump ng 20 ([79195669](https://github.com/angular-threejs/angular-three/commit/79195669)) +- **tweakpane:** bump ng 20 ([e996bbcd](https://github.com/angular-threejs/angular-three/commit/e996bbcd)) + +### 🩹 Fixes + +- **core:** ng20 resource ([3ba5a737](https://github.com/angular-threejs/angular-three/commit/3ba5a737)) +- **soba:** ng20 resource ([7906a906](https://github.com/angular-threejs/angular-three/commit/7906a906)) +- **soba:** add granular camrea controls outputs ([fc58e479](https://github.com/angular-threejs/angular-three/commit/fc58e479)) +- **soba:** update decal ([72f9c1da](https://github.com/angular-threejs/angular-three/commit/72f9c1da)) +- **soba:** PixelFormat for fbo ([d376f54a](https://github.com/angular-threejs/angular-three/commit/d376f54a)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.107 (2025-06-12) + +### 💅 Refactors + +- **core:** do not repeat the same obj in portal ([fb2016c1](https://github.com/angular-threejs/angular-three/commit/fb2016c1)) +- **core:** merge setPointerEvent to defineProperties in instance ([af71414f](https://github.com/angular-threejs/angular-three/commit/af71414f)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.106 (2025-05-18) + +### 💅 Refactors + +- **core:** perf improvement to events ([a0330e22](https://github.com/angular-threejs/angular-three/commit/a0330e22)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.105 (2025-05-17) + +### 🚀 Features + +- **core:** configurable max notification skip count ([2554a59e](https://github.com/angular-threejs/angular-three/commit/2554a59e)) + +### 💅 Refactors + +- **core:** some perf improvements ([154e9b97](https://github.com/angular-threejs/angular-three/commit/154e9b97)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.104 (2025-05-17) + +### 🚀 Features + +- **core:** bump three version ([e7d2f1d0](https://github.com/angular-threejs/angular-three/commit/e7d2f1d0)) + +### 🩹 Fixes + +- **core:** bump threejs 177 ([b2151d77](https://github.com/angular-threejs/angular-three/commit/b2151d77)) +- **plugin:** bump nx 21 ([459feceb](https://github.com/angular-threejs/angular-three/commit/459feceb)) +- **rapier:** debug geometry works with webgpu ([9ef1a1f5](https://github.com/angular-threejs/angular-three/commit/9ef1a1f5)) +- **rapier:** bump dimforge ([02bb4189](https://github.com/angular-threejs/angular-three/commit/02bb4189)) + +### 💅 Refactors + +- **core:** clean up ([e42b7273](https://github.com/angular-threejs/angular-three/commit/e42b7273)) + +### ❤️ Thank You + +- Chau @nartc + +## 4.0.0-next.103 (2025-04-07) + +### 🩹 Fixes + +- **plugin/gltf:** use new symbols for gltf generator ([16492ac5](https://github.com/angular-threejs/angular-three/commit/16492ac5)) + +### ❤️ Thank You + +- Chau + +## 4.0.0-next.102 (2025-04-07) + +### 🩹 Fixes + +- **core:** set check when resolve pierced props ([5d89ae1c](https://github.com/angular-threejs/angular-three/commit/5d89ae1c)) +- **soba/materials:** granularity with blur signals ([f9726701](https://github.com/angular-threejs/angular-three/commit/f9726701)) + +### ❤️ Thank You + +- Chau + +## 4.0.0-next.101 (2025-04-02) + +### 🚀 Features + +- **core/dom:** expose HTMLCanvasElement and host element through template context ([c56de317](https://github.com/angular-threejs/angular-three/commit/c56de317)) + +### ❤️ Thank You + +- Chau + +## 4.0.0-next.100 (2025-04-02) + +### 💅 Refactors + +- **core:** remove unnecessary portal injectors handling ([79970722](https://github.com/angular-threejs/angular-three/commit/79970722)) +- **core:** clean up ([e60aa62c](https://github.com/angular-threejs/angular-three/commit/e60aa62c)) + +### ❤️ Thank You + +- Chau + +## 4.0.0-next.99 (2025-03-25) + +### 🚀 Features + +- **core:** fill catalogue with symbols from THREE automatically ([3ce752cf](https://github.com/angular-threejs/angular-three/commit/3ce752cf)) +- **core:** add fn to remove keys from catalogue; extend returns a clean up fn ([651cfe2b](https://github.com/angular-threejs/angular-three/commit/651cfe2b)) + +### 🩹 Fixes + +- **core/testing:** remove extend(THREE) from testing ([de0e0db0](https://github.com/angular-threejs/angular-three/commit/de0e0db0)) +- **soba/abstractions:** gradienttexture extends canvas-texture instead of pure texture ([1641396a](https://github.com/angular-threejs/angular-three/commit/1641396a)) + +### 💅 Refactors + +- **soba/misc:** use onCleanup to clean up fbo embedded view ([771d55f2](https://github.com/angular-threejs/angular-three/commit/771d55f2)) +- **soba/misc:** use computed for animations API instead of effect ([3d937816](https://github.com/angular-threejs/angular-three/commit/3d937816)) +- **soba/misc:** use deeply nested signal on htmlContent ([d200e3eb](https://github.com/angular-threejs/angular-three/commit/d200e3eb)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.98 (2025-03-22) + +### 🚀 Features + +- **core:** rename injectObjectEvents to objectEvents ([5a707562](https://github.com/angular-threejs/angular-three/commit/5a707562)) +- **core:** rename injectBeforeRender to beforeRender ([5ab9a3e7](https://github.com/angular-threejs/angular-three/commit/5ab9a3e7)) +- **core,soba/loaders,soba/staging:** implement resources ([79184dce](https://github.com/angular-threejs/angular-three/commit/79184dce)) +- **rapier:** rename joints to remove inject prefix ([739041a2](https://github.com/angular-threejs/angular-three/commit/739041a2)) +- **soba/abstractions:** rename injectHelper to helper ([bcfefe0a](https://github.com/angular-threejs/angular-three/commit/bcfefe0a)) +- **soba/cameras:** rename injectCubeCamera t cubeCamera ([e14e1dd1](https://github.com/angular-threejs/angular-three/commit/e14e1dd1)) +- **soba/loaders:** rename injectProgress to progress ([e2b05920](https://github.com/angular-threejs/angular-three/commit/e2b05920)) +- **soba/misc:** rename inject* to just function name ([450a8c7b](https://github.com/angular-threejs/angular-three/commit/450a8c7b)) +- **soba/misc:** rename injectIntersect to intersect ([d18fa11d](https://github.com/angular-threejs/angular-three/commit/d18fa11d)) +- **soba/staging:** rename injectMatcapTexture to matcapTextureResource; and injectNormalTexture ([5e4b6f67](https://github.com/angular-threejs/angular-three/commit/5e4b6f67)) + +### 🩹 Fixes + +- **soba/staging:** soba build ([920f7566](https://github.com/angular-threejs/angular-three/commit/920f7566)) + +### 💅 Refactors + +- **soba/loaders:** use fontResource in injectFont ([48ba0c7a](https://github.com/angular-threejs/angular-three/commit/48ba0c7a)) +- **soba/loaders:** use fbxResource in injectFbx ([5a0ddd41](https://github.com/angular-threejs/angular-three/commit/5a0ddd41)) +- **soba/staging:** rename injectSpotLightCommon to spotLightCommon ([905dd333](https://github.com/angular-threejs/angular-three/commit/905dd333)) +- **soba/staging:** use environmentResource in injectEnvironment ([eadbf535](https://github.com/angular-threejs/angular-three/commit/eadbf535)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.97 (2025-03-17) + +### 🚀 Features + +- **theatre:** change sheet to a Directive ([99625b16](https://github.com/angular-threejs/angular-three/commit/99625b16)) + +### 💅 Refactors + +- **soba:** clean up ([13815128](https://github.com/angular-threejs/angular-three/commit/13815128)) +- **soba/abstractions:** use pierced props for extensions derivatives on grid ([14a89040](https://github.com/angular-threejs/angular-three/commit/14a89040)) +- **soba/cameras:** bring makeDefault effect on top for orthographic ([52a24031](https://github.com/angular-threejs/angular-three/commit/52a24031)) +- **soba/gizmos:** use injectObjectEvents for all events for optimizing CDR (for now) ([7dc8b027](https://github.com/angular-threejs/angular-three/commit/7dc8b027)) +- **soba/staging:** use pierced props for sky ([c2ad7a69](https://github.com/angular-threejs/angular-three/commit/c2ad7a69)) +- **soba/staging:** use pierced props for spot light volumetric mesh ([d03e5cdd](https://github.com/angular-threejs/angular-three/commit/d03e5cdd)) +- **theatre:** use injectObjectEvents for transform events ([ebcb6f7c](https://github.com/angular-threejs/angular-three/commit/ebcb6f7c)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.96 (2025-03-16) + +### 🩹 Fixes + +- **theatre:** exportAs; expose sheetObject on transform and sync; ([ac14210e](https://github.com/angular-threejs/angular-three/commit/ac14210e)) + +### 💅 Refactors + +- **soba/cameras:** adjust perspective camera code ([41b94287](https://github.com/angular-threejs/angular-three/commit/41b94287)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.95 (2025-03-15) + +### 🩹 Fixes + +- **theatre:** fix studio import ([2cb857bf](https://github.com/angular-threejs/angular-three/commit/2cb857bf)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.94 (2025-03-15) + +### 🩹 Fixes + +- **theatre:** use studio to initialize ([1b517a30](https://github.com/angular-threejs/angular-three/commit/1b517a30)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.93 (2025-03-15) + +### 🚀 Features + +- **core:** remove unused code, expose resolveInstanceKey in applyProps ([0bdd9a7f](https://github.com/angular-threejs/angular-three/commit/0bdd9a7f)) +- **plugin:** add tweakpane to migration group ([3dee9634](https://github.com/angular-threejs/angular-three/commit/3dee9634)) +- **plugin:** add theatre to update groups ([1b5c0559](https://github.com/angular-threejs/angular-three/commit/1b5c0559)) +- **theatre:** add theatrejs integration ([87be9501](https://github.com/angular-threejs/angular-three/commit/87be9501)) +- **tweakpane:** rename tweakpane ([54926538](https://github.com/angular-threejs/angular-three/commit/54926538)) + +### 🩹 Fixes + +- **core:** ignore keys.indexOf in loader (need to revisit why) ([f560747a](https://github.com/angular-threejs/angular-three/commit/f560747a)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.92 (2025-03-13) + +### 🚀 Features + +- **soba/controls:** remove unused events input from camera controls ([459fd1b0](https://github.com/angular-threejs/angular-three/commit/459fd1b0)) + +### 🩹 Fixes + +- **soba/performances:** hide bvh group when retrying setting up geometries ([bc28579d](https://github.com/angular-threejs/angular-three/commit/bc28579d)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.91 (2025-03-11) + +### 🚀 Features + +- **rapier:** update peer deps on rapier3d-compat ([b42e76c6](https://github.com/angular-threejs/angular-three/commit/b42e76c6)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.90 (2025-03-11) + +### 💅 Refactors + +- **tweakpane:** rename startChangeEffect to sync ([659ff189](https://github.com/angular-threejs/angular-three/commit/659ff189)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.89 (2025-03-11) + +### 💅 Refactors + +- **tweakpane:** use computed for a lot of bindings stuff instead of set signal ([5d77340b](https://github.com/angular-threejs/angular-three/commit/5d77340b)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.88 (2025-03-11) + +### 🩹 Fixes + +- **soba/abstractions:** add ngts-text-3D as selector for text3d ([c7d7b5c2](https://github.com/angular-threejs/angular-three/commit/c7d7b5c2)) +- **soba/cameras:** expose fbo.texture as camera content context instead of fbo ([5552d810](https://github.com/angular-threejs/angular-three/commit/5552d810)) + +### 💅 Refactors + +- **soba/staging:** use protected ([efaba5b2](https://github.com/angular-threejs/angular-three/commit/efaba5b2)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.87 (2025-03-09) + +This was a version bump only, there were no code changes. + +## 4.0.0-next.86 (2025-03-09) + +This was a version bump only, there were no code changes. + +## 4.0.0-next.85 (2025-03-09) + +### 🩹 Fixes + +- **core:** forgot to update generation ([eb09c7c5](https://github.com/angular-threejs/angular-three/commit/eb09c7c5)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.84 (2025-03-09) + +### 🩹 Fixes + +- **core:** add missing skinned-mesh and bone to three types ([e04fc3d5](https://github.com/angular-threejs/angular-three/commit/e04fc3d5)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.83 (2025-03-08) + +### 🩹 Fixes + +- **core:** check for handlers before trying to remove event from it ([a5dfa497](https://github.com/angular-threejs/angular-three/commit/a5dfa497)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.82 (2025-03-08) + +### 🩹 Fixes + +- **soba/abstractions:** use viewChild on Text to set NgtObjectEvents ([d8780af3](https://github.com/angular-threejs/angular-three/commit/d8780af3)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.81 (2025-03-08) + +### 🩹 Fixes + +- **core:** check against ngt-primitive type to prepare ngt-primitive ([0bfaab68](https://github.com/angular-threejs/angular-three/commit/0bfaab68)) +- **soba/abstractions:** set ngtObjectEvents for Text in effect ([55f2a2de](https://github.com/angular-threejs/angular-three/commit/55f2a2de)) + +### 💅 Refactors + +- **core:** rename ([2045bd31](https://github.com/angular-threejs/angular-three/commit/2045bd31)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.80 (2025-03-08) + +### 🚀 Features + +- **soba/abstractions:** expose NgtObjectEvents on Text ([ed877f20](https://github.com/angular-threejs/angular-three/commit/ed877f20)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.79 (2025-03-08) + +### 🚀 Features + +- **soba/controls:** add TrackballControls ([30ebfb70](https://github.com/angular-threejs/angular-three/commit/30ebfb70)) + +### 🩹 Fixes + +- **core:** make __ngt_args__ optional ([73bd8cbb](https://github.com/angular-threejs/angular-three/commit/73bd8cbb)) +- **soba/controls:** adjust orbit controls ([4bf89340](https://github.com/angular-threejs/angular-three/commit/4bf89340)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.78 (2025-03-06) + +### 🚀 Features + +- ⚠️ **soba/cameras:** update `injectFBO` usage ([efb60cd4](https://github.com/angular-threejs/angular-three/commit/efb60cd4)) +- ⚠️ **soba/misc:** injectFBO no longer recreates the RenderTarget in a computed ([12262c78](https://github.com/angular-threejs/angular-three/commit/12262c78)) +- ⚠️ **soba/misc:** `injectDepthBuffer` returns `DepthTexture` instead of Signal ([53f515dd](https://github.com/angular-threejs/angular-three/commit/53f515dd)) + +### 🩹 Fixes + +- **soba/materials:** update `injectFBO` usages ([c972993e](https://github.com/angular-threejs/angular-three/commit/c972993e)) +- **soba/staging:** update `injectFBO` usages ([6aa59172](https://github.com/angular-threejs/angular-three/commit/6aa59172)) + +### ⚠️ Breaking Changes + +- **soba/cameras:** `NgtsCameraContent` `let-texture` template variable is +- **soba/misc:** `injectDepthBuffer` returns `DepthTexture | null` +- **soba/misc:** `injectFBO` now returns a `WebGLRenderTarget` instead + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.77 (2025-03-05) + +### 🩹 Fixes + +- **tweakpane:** add tweakpane/core to peer dep ([0411bcfc](https://github.com/angular-threejs/angular-three/commit/0411bcfc)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.76 (2025-03-05) + +### 🩹 Fixes + +- **tweakpane:** adjust how custom container works ([85a767ff](https://github.com/angular-threejs/angular-three/commit/85a767ff)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.75 (2025-03-05) + +### 🚀 Features + +- **core/dom:** expose host element from NgtCanvasContent ([fc0a6a74](https://github.com/angular-threejs/angular-three/commit/fc0a6a74)) +- **tweakpane:** accept optional container ([2422bfc7](https://github.com/angular-threejs/angular-three/commit/2422bfc7)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.74 (2025-03-05) + +### 🩹 Fixes + +- **soba/misc:** remove deprecated TextureEncoding ([cb9b676d](https://github.com/angular-threejs/angular-three/commit/cb9b676d)) +- **soba/staging:** remove encoding option in injectEnvironment ([f3205dd6](https://github.com/angular-threejs/angular-three/commit/f3205dd6)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.73 (2025-03-05) + +### 🚀 Features + +- **core:** allow provideNgtRenderer to accept options ([2bca496b](https://github.com/angular-threejs/angular-three/commit/2bca496b)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.72 (2025-03-05) + +### 🩹 Fixes + +- **soba/abstractions:** edges should be segmented ([064944c7](https://github.com/angular-threejs/angular-three/commit/064944c7)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.71 (2025-03-03) + +### 🩹 Fixes + +- **tweakpane:** use any for binding value instead ([5a09ecab](https://github.com/angular-threejs/angular-three/commit/5a09ecab)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.70 (2025-03-03) + +### 🚀 Features + +- **soba/abstractions:** add ngts-text-3D as a selector to text3d ([f048731d](https://github.com/angular-threejs/angular-three/commit/f048731d)) + +### 🩹 Fixes + +- **soba/materials:** add null to meshtransmissionmaterial background option ([d377bc80](https://github.com/angular-threejs/angular-three/commit/d377bc80)) +- **soba/staging:** when temporal is false, set a timeout for PLM update in accumulative shadows ([e7b47551](https://github.com/angular-threejs/angular-three/commit/e7b47551)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.69 (2025-03-02) + +### 🩹 Fixes + +- **rapier:** convexHull collider should set shape as convexHull ([9a82fcc9](https://github.com/angular-threejs/angular-three/commit/9a82fcc9)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.68 (2025-03-02) + +### 🚀 Features + +- **core:** expose meshes on loaded object graph ([9a0ee1db](https://github.com/angular-threejs/angular-three/commit/9a0ee1db)) + +### 🩹 Fixes + +- **core:** generate rawValue binding ([b22e0d70](https://github.com/angular-threejs/angular-three/commit/b22e0d70)) +- **core:** make sure NgtThreeElements contain correct types for non-mutable props ([1948b34b](https://github.com/angular-threejs/angular-three/commit/1948b34b)) +- **soba/cameras:** adjust NgtsCubeCameraOptions type ([3e0899d9](https://github.com/angular-threejs/angular-three/commit/3e0899d9)) +- **soba/materials:** adjust MeshTransmissionMaterialOptions type ([8073c453](https://github.com/angular-threejs/angular-three/commit/8073c453)) +- **soba/staging:** adjust lightSource type for caustic ([efe1e8ab](https://github.com/angular-threejs/angular-three/commit/efe1e8ab)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.67 (2025-03-01) + +### 🚀 Features + +- bump three 0.174 ([605816e1](https://github.com/angular-threejs/angular-three/commit/605816e1)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.66 (2025-02-28) + +### 🚀 Features + +- **rapier:** add interaction groups and physics step support ([8ba12fe6](https://github.com/angular-threejs/angular-three/commit/8ba12fe6)) +- **rapier/addons:** add attractor in addons secondary entry point ([c7e6e451](https://github.com/angular-threejs/angular-three/commit/c7e6e451)) + +### 🩹 Fixes + +- **core:** add missing geometry three elements ([0f3eb989](https://github.com/angular-threejs/angular-three/commit/0f3eb989)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.65 (2025-02-27) + +### 🩹 Fixes + +- **rapier:** make sure args and shape colliders are in sync ([0bedb235](https://github.com/angular-threejs/angular-three/commit/0bedb235)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.64 (2025-02-27) + +### 🩹 Fixes + +- **rapier:** more inputs adjustments ([757fa4c4](https://github.com/angular-threejs/angular-three/commit/757fa4c4)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.63 (2025-02-27) + +### 🚀 Features + +- ⚠️ **rapier:** make the colliders' args the colliders name themselves ([f6149ca8](https://github.com/angular-threejs/angular-three/commit/f6149ca8)) + +### ⚠️ Breaking Changes + +- **rapier:** this moves the `[args]` binding to colliders name + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.62 (2025-02-27) + +### 🩹 Fixes + +- **rapier:** adjust rigidbody and collider input types ([35c25040](https://github.com/angular-threejs/angular-three/commit/35c25040)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.61 (2025-02-26) + +### 🚀 Features + +- **rapier:** allow data to be a function ([0dc863fe](https://github.com/angular-threejs/angular-three/commit/0dc863fe)) + +### 🩹 Fixes + +- **core:** add ngt-scene to three elements collection ([4bdd2801](https://github.com/angular-threejs/angular-three/commit/4bdd2801)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.60 (2025-02-24) + +### 🩹 Fixes + +- **core:** adjust NgtRendererLike to also have an optional dispose ([cdd34ed5](https://github.com/angular-threejs/angular-three/commit/cdd34ed5)) +- **core:** add `created` event ([b9cd35aa](https://github.com/angular-threejs/angular-three/commit/b9cd35aa)) +- **soba/staging:** dispose texture on destroy ([050aee53](https://github.com/angular-threejs/angular-three/commit/050aee53)) +- **tweakpane:** use default tweakpane parent element ([2d7120f8](https://github.com/angular-threejs/angular-three/commit/2d7120f8)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.59 (2025-02-23) + +This was a version bump only, there were no code changes. + +## 4.0.0-next.58 (2025-02-22) + +### 🚀 Features + +- **soba/performances:** add bvh ([89c1e5ab](https://github.com/angular-threejs/angular-three/commit/89c1e5ab)) + +### 🩹 Fixes + +- **soba/performances:** adjust tracking logic in bvh effect ([883e0f27](https://github.com/angular-threejs/angular-three/commit/883e0f27)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.57 (2025-02-20) + +### 🩹 Fixes + +- **core:** rename selection apis ([52fe3404](https://github.com/angular-threejs/angular-three/commit/52fe3404)) +- **postprocessing:** use renamed selection api ([281931d2](https://github.com/angular-threejs/angular-three/commit/281931d2)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.56 (2025-02-18) + +This was a version bump only, there were no code changes. + +## 4.0.0-next.55 (2025-02-18) + +### 🩹 Fixes + +- **core:** adjust applyProps to match r3f ([0ea7a285](https://github.com/angular-threejs/angular-three/commit/0ea7a285)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.54 (2025-02-18) + +### 🩹 Fixes + +- **soba/cameras:** assign manual on camera instance ([898e9f60](https://github.com/angular-threejs/angular-three/commit/898e9f60)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.53 (2025-02-18) + +### 🩹 Fixes + +- **soba/cameras:** clean up cameras ([2f034b73](https://github.com/angular-threejs/angular-three/commit/2f034b73)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.52 (2025-02-16) + +### 🩹 Fixes + +- **soba:** use elapsedTime instead of getElapsedTime() ([08c8491c](https://github.com/angular-threejs/angular-three/commit/08c8491c)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.51 (2025-02-16) + +### 🩹 Fixes + +- **core:** track the three child on platform parent before passing off to the ancestor ([18094f29](https://github.com/angular-threejs/angular-three/commit/18094f29)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.50 (2025-02-14) + +### 🩹 Fixes + +- **tweakpane:** append pane as canvas child ([4220b907](https://github.com/angular-threejs/angular-three/commit/4220b907)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.49 (2025-02-14) + +### 🩹 Fixes + +- **rapier:** use boolean coercion ([6308326a](https://github.com/angular-threejs/angular-three/commit/6308326a)) +- **soba/abstractions:** use boolean coercion ([a8c842c5](https://github.com/angular-threejs/angular-three/commit/a8c842c5)) +- **soba/gizmos:** use boolean coercion ([b91128e0](https://github.com/angular-threejs/angular-three/commit/b91128e0)) +- **soba/staging:** use boolean coercions ([852b7761](https://github.com/angular-threejs/angular-three/commit/852b7761)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.48 (2025-02-14) + +### 🚀 Features + +- **plugin:** add tweakpane as an aux generator option ([78a04ea2](https://github.com/angular-threejs/angular-three/commit/78a04ea2)) +- **tweakpane:** tweakpane v1 ([54f2a3ef](https://github.com/angular-threejs/angular-three/commit/54f2a3ef)) + +### 🩹 Fixes + +- **tweakpane:** expose hostDirectives as public API ([c0aac2fa](https://github.com/angular-threejs/angular-three/commit/c0aac2fa)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.47 (2025-02-13) + +### 🚀 Features + +- **plugin:** add aux generator ([384f95e7](https://github.com/angular-threejs/angular-three/commit/384f95e7)) + +### 🩹 Fixes + +- **plugin:** adjust migration group ([32992318](https://github.com/angular-threejs/angular-three/commit/32992318)) + +### 💅 Refactors + +- **plugin:** move generate-util outside ([a378788e](https://github.com/angular-threejs/angular-three/commit/a378788e)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.46 (2025-02-13) + +### 🩹 Fixes + +- **plugin:** adjust draco schema again ([ed44f610](https://github.com/angular-threejs/angular-three/commit/ed44f610)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.45 (2025-02-13) + +### 🩹 Fixes + +- **plugin:** use string for draco ([d008d2dd](https://github.com/angular-threejs/angular-three/commit/d008d2dd)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.44 (2025-02-13) + +### 🩹 Fixes + +- **plugin:** default draco to null? ([a345eee1](https://github.com/angular-threejs/angular-three/commit/a345eee1)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.43 (2025-02-13) + +### 🩹 Fixes + +- **plugin:** draco is optional instead of default to false ([f9063a82](https://github.com/angular-threejs/angular-three/commit/f9063a82)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.42 (2025-02-13) + +### 🩹 Fixes + +- **plugin:** load draco based on transform ([863d7db7](https://github.com/angular-threejs/angular-three/commit/863d7db7)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.41 (2025-02-13) + +### 🩹 Fixes + +- **plugin:** handle draco; clean up ([801a8619](https://github.com/angular-threejs/angular-three/commit/801a8619)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.40 (2025-02-12) + +### 🩹 Fixes + +- **plugin:** more gltfPath ([f9cbb3e2](https://github.com/angular-threejs/angular-three/commit/f9cbb3e2)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.39 (2025-02-12) + +### 🩹 Fixes + +- **plugin:** gltfPath ([9617006c](https://github.com/angular-threejs/angular-three/commit/9617006c)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.38 (2025-02-12) + +### 🩹 Fixes + +- **plugin:** adjust one more time ([9fde6590](https://github.com/angular-threejs/angular-three/commit/9fde6590)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.37 (2025-02-12) + +### 🩹 Fixes + +- **plugin:** adjust ([c7025c51](https://github.com/angular-threejs/angular-three/commit/c7025c51)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.36 (2025-02-12) + +### 🩹 Fixes + +- **plugin:** let's see if it works ([6c84dc2f](https://github.com/angular-threejs/angular-three/commit/6c84dc2f)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.35 (2025-02-12) + +### 🩹 Fixes + +- **plugin:** add keep names and keep groups options ([485657eb](https://github.com/angular-threejs/angular-three/commit/485657eb)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.34 (2025-02-12) + +### 🩹 Fixes + +- **plugin:** adjust generate ([8a42b403](https://github.com/angular-threejs/angular-three/commit/8a42b403)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.33 (2025-02-12) + +### 🩹 Fixes + +- **plugin:** use let for nodes/materials; call generate; adjust node name ([78af9872](https://github.com/angular-threejs/angular-three/commit/78af9872)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.32 (2025-02-12) + +### 🩹 Fixes + +- **plugin:** use options modelPath ([399fa40e](https://github.com/angular-threejs/angular-three/commit/399fa40e)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.31 (2025-02-12) + +This was a version bump only, there were no code changes. + +## 4.0.0-next.30 (2025-02-11) + +### 🚀 Features + +- **plugin:** prep ([8e750b19](https://github.com/angular-threejs/angular-three/commit/8e750b19)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.29 (2025-02-11) + +### 🚀 Features + +- **plugin:** prep gltf generator ([8e79050a](https://github.com/angular-threejs/angular-three/commit/8e79050a)) + +### 🩹 Fixes + +- **plugin:** expose initGenerator ([25865c20](https://github.com/angular-threejs/angular-three/commit/25865c20)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.28 (2025-02-10) + +### 🩹 Fixes + +- **plugin:** get literal value of templateUrl if available ([b5bd817c](https://github.com/angular-threejs/angular-three/commit/b5bd817c)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.27 (2025-02-10) + +### 🩹 Fixes + +- **plugin:** use descendant again instead of child ([a14ac5ab](https://github.com/angular-threejs/angular-three/commit/a14ac5ab)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.26 (2025-02-10) + +### 🩹 Fixes + +- **plugin:** maintain format of template literal ([3f3e5fa8](https://github.com/angular-threejs/angular-three/commit/3f3e5fa8)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.25 (2025-02-10) + +### 🩹 Fixes + +- **plugin:** write template properly ([329bde6f](https://github.com/angular-threejs/angular-three/commit/329bde6f)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.24 (2025-02-10) + +### 🩹 Fixes + +- **plugin:** get template metadata via descendant ([44de9464](https://github.com/angular-threejs/angular-three/commit/44de9464)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.23 (2025-02-10) + +### 🩹 Fixes + +- **plugin:** look for decorators as descendants ([dfd893bd](https://github.com/angular-threejs/angular-three/commit/dfd893bd)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.22 (2025-02-10) + +### 🩹 Fixes + +- **plugin:** use tree.write instead because save() ain't enough ([17c56f73](https://github.com/angular-threejs/angular-three/commit/17c56f73)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.21 (2025-02-10) + +### 🩹 Fixes + +- **plugin:** use next version for ngt ([f33aa1b2](https://github.com/angular-threejs/angular-three/commit/f33aa1b2)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.20 (2025-02-10) + +### 🚀 Features + +- **plugin:** add angular-three-plugin ([394b95c5](https://github.com/angular-threejs/angular-three/commit/394b95c5)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.19 (2025-02-10) + +### 🩹 Fixes + +- use as const array instead of module ([7cbcd9b3](https://github.com/angular-threejs/angular-three/commit/7cbcd9b3)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.18 (2025-02-09) + +### 🚀 Features + +- **core:** expose NgtPortal as module with portal and portalContent grouped ([919a1a8f](https://github.com/angular-threejs/angular-three/commit/919a1a8f)) +- **core/dom:** expose NgtCanvas as a module with canvas and canvasContent grouped ([bb0a9491](https://github.com/angular-threejs/angular-three/commit/bb0a9491)) +- **soba/gizmos:** expose NgtsGizmoHelper as module ([a85cf9a9](https://github.com/angular-threejs/angular-three/commit/a85cf9a9)) +- **soba/misc:** expose NgtsHTML as module ([60df7770](https://github.com/angular-threejs/angular-three/commit/60df7770)) +- **soba/staging:** expose NgtsRenderTexture as module ([c76f4f7f](https://github.com/angular-threejs/angular-three/commit/c76f4f7f)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.17 (2025-02-09) + +### 🩹 Fixes + +- **soba:** adjust orbit controls options ([60b7d645](https://github.com/angular-threejs/angular-three/commit/60b7d645)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.16 (2025-02-09) + +### 🩹 Fixes + +- **core:** pass through defaultGLOptions instead of just canvas for NgtGLOptions ([d67e2a75](https://github.com/angular-threejs/angular-three/commit/d67e2a75)) +- **core:** bubble up events from primitive children ([fb1f73ab](https://github.com/angular-threejs/angular-three/commit/fb1f73ab)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.15 (2025-02-08) + +### 🩹 Fixes + +- **core:** use resolveRef in NgtParent ([b2fc55bd](https://github.com/angular-threejs/angular-three/commit/b2fc55bd)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.14 (2025-02-08) + +### 🚀 Features + +- **core:** allow injectBeforeRender to accept priority as signal ([5aad08bc](https://github.com/angular-threejs/angular-three/commit/5aad08bc)) + +### 🩹 Fixes + +- **postprocessing:** use injectBeforeRender with priority signal ([16307f30](https://github.com/angular-threejs/angular-three/commit/16307f30)) +- **soba:** use injectBeforeRender with priority signal ([c5d6e3dc](https://github.com/angular-threejs/angular-three/commit/c5d6e3dc)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.13 (2025-02-07) + +### 🚀 Features + +- **core:** add change as THREE native events ([e44c2b8a](https://github.com/angular-threejs/angular-three/commit/e44c2b8a)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.12 (2025-02-07) + +### 🚀 Features + +- **core:** support pierced property ([e5a7285b](https://github.com/angular-threejs/angular-three/commit/e5a7285b)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.11 (2025-02-07) + +### 🩹 Fixes + +- **soba:** use booleanAttribute for adaptive dpr pixelated input ([dfb76f8b](https://github.com/angular-threejs/angular-three/commit/dfb76f8b)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.10 (2025-02-05) + +### 🩹 Fixes + +- **core:** run invalidate on canvasOtions changes ([e64eccfc](https://github.com/angular-threejs/angular-three/commit/e64eccfc)) +- **core:** adjust after attach type ([c0197de1](https://github.com/angular-threejs/angular-three/commit/c0197de1)) +- **postprocessing:** expose effectComposer ([726dfdbe](https://github.com/angular-threejs/angular-three/commit/726dfdbe)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.9 (2025-02-02) + +### 🚀 Features + +- **postprocessing:** selective bloom effect ([dc6b7d1a](https://github.com/angular-threejs/angular-three/commit/dc6b7d1a)) + +### 🩹 Fixes + +- **core:** applyProps assign geometry directly instead of copying ([68da7aa8](https://github.com/angular-threejs/angular-three/commit/68da7aa8)) +- **soba:** fix billboard rotation ([66eb44f9](https://github.com/angular-threejs/angular-three/commit/66eb44f9)) +- **soba:** gizmo rotation should respect camera up ([9e92d423](https://github.com/angular-threejs/angular-three/commit/9e92d423)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.8 (2025-02-01) + +This was a version bump only, there were no code changes. + +## 4.0.0-next.7 (2025-01-28) + +### 🩹 Fixes + +- **core:** injectObjectEvents check for NgtInstanceNode ([d92164e1](https://github.com/angular-threejs/angular-three/commit/d92164e1)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.6 (2025-01-28) + +### 🩹 Fixes + +- **soba:** update peer deps ([ae568890](https://github.com/angular-threejs/angular-three/commit/ae568890)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.5 (2025-01-28) + +### 🩹 Fixes + +- **core:** assign attach directly on instance state ([554dc48b](https://github.com/angular-threejs/angular-three/commit/554dc48b)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.4 (2025-01-26) + +### 🩹 Fixes + +- **soba:** null check for onBeforeRender in intersect ([d8aa85df](https://github.com/angular-threejs/angular-three/commit/d8aa85df)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.3 (2025-01-26) + +This was a version bump only, there were no code changes. + +## 4.0.0-next.2 (2025-01-26) + +### 🩹 Fixes + +- **rapier:** compute rotation and quaternion properly ([cfd3ea56](https://github.com/angular-threejs/angular-three/commit/cfd3ea56)) + +### ❤️ Thank You + +- nartc + +## 4.0.0-next.1 (2025-01-26) + +### 🚀 Features + +- **core:** new renderer ([c7bec7eb](https://github.com/angular-threejs/angular-three/commit/c7bec7eb)) + +### 🩹 Fixes + +- **core:** adjust portals with new renderer ([f0243b93](https://github.com/angular-threejs/angular-three/commit/f0243b93)) +- **core:** adjust portals with new renderer (2) ([b62b21d3](https://github.com/angular-threejs/angular-three/commit/b62b21d3)) +- **core:** html now works ([6db540b9](https://github.com/angular-threejs/angular-three/commit/6db540b9)) +- **core:** adjust a lot in renderer ([6869f226](https://github.com/angular-threejs/angular-three/commit/6869f226)) +- **core:** pivot controls work ([43c431e6](https://github.com/angular-threejs/angular-three/commit/43c431e6)) +- **core:** update testing lib ([2110ec66](https://github.com/angular-threejs/angular-three/commit/2110ec66)) +- **core:** adjust tests in soba ([5a18452c](https://github.com/angular-threejs/angular-three/commit/5a18452c)) +- **soba:** adjust html with new renderer ([86ff1a7d](https://github.com/angular-threejs/angular-three/commit/86ff1a7d)) +- **soba,core:** controls now work ([96892ad1](https://github.com/angular-threejs/angular-three/commit/96892ad1)) + +### 💅 Refactors + +- **cannon:** update cannon with new renderer ([b73211db](https://github.com/angular-threejs/angular-three/commit/b73211db)) +- **core:** clean up renderer ([04b39d4c](https://github.com/angular-threejs/angular-three/commit/04b39d4c)) +- **core:** clean up renderer ([8c1ae6c2](https://github.com/angular-threejs/angular-three/commit/8c1ae6c2)) +- **core:** make renderer not aware of store internally ([18cafe1e](https://github.com/angular-threejs/angular-three/commit/18cafe1e)) +- **core:** refactor more with no-store renderer ([c56b03e9](https://github.com/angular-threejs/angular-three/commit/c56b03e9)) +- **core:** update object events ([6cf56c30](https://github.com/angular-threejs/angular-three/commit/6cf56c30)) +- **core:** clean up more renderer code ([698e2752](https://github.com/angular-threejs/angular-three/commit/698e2752)) +- **examples:** rename ([371eb49b](https://github.com/angular-threejs/angular-three/commit/371eb49b)) +- **postprocessing:** update postprocessing with new renderer ([bfb3dbb5](https://github.com/angular-threejs/angular-three/commit/bfb3dbb5)) +- **rapier:** update rapier with new renderer ([25f8ac31](https://github.com/angular-threejs/angular-three/commit/25f8ac31)) +- **soba:** clean up abstractions ([5f40d894](https://github.com/angular-threejs/angular-three/commit/5f40d894)) +- **soba:** update cameras with new renderer ([cb9d2069](https://github.com/angular-threejs/angular-three/commit/cb9d2069)) +- **soba:** update abstractions with new renderer ([441a5f0b](https://github.com/angular-threejs/angular-three/commit/441a5f0b)) +- **soba:** update controls with new renderer ([b16d477e](https://github.com/angular-threejs/angular-three/commit/b16d477e)) +- **soba:** update gizmos with new renderer ([b41f1d64](https://github.com/angular-threejs/angular-three/commit/b41f1d64)) +- **soba:** adjust html with new renderer ([155a68d2](https://github.com/angular-threejs/angular-three/commit/155a68d2)) +- **soba:** adjust performances with new renderer ([a83ba07c](https://github.com/angular-threejs/angular-three/commit/a83ba07c)) +- **soba:** adjust shaders with new renderer ([d9bcca60](https://github.com/angular-threejs/angular-three/commit/d9bcca60)) +- **soba:** adjust staging with new renderer ([d43bd2c7](https://github.com/angular-threejs/angular-three/commit/d43bd2c7)) +- **soba:** adjust stats and vanilla exports with new renderer ([41ca5f5b](https://github.com/angular-threejs/angular-three/commit/41ca5f5b)) +- **soba:** adjust misc with new renderer ([df00fb76](https://github.com/angular-threejs/angular-three/commit/df00fb76)) + +### ❤️ Thank You + +- nartc + +## 3.6.0 (2025-01-11) + +### 🚀 Features + +- **cannon:** bump three 172 ([126b126](https://github.com/angular-threejs/angular-three/commit/126b126)) +- **core:** bump three 172 ([fbb1531](https://github.com/angular-threejs/angular-three/commit/fbb1531)) +- **postprocessing:** bump three 172 ([28de882](https://github.com/angular-threejs/angular-three/commit/28de882)) +- **rapier:** bump three 172 ([580972f](https://github.com/angular-threejs/angular-three/commit/580972f)) +- **soba:** bump three 172 ([ef5655a](https://github.com/angular-threejs/angular-three/commit/ef5655a)) + +### 🩹 Fixes + +- **core:** loosen instanceof check ([b7650b2](https://github.com/angular-threejs/angular-three/commit/b7650b2)) +- **core:** null check first before isTexture ([ebd3c3a](https://github.com/angular-threejs/angular-three/commit/ebd3c3a)) +- **soba:** dispose texture on environment cube destroyed ([4a23c73](https://github.com/angular-threejs/angular-three/commit/4a23c73)) + +### ❤️ Thank You + +- nartc + +## 3.5.0 (2025-01-11) + +### 🚀 Features + +- **soba:** add isReady getter for animation api to help with type-narrow ([3ca940d](https://github.com/angular-threejs/angular-three/commit/3ca940d)) + +### ❤️ Thank You + +- nartc + +## 3.4.1 (2025-01-08) + +### 🩹 Fixes + +- **postprocessing:** ngtp tone mapping selector ([e816059](https://github.com/angular-threejs/angular-three/commit/e816059)) + +### ❤️ Thank You + +- nartc + +## 3.4.0 (2025-01-08) + +### 🚀 Features + +- **core:** add parent directive for special attach case ([7f78a4c](https://github.com/angular-threejs/angular-three/commit/7f78a4c)) + +### 🩹 Fixes + +- **core:** make sure previousAttach exists before invoking ([b5d3ae6](https://github.com/angular-threejs/angular-three/commit/b5d3ae6)) +- **core:** adjust NgtRouterOutlet to make a new env injector with parent ([ae16c92](https://github.com/angular-threejs/angular-three/commit/ae16c92)) +- **core:** move resolve parent to the directive itself ([0ec724a](https://github.com/angular-threejs/angular-three/commit/0ec724a)) +- **postprocessing:** update tonemapping to not use CONVOLUTION ([a6a7567](https://github.com/angular-threejs/angular-three/commit/a6a7567)) +- **postprocessing:** export name for tone mapping ([abe0100](https://github.com/angular-threejs/angular-three/commit/abe0100)) + +### ❤️ Thank You + +- nartc + +## 3.3.0 (2025-01-07) + +### 🩹 Fixes + +- **soba:** adjust injectGLTF generics ([41b95c4](https://github.com/angular-threejs/angular-three/commit/41b95c4)) + +### ❤️ Thank You + +- nartc + +## 3.2.4 (2025-01-07) + +### 🩹 Fixes + +- **core:** get parent in removeChild from parentNode; do not remove children if oldChild is scene ([2807f68](https://github.com/angular-threejs/angular-three/commit/2807f68)) +- **soba:** move makeDefault up for controls ([9d05d0c](https://github.com/angular-threejs/angular-three/commit/9d05d0c)) + +### ❤️ Thank You + +- nartc + +## 3.2.3 (2025-01-06) + +### 🩹 Fixes + +- **core:** check against previous args and do nothing if they're the same references ([d24c136](https://github.com/angular-threejs/angular-three/commit/d24c136)) +- **core:** use custom equality fn for parameters ([3c0cdfe](https://github.com/angular-threejs/angular-three/commit/3c0cdfe)) + +### ❤️ Thank You + +- nartc + +## 3.2.2 (2025-01-05) + +### 🩹 Fixes + +- **core:** null check remove call ([065efff](https://github.com/angular-threejs/angular-three/commit/065efff)) + +### ❤️ Thank You + +- nartc + +## 3.2.1 (2025-01-05) + +### 🩹 Fixes + +- **core:** check for lS.parent before calling untracked on it ([b4bf14d](https://github.com/angular-threejs/angular-three/commit/b4bf14d)) +- **soba:** setPoints should receive optional mid in quadratic bezier line ([909b27c](https://github.com/angular-threejs/angular-three/commit/909b27c)) +- **soba:** bind offset to position on pivot controls instead of effect ([c4128ed](https://github.com/angular-threejs/angular-three/commit/c4128ed)) + +### ❤️ Thank You + +- nartc + +## 3.2.0 (2025-01-05) + +### 🩹 Fixes + +- **cannon:** remove standalone: true ([b5e56e7](https://github.com/angular-threejs/angular-three/commit/b5e56e7)) +- **cannon:** remove unnecessary untracked ([de8a3e9](https://github.com/angular-threejs/angular-three/commit/de8a3e9)) +- **core:** remove standalone true ([0a38f33](https://github.com/angular-threejs/angular-three/commit/0a38f33)) +- **core:** remove unnecessary untracked ([a837583](https://github.com/angular-threejs/angular-three/commit/a837583)) +- **postprocessing:** remove standalone true ([195ea58](https://github.com/angular-threejs/angular-three/commit/195ea58)) +- **rapier:** remove standalone true ([fa304b9](https://github.com/angular-threejs/angular-three/commit/fa304b9)) +- **rapier:** remove unnecessary untracked ([f994937](https://github.com/angular-threejs/angular-three/commit/f994937)) +- **soba:** remove standalone true ([f894178](https://github.com/angular-threejs/angular-three/commit/f894178)) +- **soba:** remove unnecessary untracked ([5a976ef](https://github.com/angular-threejs/angular-three/commit/5a976ef)) + +### ❤️ Thank You + +- nartc + +## 3.1.0 (2025-01-05) + +### 🩹 Fixes + +- **core:** adjust versions for generator ([746039b](https://github.com/angular-threejs/angular-three/commit/746039b)) + +### ❤️ Thank You + +- nartc + +# 3.0.0 (2025-01-05) + +### 🚀 Features + +- ⚠️ **core:** remove NgtObjectEventsHostDirective short-cut ([0ab2a6e](https://github.com/angular-threejs/angular-three/commit/0ab2a6e)) +- **core:** promote core/testing to stable ([d6c5421](https://github.com/angular-threejs/angular-three/commit/d6c5421)) +- ⚠️ **rapier:** remove deprecated properties ([be09add](https://github.com/angular-threejs/angular-three/commit/be09add)) +- **repo:** migrate nx and angular ([f91595c](https://github.com/angular-threejs/angular-three/commit/f91595c)) +- **repo:** bump peer deps ([21a5f61](https://github.com/angular-threejs/angular-three/commit/21a5f61)) +- ⚠️ **soba:** remove ngtspivotcontrols export from controls entry point ([0db0b1e](https://github.com/angular-threejs/angular-three/commit/0db0b1e)) + +### 🩹 Fixes + +- **core:** routed scene should work ([6e76304](https://github.com/angular-threejs/angular-three/commit/6e76304)) +- **soba:** set up an effect for setting position of gizmo instead ([05ad6dc](https://github.com/angular-threejs/angular-three/commit/05ad6dc)) + +### ⚠️ Breaking Changes + +- **rapier:** remove `erp` from physics options +- **core:** use host directive `NgtObjectEvents` explicitly +- **soba:** use `NgtsPivotControls` from `gizmos` entry point + +### ❤️ Thank You + +- nartc + +## 2.14.0 (2025-01-02) + +### 🚀 Features + +- **repo:** bump peer deps on angular ([4027049](https://github.com/angular-threejs/angular-three/commit/4027049)) + +### 🩹 Fixes + +- **core:** make sure camera and dpr is set correctly initially ([ae5ec13](https://github.com/angular-threejs/angular-three/commit/ae5ec13)) + +### ❤️ Thank You + +- nartc + +## 2.13.0 (2025-01-02) + +### 🚀 Features + +- **cannon:** clean up cannon usages ([23f00ca](https://github.com/angular-threejs/angular-three/commit/23f00ca)) +- **postprocessing:** adjust postprocessing usages ([da5de36](https://github.com/angular-threejs/angular-three/commit/da5de36)) +- **postprocessing:** make sure effect w/ ngt-primitive are disposed ([e8510b9](https://github.com/angular-threejs/angular-three/commit/e8510b9)) +- **rapier:** adjust rapier effect usages ([3fcd150](https://github.com/angular-threejs/angular-three/commit/3fcd150)) +- **soba:** adjust abstractions ([5aa1b0c](https://github.com/angular-threejs/angular-three/commit/5aa1b0c)) +- **soba:** adjust cameras ([6b61706](https://github.com/angular-threejs/angular-three/commit/6b61706)) +- **soba:** controls ([a88606b](https://github.com/angular-threejs/angular-three/commit/a88606b)) +- **soba:** gizmos ([03dcfb8](https://github.com/angular-threejs/angular-three/commit/03dcfb8)) +- **soba:** loaders ([b4690fc](https://github.com/angular-threejs/angular-three/commit/b4690fc)) +- **soba:** materials ([affed6c](https://github.com/angular-threejs/angular-three/commit/affed6c)) +- **soba:** misc ([bf543ca](https://github.com/angular-threejs/angular-three/commit/bf543ca)) +- **soba:** staging ([3c18936](https://github.com/angular-threejs/angular-three/commit/3c18936)) + +### 🩹 Fixes + +- **core:** warn about 'routed' scenegraph ([59db3ae](https://github.com/angular-threejs/angular-three/commit/59db3ae)) +- **core:** adjust effect usage in core canvas ([5e45354](https://github.com/angular-threejs/angular-three/commit/5e45354)) + +### ❤️ Thank You + +- nartc + +## 2.12.0 (2024-12-02) + +### 🚀 Features + +- **core:** deprecate outputs and inputs shortcut for ObjectEvents. Never worked ([576eeaa](https://github.com/angular-threejs/angular-three/commit/576eeaa)) + +### 🩹 Fixes + +- **soba:** explicit outputs for object events on rounded box ([81ac40c](https://github.com/angular-threejs/angular-three/commit/81ac40c)) + +### ❤️ Thank You + +- nartc + +## 2.11.0 (2024-12-02) + +### 🚀 Features + +- **soba:** apply objectEvents as host directive to RoundedBox ([8cffded](https://github.com/angular-threejs/angular-three/commit/8cffded)) + +### ❤️ Thank You + +- nartc + +## 2.10.7 (2024-12-02) + +### 🩹 Fixes + +- **soba:** restart portal before render when priority changes in MeshPortalMaterial ([55b3258](https://github.com/angular-threejs/angular-three/commit/55b3258)) + +### ❤️ Thank You + +- nartc + +## 2.10.6 (2024-12-02) + +### 🩹 Fixes + +- **cannon:** dummy commit ([942547e](https://github.com/angular-threejs/angular-three/commit/942547e)) +- **rapier:** dummy commit ([1d7ea92](https://github.com/angular-threejs/angular-three/commit/1d7ea92)) + +### ❤️ Thank You + +- nartc + +## 2.10.5 (2024-12-02) + +### 🩹 Fixes + +- **soba:** dummy ([ed2fb54](https://github.com/angular-threejs/angular-three/commit/ed2fb54)) + +### ❤️ Thank You + +- nartc + +## 2.10.4 (2024-12-02) + +### 🩹 Fixes + +- **soba:** dummy ([232d772](https://github.com/angular-threejs/angular-three/commit/232d772)) +- **soba:** dummy again ([c518a2f](https://github.com/angular-threejs/angular-three/commit/c518a2f)) +- **soba:** revert the dummy commits ([1b18d30](https://github.com/angular-threejs/angular-three/commit/1b18d30)) + +### ❤️ Thank You + +- nartc + +## 2.10.3 (2024-12-02) + +### 🩹 Fixes + +- **soba:** default blend to 0 for MeshPortalMaterial ([daa64e4](https://github.com/angular-threejs/angular-three/commit/daa64e4)) + +### ❤️ Thank You + +- nartc + +## 2.10.2 (2024-12-02) + +### 🩹 Fixes + +- **soba:** export new animations types as public api ([00dd7db](https://github.com/angular-threejs/angular-three/commit/00dd7db)) + +### ❤️ Thank You + +- nartc + +## 2.10.1 (2024-12-02) + +### 🩹 Fixes + +- **soba:** adjust injectAnimations to be more relaxed with animation clip typing ([cca8a12](https://github.com/angular-threejs/angular-three/commit/cca8a12)) + +### ❤️ Thank You + +- nartc + +## 2.10.0 (2024-12-01) + +### 🚀 Features + +- **soba:** add NgtsMeshPortalMaterial (use pmndrs/vanilla) ([2baa76a](https://github.com/angular-threejs/angular-three/commit/2baa76a)) + +### 🩹 Fixes + +- **core:** adjust NgtAttachable type to accept string | number array (for index) ([447c3e1](https://github.com/angular-threejs/angular-three/commit/447c3e1)) +- **soba:** add default params for injectFBO ([2f2a551](https://github.com/angular-threejs/angular-three/commit/2f2a551)) + +### ❤️ Thank You + +- nartc + +## 2.9.0 (2024-11-30) + +### 🚀 Features + +- **cannon:** bump peer dep to three 170 ([3a09692](https://github.com/angular-threejs/angular-three/commit/3a09692)) +- **core:** bump peer dependency to three 170 ([7493d8c](https://github.com/angular-threejs/angular-three/commit/7493d8c)) +- **postprocessing:** bump peer dep to three 170 ([694ca85](https://github.com/angular-threejs/angular-three/commit/694ca85)) +- **rapier:** bump peer dep to three 170 ([b41385a](https://github.com/angular-threejs/angular-three/commit/b41385a)) +- **soba:** bump peer dep to three 170 and three csm to <6.3.0 ([52b81f6](https://github.com/angular-threejs/angular-three/commit/52b81f6)) + +### ❤️ Thank You + +- nartc + +## 2.8.1 (2024-11-22) + +### 🩹 Fixes + +- **soba:** address peer deps on three csm ([0f155ad](https://github.com/angular-threejs/angular-three/commit/0f155ad)) + +### ❤️ Thank You + +- nartc + +## 2.8.0 (2024-11-14) + +### 🚀 Features + +- **postprocessing:** bump peer deps ([04f39dd](https://github.com/angular-threejs/angular-three/commit/04f39dd)) +- **soba:** bump peer deps ([d203556](https://github.com/angular-threejs/angular-three/commit/d203556)) + +### ❤️ Thank You + +- nartc + +## 2.7.0 (2024-11-01) + +### 🚀 Features + +- **core:** upgrade ngxtension (with changes to resize) ([07f1f1e](https://github.com/angular-threejs/angular-three/commit/07f1f1e)) + +### ❤️ Thank You + +- nartc + +## 2.6.1 (2024-10-30) + +### 🩹 Fixes + +- **core:** remove as const from object events inputs/outputs ([f539c80](https://github.com/angular-threejs/angular-three/commit/f539c80)) + +### ❤️ Thank You + +- nartc + +## 2.6.0 (2024-10-30) + +### 🚀 Features + +- **core:** adjust internal types ([dae630f](https://github.com/angular-threejs/angular-three/commit/dae630f)) +- **rapier:** deprecate erp; add contactNaturalFrequency ([189be32](https://github.com/angular-threejs/angular-three/commit/189be32)) +- **soba:** add injectFBX ([8a6c79a](https://github.com/angular-threejs/angular-three/commit/8a6c79a)) + +### 🩹 Fixes + +- **core:** expose inputs and outputs array for NgtObjectEvents ([6d3e0ed](https://github.com/angular-threejs/angular-three/commit/6d3e0ed)) + +### ❤️ Thank You + +- nartc + +## 2.5.2 (2024-10-26) + +### 🩹 Fixes + +- **core:** check for uuid before comparing uuid in instance store ([8e1617a](https://github.com/angular-threejs/angular-three/commit/8e1617a)) + +### 💅 Refactors + +- **core:** use DOM_PARENT constant for __ngt_dom_parent__ ([800bc6d](https://github.com/angular-threejs/angular-three/commit/800bc6d)) + +### ❤️ Thank You + +- nartc + +## 2.5.1 (2024-09-30) + + +### 🩹 Fixes + +- **plugin:** bump generators versions ([572477d](https://github.com/angular-threejs/angular-three/commit/572477d)) +- **rapier:** do not track entire options object in rigid body colliders options ([8c7915a](https://github.com/angular-threejs/angular-three/commit/8c7915a)) +- **soba:** bump dependencies version ([1c9b7cb](https://github.com/angular-threejs/angular-three/commit/1c9b7cb)) + +### ❤️ Thank You + +- nartc + +## 2.5.0 (2024-09-30) + + +### 🚀 Features + +- **soba:** add preload ([8387f21](https://github.com/angular-threejs/angular-three/commit/8387f21)) + +### 🩹 Fixes + +- **core:** use findIndex instead of indexOf in instance add new object ([0ae843f](https://github.com/angular-threejs/angular-three/commit/0ae843f)) +- **soba:** use textGeometry in effect for text3d ([eaa2d17](https://github.com/angular-threejs/angular-three/commit/eaa2d17)) + +### ❤️ Thank You + +- nartc + +## 2.4.0 (2024-09-29) + + +### 🚀 Features + +- use ngxtension ([f785e1d](https://github.com/angular-threejs/angular-three/commit/f785e1d)) +- add select to storeApi ([9d5da39](https://github.com/angular-threejs/angular-three/commit/9d5da39)) +- adjust migration ([04d2924](https://github.com/angular-threejs/angular-three/commit/04d2924)) +- **core:** generate core ([e1cf6c7](https://github.com/angular-threejs/angular-three/commit/e1cf6c7)) +- **core:** upgrade nx ([c3bbc46](https://github.com/angular-threejs/angular-three/commit/c3bbc46)) +- **core:** add experience generation (beta) ([650eb26](https://github.com/angular-threejs/angular-three/commit/650eb26)) +- **core:** update nx ([27ca571](https://github.com/angular-threejs/angular-three/commit/27ca571)) +- **core:** bump three 0.156 ([3f847ef](https://github.com/angular-threejs/angular-three/commit/3f847ef)) +- **core:** update nx ([3e55988](https://github.com/angular-threejs/angular-three/commit/3e55988)) +- **core:** update ngxtension ([f3bbd0c](https://github.com/angular-threejs/angular-three/commit/f3bbd0c)) +- **core:** add selection api (NgtSelection and NgtSelect) ([b3c2071](https://github.com/angular-threejs/angular-three/commit/b3c2071)) +- **core:** add hexify pipe to convert various color values to hex-number (0xRRGGBBAA format) ([0f2c63a](https://github.com/angular-threejs/angular-three/commit/0f2c63a)) +- **core:** add NgtObjectEvents directive to pass-through pointer event system ([e0b575f](https://github.com/angular-threejs/angular-three/commit/e0b575f)) +- **core:** add injectNonNullish$ ([2eec63b](https://github.com/angular-threejs/angular-three/commit/2eec63b)) +- **core:** allow raycast to accept null and assign () => null for null raycasting ([44b24e8](https://github.com/angular-threejs/angular-three/commit/44b24e8)) +- **core:** init nativescript entry point ([413a60c](https://github.com/angular-threejs/angular-three/commit/413a60c)) +- **core:** first nativescript entry point release ([8864e0b](https://github.com/angular-threejs/angular-three/commit/8864e0b)) +- **plugin:** update init-soba generator to add metadata.json ([6009ca0](https://github.com/angular-threejs/angular-three/commit/6009ca0)) +- **plugin:** update plugin to the latest ([b13ef25](https://github.com/angular-threejs/angular-three/commit/b13ef25)) +- **plugin:** add soba generator ([591e95a](https://github.com/angular-threejs/angular-three/commit/591e95a)) +- **plugin:** wip gltf generator ([08a7baa](https://github.com/angular-threejs/angular-three/commit/08a7baa)) +- **postprocessing:** add outline effect and demo ([30f70ba](https://github.com/angular-threejs/angular-three/commit/30f70ba)) +- **postprocessing:** add n8ao as an entry point; add tonemapping ([7c73755](https://github.com/angular-threejs/angular-three/commit/7c73755)) +- **rapier:** add rapier ([ff76de7](https://github.com/angular-threejs/angular-three/commit/ff76de7)) +- **rapier:** add rapier ([#54](https://github.com/angular-threejs/angular-three/pull/54)) +- ⚠️ **rapier:** support fallback content when physics fails to load RAPIER wasm ([8f336df](https://github.com/angular-threejs/angular-three/commit/8f336df)) +- **soba:** add instances ([e118791](https://github.com/angular-threejs/angular-three/commit/e118791)) +- **soba:** gizmo ([8ac565c](https://github.com/angular-threejs/angular-three/commit/8ac565c)) +- **soba:** allow set global decoder path ([cbe0cc4](https://github.com/angular-threejs/angular-three/commit/cbe0cc4)) +- **soba:** point material ([c57dcea](https://github.com/angular-threejs/angular-three/commit/c57dcea)) +- **soba:** add scale factor calculation for pivot controls ([1d00903](https://github.com/angular-threejs/angular-three/commit/1d00903)) +- **soba:** add pivot controls ([2729b57](https://github.com/angular-threejs/angular-three/commit/2729b57)) +- **soba:** add billboard ([91c51cf](https://github.com/angular-threejs/angular-three/commit/91c51cf)) +- **soba:** add NgtsMask ([a60e3b7](https://github.com/angular-threejs/angular-three/commit/a60e3b7)) +- **soba:** add transform controls ([faf6867](https://github.com/angular-threejs/angular-three/commit/faf6867)) +- **soba:** gen gizmos entry; move PivotControls and TransformControls into gizmos ([9e82df2](https://github.com/angular-threejs/angular-three/commit/9e82df2)) +- **soba:** add gizmo helpers ([f99d043](https://github.com/angular-threejs/angular-three/commit/f99d043)) + +### 🩹 Fixes + +- migration migrates all the times ([83ca9c6](https://github.com/angular-threejs/angular-three/commit/83ca9c6)) +- make sure to install ngxtension ([6ee16a7](https://github.com/angular-threejs/angular-three/commit/6ee16a7)) +- adjust version of ngxtension ([7c5b54a](https://github.com/angular-threejs/angular-three/commit/7c5b54a)) +- only get state if it's available ([33aa00f](https://github.com/angular-threejs/angular-three/commit/33aa00f)) +- ⚠️ **cannon:** unwrap `afterNextRender` from `injectBody` and `injectConstraint` ([676aa16](https://github.com/angular-threejs/angular-three/commit/676aa16)) +- **cannon:** update peer deps ([fc7ab35](https://github.com/angular-threejs/angular-three/commit/fc7ab35)) +- **cannon:** remove autoEffect in physics ([7ecfb3f](https://github.com/angular-threejs/angular-three/commit/7ecfb3f)) +- **cannon:** clean up physics ([f8973c4](https://github.com/angular-threejs/angular-three/commit/f8973c4)) +- **core:** make sure renderer work correctly for two DOMs elements that might contain THREE children ([b1987ba](https://github.com/angular-threejs/angular-three/commit/b1987ba)) +- **core:** only proceed with append logic for DOMs if render state is available ([5a56e6d](https://github.com/angular-threejs/angular-three/commit/5a56e6d)) +- **core:** adjust createAttachFn positional type arguments ([b65fe57](https://github.com/angular-threejs/angular-three/commit/b65fe57)) +- **core:** adjust experience generator ([fad08f6](https://github.com/angular-threejs/angular-three/commit/fad08f6)) +- **core:** adjust generator sourceRoot ([701b7c9](https://github.com/angular-threejs/angular-three/commit/701b7c9)) +- **core:** adjust tsqueyr usage for generator ([2d16772](https://github.com/angular-threejs/angular-three/commit/2d16772)) +- **core:** make sure escape template tag for generation ([6a702d6](https://github.com/angular-threejs/angular-three/commit/6a702d6)) +- **core:** use correct syntax for substitution generate files ([4194370](https://github.com/angular-threejs/angular-three/commit/4194370)) +- **core:** adjust template for experience component to include angular-three imports ([1249f0f](https://github.com/angular-threejs/angular-three/commit/1249f0f)) +- **core:** force standalone for experience generation ([2b4c9fa](https://github.com/angular-threejs/angular-three/commit/2b4c9fa)) +- **core:** rename assertInjectionContext to assertInjector ([79c68aa](https://github.com/angular-threejs/angular-three/commit/79c68aa)) +- **core:** update type for afterAttach ([3b01ce5](https://github.com/angular-threejs/angular-three/commit/3b01ce5)) +- **core:** clean up ngt ref ([1125c86](https://github.com/angular-threejs/angular-three/commit/1125c86)) +- **core:** fix core type for loader ([9c741ea](https://github.com/angular-threejs/angular-three/commit/9c741ea)) +- **core:** adjust nested effects ([59f0dda](https://github.com/angular-threejs/angular-three/commit/59f0dda)) +- **core:** update package target to build plugin last ([1bf5884](https://github.com/angular-threejs/angular-three/commit/1bf5884)) +- **core:** adjust import for selection ([b118e47](https://github.com/angular-threejs/angular-three/commit/b118e47)) +- **core:** change the way NgtSelect works ([50f0cea](https://github.com/angular-threejs/angular-three/commit/50f0cea)) +- **core:** simplify NgtSelection API with exposing single method update ([9fce320](https://github.com/angular-threejs/angular-three/commit/9fce320)) +- **core:** return early if there is namespace during createElement ([610d56f](https://github.com/angular-threejs/angular-three/commit/610d56f)) +- **core:** comment out update matrix automatically ([2f813fa](https://github.com/angular-threejs/angular-three/commit/2f813fa)) +- **core:** use noinfer for TData on loader's onLoad ([536aa05](https://github.com/angular-threejs/angular-three/commit/536aa05)) +- **core:** account for when parent is null in removeChild ([08c27e5](https://github.com/angular-threejs/angular-three/commit/08c27e5)) +- **core:** double check for falsy parent in removeChild ([5f1a36d](https://github.com/angular-threejs/angular-three/commit/5f1a36d)) +- **core:** adjust removeChild logic to get THREE parent first before getting renderer parent ([d97d48d](https://github.com/angular-threejs/angular-three/commit/d97d48d)) +- **core:** bail if parent is null in removeChild but do clean up if there's internal child ([2691fd0](https://github.com/angular-threejs/angular-three/commit/2691fd0)) +- **core:** call signal for parent() in remove child ([ca711d7](https://github.com/angular-threejs/angular-three/commit/ca711d7)) +- **core:** handle NgtAttachFunction for ngt-value as well ([b1d1006](https://github.com/angular-threejs/angular-three/commit/b1d1006)) +- **core:** adjust onLoad parameter type ([fd37f28](https://github.com/angular-threejs/angular-three/commit/fd37f28)) +- **core:** use optional chaining for localState parent since it can be null ([5eff54a](https://github.com/angular-threejs/angular-three/commit/5eff54a)) +- **core:** assert any for $event ([7b54fae](https://github.com/angular-threejs/angular-three/commit/7b54fae)) +- **core:** use onReady event from Canvas NS ([93dafef](https://github.com/angular-threejs/angular-three/commit/93dafef)) +- **core:** set size for gl in native ([a560270](https://github.com/angular-threejs/angular-three/commit/a560270)) +- **core:** optional chaining on renderer state as it can be null during nullifying state of previous object downstream ([f42a9fe](https://github.com/angular-threejs/angular-three/commit/f42a9fe)) +- **core:** clean up NgtObjectEvents; do not use afterNextRender in injectObjectEvents ([1fcf43a](https://github.com/angular-threejs/angular-three/commit/1fcf43a)) +- ⚠️ **core:** unwrap `afterNextRender` in `injectLoader` ([d57d1cc](https://github.com/angular-threejs/angular-three/commit/d57d1cc)) +- **core:** adjust add soba generator to remove dup three mesh bvh peerdep ([c3b68e2](https://github.com/angular-threejs/angular-three/commit/c3b68e2)) +- **core:** adjust loader to bail on only falsy url when multiple urls are passed in ([67a6d2c](https://github.com/angular-threejs/angular-three/commit/67a6d2c)) +- **core:** update peer deps ([ef92608](https://github.com/angular-threejs/angular-three/commit/ef92608)) +- **core:** ensure three native events (w/ EventDispatcher) work properly ([2a0edd6](https://github.com/angular-threejs/angular-three/commit/2a0edd6)) +- **core:** assign intermediate ref to the parent store for non-three instance during applyProps ([6fb9294](https://github.com/angular-threejs/angular-three/commit/6fb9294)) +- **core:** add output emitter ref utilities ([1457ce7](https://github.com/angular-threejs/angular-three/commit/1457ce7)) +- **core:** make sure add method is available before calling ([92af0e9](https://github.com/angular-threejs/angular-three/commit/92af0e9)) +- **core:** use effect directly for selection ([19cd21e](https://github.com/angular-threejs/angular-three/commit/19cd21e)) +- **core:** clean up loader; remove allowSignalWrites in injectLoader ([3c074c5](https://github.com/angular-threejs/angular-three/commit/3c074c5)) +- **core:** clean up args; ([86d31aa](https://github.com/angular-threejs/angular-three/commit/86d31aa)) +- **core:** add geometryStamp to ngt instance ([2cf9113](https://github.com/angular-threejs/angular-three/commit/2cf9113)) +- **core:** adjust object events; remove afterNextRender ([63d6e74](https://github.com/angular-threejs/angular-three/commit/63d6e74)) +- **core:** remove autoEffect in canvas ([94834a6](https://github.com/angular-threejs/angular-three/commit/94834a6)) +- **core:** clean up portal; remove autoEffect ([6ad06e1](https://github.com/angular-threejs/angular-three/commit/6ad06e1)) +- **core:** add geometryStamp and updateGeometryStamp to types ([4c730bb](https://github.com/angular-threejs/angular-three/commit/4c730bb)) +- **core:** check setClearAlpha before calling ([33ba160](https://github.com/angular-threejs/angular-three/commit/33ba160)) +- **plugin:** change init logic for geenrating experience ([8a14c89](https://github.com/angular-threejs/angular-three/commit/8a14c89)) +- **plugin:** miss a typo ([994eb99](https://github.com/angular-threejs/angular-three/commit/994eb99)) +- **plugin:** trim the template when in append experience mode ([2fccad0](https://github.com/angular-threejs/angular-three/commit/2fccad0)) +- **plugin:** fix peer dependencies prompt for add-soba ([07eca89](https://github.com/angular-threejs/angular-three/commit/07eca89)) +- **plugin:** only add metadata json path to vscode settings if it's not there ([cafcf51](https://github.com/angular-threejs/angular-three/commit/cafcf51)) +- **plugin:** try using esnext ([2600c9e](https://github.com/angular-threejs/angular-three/commit/2600c9e)) +- **plugin:** adjust add-soba generator to make sure all peer deps are installed properly ([caf58a6](https://github.com/angular-threejs/angular-three/commit/caf58a6)) +- **plugin:** add missing peer dep to collection ([3d6362c](https://github.com/angular-threejs/angular-three/commit/3d6362c)) +- **plugin:** bump threejs version ([18b9a9e](https://github.com/angular-threejs/angular-three/commit/18b9a9e)) +- **postprocessing:** update peer deps ([4d5ee21](https://github.com/angular-threejs/angular-three/commit/4d5ee21)) +- **postprocessing:** remove afterNextRender and autoEffect ([4d0918d](https://github.com/angular-threejs/angular-three/commit/4d0918d)) +- **rapier:** clean up framestepper; remove afterNextRender and autoEffect ([0e27857](https://github.com/angular-threejs/angular-three/commit/0e27857)) +- **rapier:** auto colliders should still work if physicsColliders is false BUT colliders is set ([07ecec0](https://github.com/angular-threejs/angular-three/commit/07ecec0)) +- **rapier:** clean up rapier ([9cda37b](https://github.com/angular-threejs/angular-three/commit/9cda37b)) +- **repo:** align peer dependencies ranges to better control them ([bcebf76](https://github.com/angular-threejs/angular-three/commit/bcebf76)) +- **soba:** extend InstancedBufferAttribute ([e39cdb2](https://github.com/angular-threejs/angular-three/commit/e39cdb2)) +- **soba:** attempt to use args for instanced buffer attribute ([6862a07](https://github.com/angular-threejs/angular-three/commit/6862a07)) +- **soba:** reverse occlusion logic in HTML ([17c5123](https://github.com/angular-threejs/angular-three/commit/17c5123)) +- **soba:** use texture params for progressive light maps ([72fef8c](https://github.com/angular-threejs/angular-three/commit/72fef8c)) +- **soba:** ensure default intensity for accumulative shadows is taking legacy lights into account ([89f060f](https://github.com/angular-threejs/angular-three/commit/89f060f)) +- **soba:** add content projection for orbit controls ([8a6526c](https://github.com/angular-threejs/angular-three/commit/8a6526c)) +- **soba:** clean up cube camera ([ce60420](https://github.com/angular-threejs/angular-three/commit/ce60420)) +- **soba:** make fbo return a Signal instead of NgtInjectedRef ([6160a2e](https://github.com/angular-threejs/angular-three/commit/6160a2e)) +- **soba:** clean up trail texture ([e8a94c2](https://github.com/angular-threejs/angular-three/commit/e8a94c2)) +- **soba:** make ngtsTrail return a Signal instead of NgtInjectedRef ([5d30c3a](https://github.com/angular-threejs/angular-three/commit/5d30c3a)) +- **soba:** match MeshTransmissionMaterial with Drei ([0d09a28](https://github.com/angular-threejs/angular-three/commit/0d09a28)) +- **soba:** clean up animations ([90545c6](https://github.com/angular-threejs/angular-three/commit/90545c6)) +- **soba:** clean up sampler ([d7426b7](https://github.com/angular-threejs/angular-three/commit/d7426b7)) +- **soba:** use valid angular for caustics ([70f4f32](https://github.com/angular-threejs/angular-three/commit/70f4f32)) +- **soba:** adjust type for all attach input to NgtAttachable ([02bbc13](https://github.com/angular-threejs/angular-three/commit/02bbc13)) +- **soba:** rename directive selectors to camel case instead of kebab ([ce1d543](https://github.com/angular-threejs/angular-three/commit/ce1d543)) +- **soba:** adjust contact shadows ([aa3d022](https://github.com/angular-threejs/angular-three/commit/aa3d022)) +- **soba:** fix options type for helper ([f8f93a5](https://github.com/angular-threejs/angular-three/commit/f8f93a5)) +- **soba:** adjust type for gltfloader onLoad and allows preLoad to pass in onLoad ([7d0ad62](https://github.com/angular-threejs/angular-three/commit/7d0ad62)) +- **soba:** attempt to use commonjs with loadEsmModule ([78060c0](https://github.com/angular-threejs/angular-three/commit/78060c0)) +- **soba:** another attempt to load injectGLTF ([02ccc26](https://github.com/angular-threejs/angular-three/commit/02ccc26)) +- **soba:** test gltf generator ([8d4c75d](https://github.com/angular-threejs/angular-three/commit/8d4c75d)) +- **soba:** remove gltf generator (gonna make a separate CLI instead) ([ab1603a](https://github.com/angular-threejs/angular-three/commit/ab1603a)) +- **soba:** another attempt with gltf generator using node-three-gltf ([5095308](https://github.com/angular-threejs/angular-three/commit/5095308)) +- **soba:** remove gltf generator again ([08dbc31](https://github.com/angular-threejs/angular-three/commit/08dbc31)) +- ⚠️ **soba:** unwrap `afterNextRender` in `injectHelper` ([537be01](https://github.com/angular-threejs/angular-three/commit/537be01)) +- ⚠️ **soba:** unwrap `afterNextRender` in `injectFBO`, `injectIntersect`, and `injectSurfaceSampler` ([0599c1a](https://github.com/angular-threejs/angular-three/commit/0599c1a)) +- ⚠️ **soba:** unwrap `afterNextRender` in `injectEnvironment` and `injectNormalTexture` ([47dba57](https://github.com/angular-threejs/angular-three/commit/47dba57)) +- **soba:** clean up `injectAnimations` ([c52b925](https://github.com/angular-threejs/angular-three/commit/c52b925)) +- ⚠️ **soba:** unwrap `afterNextRender` in `injectAnimations` ([c325c92](https://github.com/angular-threejs/angular-three/commit/c325c92)) +- **soba:** update peer deps ([92e0e05](https://github.com/angular-threejs/angular-three/commit/92e0e05)) +- **soba:** adjust orbit controls event type ([877d006](https://github.com/angular-threejs/angular-three/commit/877d006)) +- **soba:** add attach input to prism geometry ([dc83f8b](https://github.com/angular-threejs/angular-three/commit/dc83f8b)) +- **soba:** bump pmndrs/vanilla version ([2599568](https://github.com/angular-threejs/angular-three/commit/2599568)) +- **soba:** add preload and clear to injectEnvironment ([395d6bf](https://github.com/angular-threejs/angular-three/commit/395d6bf)) +- **soba:** track parent nonObjects before creating decal ([0091a6f](https://github.com/angular-threejs/angular-three/commit/0091a6f)) +- **soba:** clean up sampler; use computed instead of setting signals in effect ([f5262bc](https://github.com/angular-threejs/angular-three/commit/f5262bc)) +- **soba:** also register nonObjects() for center (so geometries can be taken into account) ([71d4c2c](https://github.com/angular-threejs/angular-three/commit/71d4c2c)) +- **soba:** clean up environment; use effect more effectively (no pun) ([a8e2966](https://github.com/angular-threejs/angular-three/commit/a8e2966)) +- **soba:** clean up sampler even more ([88fbae4](https://github.com/angular-threejs/angular-three/commit/88fbae4)) +- **soba:** clean up a lot of afterNextRender / autoEffect ([d41fc91](https://github.com/angular-threejs/angular-three/commit/d41fc91)) +- **soba:** clean up sampler returning the computed directly ([f33136c](https://github.com/angular-threejs/angular-three/commit/f33136c)) +- **soba:** fix type for viewcube ([749b97b](https://github.com/angular-threejs/angular-three/commit/749b97b)) + +### 💅 Refactors + +- **cannon:** adjust injectBody ([be14df8](https://github.com/angular-threejs/angular-three/commit/be14df8)) +- **core:** use VCR from canvas element instead of host ([f739b89](https://github.com/angular-threejs/angular-three/commit/f739b89)) +- **core:** nullify the __ngt_dom_parent__ for HTML component ([57c0568](https://github.com/angular-threejs/angular-three/commit/57c0568)) +- **core:** use DebugNode instead of getDebugNode ([7f39e5c](https://github.com/angular-threejs/angular-three/commit/7f39e5c)) +- **core:** remove unnecessary untracked in noZoneRender ([af5e8c6](https://github.com/angular-threejs/angular-three/commit/af5e8c6)) +- **core:** clean up canvas and portal ([709d259](https://github.com/angular-threejs/angular-three/commit/709d259)) +- **core:** improve hexify performance with internal instance cache ([8290542](https://github.com/angular-threejs/angular-three/commit/8290542)) +- **soba:** adjust shader material to not spread on uniforms ([bbd747f](https://github.com/angular-threejs/angular-three/commit/bbd747f)) +- **soba:** extract THREE.REVISION to a constant ([c6a253c](https://github.com/angular-threejs/angular-three/commit/c6a253c)) +- **soba:** simplify contact shadows; multiply frames to workaround race cond ([224ef16](https://github.com/angular-threejs/angular-three/commit/224ef16)) +- **soba:** simplify render texture template ([7a9c2be](https://github.com/angular-threejs/angular-three/commit/7a9c2be)) +- **soba:** use raycast=null instead of nullRaycast ([c92c021](https://github.com/angular-threejs/angular-three/commit/c92c021)) + +### ⚠️ Breaking Changes + +- **rapier:** in order to support fallback content, physics content +- **cannon:** This is considered a breaking change because of change +- **core:** this is considered a breaking change because of timing +- **soba:** this is considered a breaking change because of timing +- **soba:** this is considered a breaking change because of timing +- **soba:** this is considered a breaking change because of timing +- ⚠️ **soba:** unwrap `afterNextRender` in `injectAnimations` ([c325c92](https://github.com/angular-threejs/angular-three/commit/c325c92)) + +### ❤️ Thank You + +- Chau Tran +- nartc + ## [2.0.0-beta.41](https://github.com/angular-threejs/angular-three/compare/2.0.0-beta.40...2.0.0-beta.41) (2023-10-04) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..3f51f141 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +- The use of sexualized language or imagery, and sexual attention or + advances of any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email + address, without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +ngrx[.]team[@]gmail.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..229363d8 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,297 @@ +# Contributing to Angular Three + +We would love for you to contribute to Angular Three and help make it even better than it is today! +As a contributor, here are the guidelines we would like you to follow: + +- [Code of Conduct](#coc) +- [Question or Problem?](#question) +- [Issues and Bugs](#issue) +- [Feature Requests](#feature) +- [Submission Guidelines](#submit) +- [Coding Rules](#rules) +- [Commit Message Guidelines](#commit) + +## Code of Conduct + +Help us keep Angular Three open and inclusive. +Please read and follow our [Code of Conduct][coc]. + +## Got a Question or Problem? + +Use [GitHub Discussions](https://github.com/angular-threejs/angular-three/discussions) to ask questions about Angular Three. + +Please keep the issue tracker for bug reports and feature requests. + +## Found a Bug? + +If you find a bug in the source code, you can help us by [submitting an issue](#submit-issue) to our [GitHub Repository][github]. +Even better, you can [submit a Pull Request](#submit-pr) with a fix. + +## Missing a Feature? + +You can _request_ a new feature by [submitting an issue](#submit-issue) to our GitHub Repository. +If you would like to _implement_ a new feature, please consider the size of the change in order to determine the right steps to proceed: + +- For a **Major Feature**, first open an issue and outline your proposal so that it can be discussed. + This process allows us to better coordinate our efforts, prevent duplication of work, and help you to craft the change so that it is successfully accepted into the project. + + **Note**: Adding a new topic to the documentation, or significantly re-writing a topic, counts as a major feature. + +- **Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr). + +## Submission Guidelines + +### Submitting an Issue + +Before you submit an issue, please search the issue tracker. An issue for your problem might already exist and the discussion might inform you of workarounds readily available. + +We want to fix all the issues as soon as possible, but before fixing a bug, we need to reproduce and confirm it. +In order to reproduce bugs, we require that you provide a **minimal reproduction**. +Having a minimal reproducible scenario gives us a wealth of important information without going back and forth to you with additional questions. + +A minimal reproduction allows us to quickly confirm a bug (or point out a coding problem) as well as confirm that we are fixing the right problem. + +We require a minimal reproduction to save maintainers' time and ultimately be able to fix more bugs. +Often, developers find coding problems themselves while preparing a minimal reproduction. +We understand that sometimes it might be hard to extract essential bits of code from a larger codebase, but we really need to isolate the problem before we can fix it. + +Unfortunately, we are not able to investigate / fix bugs without a minimal reproduction, so if we don't hear back from you, we are going to close an issue that doesn't have enough info to be reproduced. + +### Submitting a Pull Request (PR) + +Before you submit your Pull Request (PR) consider the following guidelines: + +1. Search [GitHub](https://github.com/angular-threejs/angular-three/pulls) for an open or closed PR that relates to your submission. + You don't want to duplicate existing efforts. + +2. Be sure that an issue describes the problem you're fixing, or documents the design for the feature you'd like to add. + Discussing the design upfront helps to ensure that we're ready to accept your work. + +3. [Fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) the angular/angular repo. + +4. In your forked repository, make your changes in a new git branch: + + ```shell + git checkout -b my-fix-branch main + ``` + +5. Create your patch, **including appropriate test cases**. + +6. Follow our [Coding Rules](#rules). + +7. Commit your changes using a descriptive commit message that follows our [commit message conventions](#commit). + Adherence to these conventions is necessary because release notes are automatically generated from these messages. + + ```shell + git commit --all + ``` + + Note: the optional commit `--all` command line option will automatically "add" and "rm" edited files. + +8. Push your branch to GitHub: + + ```shell + git push origin my-fix-branch + ``` + +9. In GitHub, send a pull request to `angular-three:main`. + +#### Addressing review feedback + +If we ask for changes via code reviews then: + +1. Make the required updates to the code. + +2. Create a fixup commit and push to your GitHub repository (this will update your Pull Request): + + ```shell + git commit --all --fixup HEAD + git push + ``` + + For more info on working with fixup commits see [here](./contributing-docs/using-fixup-commits.md). + +That's it! Thank you for your contribution! + +##### Updating the commit message + +A reviewer might often suggest changes to a commit message (for example, to add more context for a change or adhere to our [commit message guidelines](#commit)). +In order to update the commit message of the last commit on your branch: + +1. Check out your branch: + + ```shell + git checkout my-fix-branch + ``` + +2. Amend the last commit and modify the commit message: + + ```shell + git commit --amend + ``` + +3. Push to your GitHub repository: + + ```shell + git push --force-with-lease + ``` + +> NOTE:
+> If you need to update the commit message of an earlier commit, you can use `git rebase` in interactive mode. +> See the [git docs](https://git-scm.com/docs/git-rebase#_interactive_mode) for more details. + +#### After your pull request is merged + +After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository: + +- Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows: + + ```shell + git push origin --delete my-fix-branch + ``` + +- Check out the main branch: + + ```shell + git checkout main -f + ``` + +- Delete the local branch: + + ```shell + git branch -D my-fix-branch + ``` + +- Update your local `main` with the latest upstream version: + + ```shell + git pull --ff upstream main + ``` + +## Coding Rules + +To ensure consistency throughout the source code, keep these rules in mind as you are working: + +- All features or bug fixes **must be tested** by one or more specs (unit-tests). +- All public API methods **must be documented**. + +## Commit Message Format + +We have very precise rules over how our Git commit messages must be formatted. +This format leads to **easier to read commit history**. + +Each commit message consists of a **header**, a **body**, and a **footer**. + +``` +
+ + + +