angular-three-soba 2.0.0-beta.26 → 2.0.0-beta.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/controls/orbit-controls/orbit-controls.d.ts +1 -1
- package/esm2022/abstractions/billboard/billboard.mjs +3 -3
- package/esm2022/abstractions/detailed/detailed.mjs +3 -3
- package/esm2022/abstractions/edges/edges.mjs +3 -3
- package/esm2022/abstractions/grid/grid.mjs +3 -3
- package/esm2022/abstractions/text/text.mjs +3 -3
- package/esm2022/abstractions/text-3d/text-3d.mjs +3 -3
- package/esm2022/cameras/camera/camera-content.mjs +3 -3
- package/esm2022/cameras/camera/camera.mjs +3 -3
- package/esm2022/cameras/cube-camera/cube-camera.mjs +9 -9
- package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +3 -3
- package/esm2022/cameras/perspective-camera/perspective-camera.mjs +3 -3
- package/esm2022/controls/orbit-controls/orbit-controls.mjs +10 -6
- package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +6 -6
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +6 -6
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +3 -3
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +6 -2
- package/esm2022/loaders/loader/loader.mjs +3 -3
- package/esm2022/loaders/progress/progress.mjs +3 -3
- package/esm2022/loaders/texture-loader/texture-loader.mjs +3 -3
- package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +3 -3
- package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +3 -3
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +3 -3
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +3 -3
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +3 -3
- package/esm2022/materials/point-material/point-material.mjs +3 -3
- package/esm2022/misc/animations/animations.mjs +3 -3
- package/esm2022/misc/bake-shadows/bake-shadows.mjs +3 -3
- package/esm2022/misc/caustics/caustics.mjs +3 -3
- package/esm2022/misc/decal/decal.mjs +3 -3
- package/esm2022/misc/depth-buffer/depth-buffer.mjs +3 -3
- package/esm2022/misc/example/example.mjs +3 -3
- package/esm2022/misc/fbo/fbo.mjs +3 -3
- package/esm2022/misc/html/html-wrapper.mjs +3 -3
- package/esm2022/misc/html/html.mjs +3 -3
- package/esm2022/misc/sampler/sampler.mjs +6 -6
- package/esm2022/misc/shadow/shadow.mjs +3 -3
- package/esm2022/misc/stats-gl/stats-gl.mjs +3 -3
- package/esm2022/misc/trail/trail.mjs +6 -6
- package/esm2022/misc/trail-texture/inject-trail-texture.mjs +3 -3
- package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +3 -3
- package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +3 -3
- package/esm2022/performances/adaptive-events/adaptive-events.mjs +3 -3
- package/esm2022/performances/instances/instances.mjs +6 -6
- package/esm2022/performances/points/points-input.mjs +3 -3
- package/esm2022/performances/points/points.mjs +12 -12
- package/esm2022/performances/segments/segments.mjs +6 -6
- package/esm2022/shaders/wireframe-material/wireframe-material.mjs +3 -3
- package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +3 -3
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +8 -8
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +5 -5
- package/esm2022/staging/backdrop/backdrop.mjs +3 -3
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +6 -6
- package/esm2022/staging/bounds/bounds.mjs +3 -3
- package/esm2022/staging/camera-shake/camera-shake.mjs +3 -3
- package/esm2022/staging/center/center.mjs +3 -3
- package/esm2022/staging/cloud/cloud.mjs +3 -3
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +3 -3
- package/esm2022/staging/environment/environment-cube.mjs +3 -3
- package/esm2022/staging/environment/environment-ground.mjs +3 -3
- package/esm2022/staging/environment/environment-input.mjs +3 -3
- package/esm2022/staging/environment/environment-map.mjs +3 -3
- package/esm2022/staging/environment/environment-portal.mjs +3 -3
- package/esm2022/staging/environment/environment.mjs +3 -3
- package/esm2022/staging/environment/utils.mjs +3 -3
- package/esm2022/staging/float/float.mjs +3 -3
- package/esm2022/staging/matcap-texture/matcap-texture.mjs +3 -3
- package/esm2022/staging/normal-texture/normal-texture.mjs +3 -3
- package/esm2022/staging/sky/sky.mjs +3 -3
- package/esm2022/staging/sparkles/sparkles.mjs +3 -3
- package/esm2022/staging/spot-light/shadow-mesh-input.mjs +3 -3
- package/esm2022/staging/spot-light/shadow-mesh.mjs +12 -12
- package/esm2022/staging/spot-light/spot-light-input.mjs +3 -3
- package/esm2022/staging/spot-light/spot-light.mjs +3 -3
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +3 -3
- package/esm2022/staging/stage/stage.mjs +6 -6
- package/esm2022/staging/stars/stars.mjs +3 -3
- package/esm2022/staging/wireframe/wireframe-input.mjs +3 -3
- package/esm2022/staging/wireframe/wireframe.mjs +9 -9
- package/esm2022/utils/content/content.mjs +3 -3
- package/fesm2022/angular-three-soba-abstractions.mjs +18 -18
- package/fesm2022/angular-three-soba-cameras.mjs +20 -20
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +9 -5
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +27 -27
- package/fesm2022/angular-three-soba-loaders.mjs +11 -7
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +18 -18
- package/fesm2022/angular-three-soba-misc.mjs +37 -37
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-modifiers.mjs +3 -3
- package/fesm2022/angular-three-soba-performances.mjs +33 -33
- package/fesm2022/angular-three-soba-shaders.mjs +2 -2
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +111 -111
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-utils.mjs +3 -3
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-three-soba-controls.mjs","sources":["../../../../libs/soba/controls/src/orbit-controls/orbit-controls.ts","../../../../libs/soba/controls/src/angular-three-soba-controls.ts"],"sourcesContent":["import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, EventEmitter, Input, Output } from '@angular/core';\nimport {\n\tinjectBeforeRender,\n\tinjectNgtRef,\n\tinjectNgtStore,\n\tNgtArgs,\n\tsignalStore,\n\ttype NgtCamera,\n\ttype NgtVector3,\n} from 'angular-three';\nimport { OrbitControls } from 'three-stdlib';\n\nexport type NgtsOrbitControlsState = {\n\tcamera?: THREE.Camera;\n\tdomElement?: HTMLElement;\n\ttarget?: NgtVector3;\n\tmakeDefault: boolean;\n\tregress: boolean;\n\tenableDamping: boolean;\n\tkeyEvents: boolean | HTMLElement;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends three-stdlib|OrbitControls\n\t\t */\n\t\t'ngts-orbit-controls': OrbitControls & NgtsOrbitControlsState;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-orbit-controls',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-primitive *args=\"args()\" ngtCompound [enableDamping]=\"enableDamping()\" />\n\t`,\n\timports: [NgtArgs],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsOrbitControls {\n\tprivate inputs = signalStore<NgtsOrbitControlsState>({\n\t\tenableDamping: true,\n\t\tregress: false,\n\t\tmakeDefault: false,\n\t\tkeyEvents: false,\n\t});\n\n\t@Input() controlsRef = injectNgtRef<OrbitControls>();\n\n\t@Input({ alias: 'camera' }) set _camera(camera: THREE.Camera) {\n\t\tthis.inputs.set({ camera });\n\t}\n\n\t@Input({ alias: 'domElement' }) set _domElement(domElement: HTMLElement) {\n\t\tthis.inputs.set({ domElement });\n\t}\n\n\t@Input({ alias: 'makeDefault' }) set _makeDefault(makeDefault: boolean) {\n\t\tthis.inputs.set({ makeDefault });\n\t}\n\n\t@Input({ alias: 'regress' }) set _regress(regress: boolean) {\n\t\tthis.inputs.set({ regress });\n\t}\n\n\t@Input({ alias: 'target' }) set _target(target: THREE.Vector3 | Parameters<THREE.Vector3['set']>) {\n\t\tthis.inputs.set({ target });\n\t}\n\n\t@Input({ alias: 'enableDamping' }) set _enableDamping(enableDamping: boolean) {\n\t\tthis.inputs.set({ enableDamping });\n\t}\n\n\t@Input({ alias: 'keyEvents' }) set _keyEvents(keyEvents: boolean) {\n\t\tthis.inputs.set({ keyEvents });\n\t}\n\n\t@Output() change = new EventEmitter<THREE.Event>();\n\t@Output() start = new EventEmitter<THREE.Event>();\n\t@Output() end = new EventEmitter<THREE.Event>();\n\n\tprivate store = injectNgtStore();\n\tprivate invalidate = this.store.select('invalidate');\n\tprivate performanceRegress = this.store.select('performance', 'regress');\n\tprivate defaultCamera = this.store.select('camera');\n\tprivate glDomElement = this.store.select('gl', 'domElement');\n\tprivate regress = this.inputs.select('regress');\n\tprivate camera = this.inputs.select('camera');\n\tprivate domElement = this.inputs.select('domElement');\n\tprivate keyEvents = this.inputs.select('keyEvents');\n\tprivate makeDefault = this.inputs.select('makeDefault');\n\n\targs = computed(() => [this.controlsRef.nativeElement]);\n\tenableDamping = this.inputs.select('enableDamping');\n\n\tconstructor() {\n\t\tinjectBeforeRender(\n\t\t\t() => {\n\t\t\t\tconst controls = this.controlsRef.nativeElement;\n\t\t\t\tif (controls && controls.enabled) {\n\t\t\t\t\tcontrols.update();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: -1 },\n\t\t);\n\n\t\tthis.setControls();\n\t\tthis.connectElement();\n\t\tthis.makeControlsDefault();\n\t\tthis.setEvents();\n\t}\n\n\tprivate setControls() {\n\t\teffect(() => {\n\t\t\tconst [camera, defaultCamera, controls] = [\n\t\t\t\tthis.camera(),\n\t\t\t\tthis.defaultCamera(),\n\t\t\t\tthis.controlsRef.nativeElement,\n\t\t\t];\n\t\t\tconst controlsCamera = camera || defaultCamera;\n\t\t\tif (!controls || controls.object !== controlsCamera) {\n\t\t\t\tthis.controlsRef.nativeElement = new OrbitControls(controlsCamera as NgtCamera);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate connectElement() {\n\t\teffect((onCleanup) => {\n\t\t\tconst [keyEvents, domElement, controls] = [\n\t\t\t\tthis.keyEvents(),\n\t\t\t\tthis.domElement() || this.store.get('events', 'connected') || this.glDomElement(),\n\t\t\t\tthis.controlsRef.nativeElement,\n\t\t\t\tthis.invalidate(),\n\t\t\t\tthis.regress(),\n\t\t\t];\n\t\t\tif (!controls) return;\n\t\t\tif (keyEvents) {\n\t\t\t\tcontrols.connect(keyEvents === true ? domElement : keyEvents);\n\t\t\t} else {\n\t\t\t\tcontrols.connect(domElement);\n\t\t\t}\n\t\t\tonCleanup(() => void controls.dispose());\n\t\t});\n\t}\n\n\tprivate makeControlsDefault() {\n\t\teffect((onCleanup) => {\n\t\t\tconst [controls, makeDefault] = [this.controlsRef.nativeElement, this.makeDefault()];\n\t\t\tif (!controls) return;\n\t\t\tif (makeDefault) {\n\t\t\t\tconst oldControls = this.store.get('controls');\n\t\t\t\tthis.store.set({ controls });\n\t\t\t\tonCleanup(() => void this.store.set({ controls: oldControls }));\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate setEvents() {\n\t\teffect((onCleanup) => {\n\t\t\tconst [controls, invalidate, performanceRegress, regress] = [\n\t\t\t\tthis.controlsRef.nativeElement,\n\t\t\t\tthis.invalidate(),\n\t\t\t\tthis.performanceRegress(),\n\t\t\t\tthis.regress(),\n\t\t\t];\n\t\t\tif (!controls) return;\n\t\t\tconst changeCallback: (e: THREE.Event) => void = (e) => {\n\t\t\t\tinvalidate();\n\t\t\t\tif (regress) performanceRegress();\n\t\t\t\tif (this.change.observed) this.change.emit(e);\n\t\t\t};\n\n\t\t\tconst startCallback = this.start.observed ? this.start.emit.bind(this.start) : null;\n\t\t\tconst endCallback = this.end.observed ? this.end.emit.bind(this.end) : null;\n\n\t\t\tcontrols.addEventListener('change', changeCallback);\n\t\t\tif (startCallback) controls.addEventListener('start', startCallback);\n\t\t\tif (endCallback) controls.addEventListener('end', endCallback);\n\n\t\t\tonCleanup(() => {\n\t\t\t\tcontrols.removeEventListener('change', changeCallback);\n\t\t\t\tif (startCallback) controls.removeEventListener('start', startCallback);\n\t\t\t\tif (endCallback) controls.removeEventListener('end', endCallback);\n\t\t\t});\n\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-three-soba-controls.mjs","sources":["../../../../libs/soba/controls/src/orbit-controls/orbit-controls.ts","../../../../libs/soba/controls/src/angular-three-soba-controls.ts"],"sourcesContent":["import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, EventEmitter, Input, Output } from '@angular/core';\nimport {\n\tinjectBeforeRender,\n\tinjectNgtRef,\n\tinjectNgtStore,\n\tNgtArgs,\n\tsignalStore,\n\ttype NgtCamera,\n\ttype NgtVector3,\n} from 'angular-three';\nimport { OrbitControls } from 'three-stdlib';\n\nexport type NgtsOrbitControlsState = {\n\tcamera?: THREE.Camera;\n\tdomElement?: HTMLElement;\n\ttarget?: NgtVector3;\n\tmakeDefault: boolean;\n\tregress: boolean;\n\tenableDamping: boolean;\n\tkeyEvents: boolean | HTMLElement;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends three-stdlib|OrbitControls\n\t\t */\n\t\t'ngts-orbit-controls': OrbitControls & NgtsOrbitControlsState;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-orbit-controls',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-primitive *args=\"args()\" ngtCompound [enableDamping]=\"enableDamping()\">\n\t\t\t<ng-content />\n\t\t</ngt-primitive>\n\t`,\n\timports: [NgtArgs],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsOrbitControls {\n\tprivate inputs = signalStore<NgtsOrbitControlsState>({\n\t\tenableDamping: true,\n\t\tregress: false,\n\t\tmakeDefault: false,\n\t\tkeyEvents: false,\n\t});\n\n\t@Input() controlsRef = injectNgtRef<OrbitControls>();\n\n\t@Input({ alias: 'camera' }) set _camera(camera: THREE.Camera) {\n\t\tthis.inputs.set({ camera });\n\t}\n\n\t@Input({ alias: 'domElement' }) set _domElement(domElement: HTMLElement) {\n\t\tthis.inputs.set({ domElement });\n\t}\n\n\t@Input({ alias: 'makeDefault' }) set _makeDefault(makeDefault: boolean) {\n\t\tthis.inputs.set({ makeDefault });\n\t}\n\n\t@Input({ alias: 'regress' }) set _regress(regress: boolean) {\n\t\tthis.inputs.set({ regress });\n\t}\n\n\t@Input({ alias: 'target' }) set _target(target: THREE.Vector3 | Parameters<THREE.Vector3['set']>) {\n\t\tthis.inputs.set({ target });\n\t}\n\n\t@Input({ alias: 'enableDamping' }) set _enableDamping(enableDamping: boolean) {\n\t\tthis.inputs.set({ enableDamping });\n\t}\n\n\t@Input({ alias: 'keyEvents' }) set _keyEvents(keyEvents: boolean) {\n\t\tthis.inputs.set({ keyEvents });\n\t}\n\n\t@Output() change = new EventEmitter<THREE.Event>();\n\t@Output() start = new EventEmitter<THREE.Event>();\n\t@Output() end = new EventEmitter<THREE.Event>();\n\n\tprivate store = injectNgtStore();\n\tprivate invalidate = this.store.select('invalidate');\n\tprivate performanceRegress = this.store.select('performance', 'regress');\n\tprivate defaultCamera = this.store.select('camera');\n\tprivate glDomElement = this.store.select('gl', 'domElement');\n\tprivate regress = this.inputs.select('regress');\n\tprivate camera = this.inputs.select('camera');\n\tprivate domElement = this.inputs.select('domElement');\n\tprivate keyEvents = this.inputs.select('keyEvents');\n\tprivate makeDefault = this.inputs.select('makeDefault');\n\n\targs = computed(() => [this.controlsRef.nativeElement]);\n\tenableDamping = this.inputs.select('enableDamping');\n\n\tconstructor() {\n\t\tinjectBeforeRender(\n\t\t\t() => {\n\t\t\t\tconst controls = this.controlsRef.nativeElement;\n\t\t\t\tif (controls && controls.enabled) {\n\t\t\t\t\tcontrols.update();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: -1 },\n\t\t);\n\n\t\tthis.setControls();\n\t\tthis.connectElement();\n\t\tthis.makeControlsDefault();\n\t\tthis.setEvents();\n\t}\n\n\tprivate setControls() {\n\t\teffect(() => {\n\t\t\tconst [camera, defaultCamera, controls] = [\n\t\t\t\tthis.camera(),\n\t\t\t\tthis.defaultCamera(),\n\t\t\t\tthis.controlsRef.nativeElement,\n\t\t\t];\n\t\t\tconst controlsCamera = camera || defaultCamera;\n\t\t\tif (!controls || controls.object !== controlsCamera) {\n\t\t\t\tthis.controlsRef.nativeElement = new OrbitControls(controlsCamera as NgtCamera);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate connectElement() {\n\t\teffect((onCleanup) => {\n\t\t\tconst [keyEvents, domElement, controls] = [\n\t\t\t\tthis.keyEvents(),\n\t\t\t\tthis.domElement() || this.store.get('events', 'connected') || this.glDomElement(),\n\t\t\t\tthis.controlsRef.nativeElement,\n\t\t\t\tthis.invalidate(),\n\t\t\t\tthis.regress(),\n\t\t\t];\n\t\t\tif (!controls) return;\n\t\t\tif (keyEvents) {\n\t\t\t\tcontrols.connect(keyEvents === true ? domElement : keyEvents);\n\t\t\t} else {\n\t\t\t\tcontrols.connect(domElement);\n\t\t\t}\n\t\t\tonCleanup(() => void controls.dispose());\n\t\t});\n\t}\n\n\tprivate makeControlsDefault() {\n\t\teffect((onCleanup) => {\n\t\t\tconst [controls, makeDefault] = [this.controlsRef.nativeElement, this.makeDefault()];\n\t\t\tif (!controls) return;\n\t\t\tif (makeDefault) {\n\t\t\t\tconst oldControls = this.store.get('controls');\n\t\t\t\tthis.store.set({ controls });\n\t\t\t\tonCleanup(() => void this.store.set({ controls: oldControls }));\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate setEvents() {\n\t\teffect((onCleanup) => {\n\t\t\tconst [controls, invalidate, performanceRegress, regress] = [\n\t\t\t\tthis.controlsRef.nativeElement,\n\t\t\t\tthis.invalidate(),\n\t\t\t\tthis.performanceRegress(),\n\t\t\t\tthis.regress(),\n\t\t\t];\n\t\t\tif (!controls) return;\n\t\t\tconst changeCallback: (e: THREE.Event) => void = (e) => {\n\t\t\t\tinvalidate();\n\t\t\t\tif (regress) performanceRegress();\n\t\t\t\tif (this.change.observed) this.change.emit(e);\n\t\t\t};\n\n\t\t\tconst startCallback = this.start.observed ? this.start.emit.bind(this.start) : null;\n\t\t\tconst endCallback = this.end.observed ? this.end.emit.bind(this.end) : null;\n\n\t\t\tcontrols.addEventListener('change', changeCallback);\n\t\t\tif (startCallback) controls.addEventListener('start', startCallback);\n\t\t\tif (endCallback) controls.addEventListener('end', endCallback);\n\n\t\t\tonCleanup(() => {\n\t\t\t\tcontrols.removeEventListener('change', changeCallback);\n\t\t\t\tif (startCallback) controls.removeEventListener('start', startCallback);\n\t\t\t\tif (endCallback) controls.removeEventListener('end', endCallback);\n\t\t\t});\n\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -145,8 +145,8 @@ class NgtsGizmoHelper {
|
|
|
145
145
|
}
|
|
146
146
|
});
|
|
147
147
|
}
|
|
148
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
149
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
148
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoHelper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoHelper, isStandalone: true, selector: "ngts-gizmo-helper", inputs: { gizmoRef: "gizmoRef", _alignment: ["alignment", "_alignment"], _margin: ["margin", "_margin"], _renderPriority: ["renderPriority", "_renderPriority"], _autoClear: ["autoClear", "_autoClear"] }, outputs: { update: "update" }, providers: [provideNgtsGizmoHelperApi()], queries: [{ propertyName: "content", first: true, predicate: NgtsSobaContent, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
|
|
150
150
|
<ngt-portal [renderPriority]="renderPriority()">
|
|
151
151
|
<ng-template ngtPortalContent>
|
|
152
152
|
<ngts-orthographic-camera [makeDefault]="true" [position]="[0, 0, 200]" [cameraRef]="virtualCamRef" />
|
|
@@ -157,7 +157,7 @@ class NgtsGizmoHelper {
|
|
|
157
157
|
</ngt-portal>
|
|
158
158
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "state", "autoRender", "autoRenderPriority"], outputs: ["beforeRender"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[ngtPortalContent]" }, { kind: "component", type: NgtsOrthographicCamera, selector: "ngts-orthographic-camera", inputs: ["left", "right", "top", "bottom"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
159
159
|
}
|
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoHelper, decorators: [{
|
|
161
161
|
type: Component,
|
|
162
162
|
args: [{
|
|
163
163
|
selector: 'ngts-gizmo-helper',
|
|
@@ -260,10 +260,10 @@ class NgtsGizmoViewcubeInput {
|
|
|
260
260
|
set _color(color) {
|
|
261
261
|
this.inputs.set({ color });
|
|
262
262
|
}
|
|
263
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
264
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.
|
|
263
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewcubeInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
264
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewcubeInput, inputs: { _opacity: ["opacity", "_opacity"], _hoverColor: ["hoverColor", "_hoverColor"], _textColor: ["textColor", "_textColor"], _strokeColor: ["strokeColor", "_strokeColor"], _faces: ["faces", "_faces"], _font: ["font", "_font"], _color: ["color", "_color"] }, outputs: { viewcubeClick: "viewcubeClick" }, ngImport: i0 }); }
|
|
265
265
|
}
|
|
266
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
266
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewcubeInput, decorators: [{
|
|
267
267
|
type: Directive
|
|
268
268
|
}], propDecorators: { _opacity: [{
|
|
269
269
|
type: Input,
|
|
@@ -324,8 +324,8 @@ class NgtsGizmoViewcubeEdgeCube {
|
|
|
324
324
|
this.gizmoApi.tweenCamera(this.position());
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
328
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
327
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
328
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewcubeEdgeCube, isStandalone: true, selector: "ngts-gizmo-viewcube-edge-cube", inputs: { _dimensions: ["dimensions", "_dimensions"], _position: ["position", "_position"] }, ngImport: i0, template: `
|
|
329
329
|
<ngt-mesh
|
|
330
330
|
[scale]="1.01"
|
|
331
331
|
[position]="position()"
|
|
@@ -343,7 +343,7 @@ class NgtsGizmoViewcubeEdgeCube {
|
|
|
343
343
|
</ngt-mesh>
|
|
344
344
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
345
345
|
}
|
|
346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
346
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, decorators: [{
|
|
347
347
|
type: Component,
|
|
348
348
|
args: [{
|
|
349
349
|
selector: 'ngts-gizmo-viewcube-edge-cube',
|
|
@@ -425,8 +425,8 @@ class NgtsGizmoViewcubeFaceMaterial {
|
|
|
425
425
|
opacity: 1,
|
|
426
426
|
});
|
|
427
427
|
}
|
|
428
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
429
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
428
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
429
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewcubeFaceMaterial, isStandalone: true, selector: "ngts-gizmo-viewcube-face-material", inputs: { _index: ["index", "_index"], _hover: ["hover", "_hover"] }, ngImport: i0, template: `
|
|
430
430
|
<ngt-mesh-lambert-material
|
|
431
431
|
[attach]="['material', index()]"
|
|
432
432
|
[map]="texture()"
|
|
@@ -438,7 +438,7 @@ class NgtsGizmoViewcubeFaceMaterial {
|
|
|
438
438
|
</ngt-mesh-lambert-material>
|
|
439
439
|
`, isInline: true }); }
|
|
440
440
|
}
|
|
441
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, decorators: [{
|
|
442
442
|
type: Component,
|
|
443
443
|
args: [{
|
|
444
444
|
selector: 'ngts-gizmo-viewcube-face-material',
|
|
@@ -486,8 +486,8 @@ class NgtsGizmoViewcubeFaceCube {
|
|
|
486
486
|
this.gizmoApi.tweenCamera(event.face.normal);
|
|
487
487
|
}
|
|
488
488
|
}
|
|
489
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
490
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
489
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
490
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewcubeFaceCube, isStandalone: true, selector: "ngts-gizmo-viewcube-face-cube", ngImport: i0, template: `
|
|
491
491
|
<ngt-mesh
|
|
492
492
|
(pointermove)="onPointerMove($any($event))"
|
|
493
493
|
(pointerout)="onPointerOut($any($event))"
|
|
@@ -498,7 +498,7 @@ class NgtsGizmoViewcubeFaceCube {
|
|
|
498
498
|
</ngt-mesh>
|
|
499
499
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewcubeFaceMaterial, selector: "ngts-gizmo-viewcube-face-material", inputs: ["index", "hover"] }, { kind: "directive", type: NgtRepeat, selector: "[ngFor][ngForRepeat]", inputs: ["ngForRepeat"] }] }); }
|
|
500
500
|
}
|
|
501
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
501
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, decorators: [{
|
|
502
502
|
type: Component,
|
|
503
503
|
args: [{
|
|
504
504
|
selector: 'ngts-gizmo-viewcube-face-cube',
|
|
@@ -527,8 +527,8 @@ class NgtsGizmoViewcube extends NgtsGizmoViewcubeInput {
|
|
|
527
527
|
this.corners = corners;
|
|
528
528
|
this.cornerDimensions = cornerDimensions;
|
|
529
529
|
}
|
|
530
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
531
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
530
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewcube, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
531
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewcube, isStandalone: true, selector: "ngts-gizmo-viewcube", providers: [{ provide: NgtsGizmoViewcubeInput, useExisting: NgtsGizmoViewcube }], usesInheritance: true, ngImport: i0, template: `
|
|
532
532
|
<ngt-group [scale]="60">
|
|
533
533
|
<ngts-gizmo-viewcube-face-cube />
|
|
534
534
|
|
|
@@ -549,7 +549,7 @@ class NgtsGizmoViewcube extends NgtsGizmoViewcubeInput {
|
|
|
549
549
|
</ngt-group>
|
|
550
550
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewcubeEdgeCube, selector: "ngts-gizmo-viewcube-edge-cube", inputs: ["dimensions", "position"] }, { kind: "component", type: NgtsGizmoViewcubeFaceCube, selector: "ngts-gizmo-viewcube-face-cube" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
551
551
|
}
|
|
552
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
552
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewcube, decorators: [{
|
|
553
553
|
type: Component,
|
|
554
554
|
args: [{
|
|
555
555
|
selector: 'ngts-gizmo-viewcube',
|
|
@@ -597,8 +597,8 @@ class NgtsGizmoViewportAxis {
|
|
|
597
597
|
set _scale(scale) {
|
|
598
598
|
this.inputs.set({ scale });
|
|
599
599
|
}
|
|
600
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
601
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
600
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewportAxis, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
601
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewportAxis, isStandalone: true, selector: "ngts-gizmo-viewport-axis", inputs: { _color: ["color", "_color"], _rotation: ["rotation", "_rotation"], _scale: ["scale", "_scale"] }, ngImport: i0, template: `
|
|
602
602
|
<ngt-group [rotation]="rotation()">
|
|
603
603
|
<ngt-mesh [position]="[0.4, 0, 0]">
|
|
604
604
|
<ngt-box-geometry *args="scale()" />
|
|
@@ -607,7 +607,7 @@ class NgtsGizmoViewportAxis {
|
|
|
607
607
|
</ngt-group>
|
|
608
608
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
609
609
|
}
|
|
610
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
610
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewportAxis, decorators: [{
|
|
611
611
|
type: Component,
|
|
612
612
|
args: [{
|
|
613
613
|
selector: 'ngts-gizmo-viewport-axis',
|
|
@@ -704,8 +704,8 @@ class NgtsGizmoViewportAxisHead {
|
|
|
704
704
|
}
|
|
705
705
|
}
|
|
706
706
|
}
|
|
707
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
708
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
707
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewportAxisHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
708
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewportAxisHead, isStandalone: true, selector: "ngts-gizmo-viewport-axis-head", inputs: { _arcStyle: ["arcStyle", "_arcStyle"], _label: ["label", "_label"], _labelColor: ["labelColor", "_labelColor"], _axisHeadScale: ["axisHeadScale", "_axisHeadScale"], _disabled: ["disabled", "_disabled"], _font: ["font", "_font"], viewportClickEmitter: "viewportClickEmitter" }, ngImport: i0, template: `
|
|
709
709
|
<ngt-sprite
|
|
710
710
|
ngtCompound
|
|
711
711
|
[scale]="scale()"
|
|
@@ -723,7 +723,7 @@ class NgtsGizmoViewportAxisHead {
|
|
|
723
723
|
</ngt-sprite>
|
|
724
724
|
`, isInline: true }); }
|
|
725
725
|
}
|
|
726
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
726
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewportAxisHead, decorators: [{
|
|
727
727
|
type: Component,
|
|
728
728
|
args: [{
|
|
729
729
|
selector: 'ngts-gizmo-viewport-axis-head',
|
|
@@ -826,8 +826,8 @@ class NgtsGizmoViewport {
|
|
|
826
826
|
this.gizmoApi.tweenCamera(event.object.position);
|
|
827
827
|
}
|
|
828
828
|
}
|
|
829
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
830
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
829
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewport, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
830
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewport, isStandalone: true, selector: "ngts-gizmo-viewport", inputs: { _axisColors: ["axisColors", "_axisColors"], _axisScale: ["axisScale", "_axisScale"], _labels: ["labels", "_labels"], _axisHeadScale: ["axisHeadScale", "_axisHeadScale"], _labelColor: ["labelColor", "_labelColor"], _hideNegativeAxes: ["hideNegativeAxes", "_hideNegativeAxes"], _hideAxisHeads: ["hideAxisHeads", "_hideAxisHeads"], _disabled: ["disabled", "_disabled"], _font: ["font", "_font"] }, outputs: { viewportClick: "viewportClick" }, ngImport: i0, template: `
|
|
831
831
|
<ngt-group ngtCompound [scale]="40">
|
|
832
832
|
<ngts-gizmo-viewport-axis [color]="axisColors()[0]" [rotation]="[0, 0, 0]" [scale]="axisScale()" />
|
|
833
833
|
<ngts-gizmo-viewport-axis
|
|
@@ -912,7 +912,7 @@ class NgtsGizmoViewport {
|
|
|
912
912
|
</ngt-group>
|
|
913
913
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewportAxis, selector: "ngts-gizmo-viewport-axis", inputs: ["color", "rotation", "scale"] }, { kind: "component", type: NgtsGizmoViewportAxisHead, selector: "ngts-gizmo-viewport-axis-head", inputs: ["arcStyle", "label", "labelColor", "axisHeadScale", "disabled", "font", "viewportClickEmitter"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
914
914
|
}
|
|
915
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
915
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewport, decorators: [{
|
|
916
916
|
type: Component,
|
|
917
917
|
args: [{
|
|
918
918
|
selector: 'ngts-gizmo-viewport',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { injectNgtLoader,
|
|
1
|
+
import { injectNgtLoader, assertInjector, safeDetectChanges, signalStore, injectNgtStore } from 'angular-three';
|
|
2
2
|
import { DRACOLoader, MeshoptDecoder, GLTFLoader } from 'three-stdlib';
|
|
3
3
|
import { NgIf } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
@@ -6,6 +6,7 @@ import { runInInjectionContext, inject, ChangeDetectorRef, signal, untracked, co
|
|
|
6
6
|
import * as THREE from 'three';
|
|
7
7
|
|
|
8
8
|
let dracoLoader = null;
|
|
9
|
+
let decoderPath = 'https://www.gstatic.com/draco/versioned/decoders/1.5.5/';
|
|
9
10
|
function _extensions(useDraco, useMeshOpt, extensions) {
|
|
10
11
|
return (loader) => {
|
|
11
12
|
if (extensions) {
|
|
@@ -15,7 +16,7 @@ function _extensions(useDraco, useMeshOpt, extensions) {
|
|
|
15
16
|
if (!dracoLoader) {
|
|
16
17
|
dracoLoader = new DRACOLoader();
|
|
17
18
|
}
|
|
18
|
-
dracoLoader.setDecoderPath(typeof useDraco === 'string' ? useDraco :
|
|
19
|
+
dracoLoader.setDecoderPath(typeof useDraco === 'string' ? useDraco : decoderPath);
|
|
19
20
|
loader.setDRACOLoader(dracoLoader);
|
|
20
21
|
}
|
|
21
22
|
if (useMeshOpt) {
|
|
@@ -32,9 +33,12 @@ function injectNgtsGLTFLoader(path, { useDraco = true, useMeshOpt = true, inject
|
|
|
32
33
|
injectNgtsGLTFLoader['preload'] = (path, { useDraco = true, useMeshOpt = true, extensions, } = {}) => {
|
|
33
34
|
injectNgtLoader['preload'](() => GLTFLoader, path, _extensions(useDraco, useMeshOpt, extensions));
|
|
34
35
|
};
|
|
36
|
+
injectNgtsGLTFLoader['setDecoderPath'] = (path) => {
|
|
37
|
+
decoderPath = path;
|
|
38
|
+
};
|
|
35
39
|
|
|
36
40
|
function injectNgtsProgress(injector) {
|
|
37
|
-
injector =
|
|
41
|
+
injector = assertInjector(injectNgtsProgress, injector);
|
|
38
42
|
return runInInjectionContext(injector, () => {
|
|
39
43
|
const cdr = inject(ChangeDetectorRef);
|
|
40
44
|
const progress = signal({ errors: [], active: false, progress: 0, item: '', loaded: 0, total: 0 });
|
|
@@ -150,8 +154,8 @@ class NgtsLoader {
|
|
|
150
154
|
onCleanup(() => cancelAnimationFrame(rafId));
|
|
151
155
|
});
|
|
152
156
|
}
|
|
153
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
154
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
157
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
158
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsLoader, isStandalone: true, selector: "ngts-loader", inputs: { _containerClass: ["containerClass", "_containerClass"], _innerClass: ["innerClass", "_innerClass"], _barClass: ["barClass", "_barClass"], _dataClass: ["dataClass", "_dataClass"], _dataInterpolation: ["dataInterpolation", "_dataInterpolation"], _initialState: ["initialState", "_initialState"] }, viewQueries: [{ propertyName: "progressSpanRef", first: true, predicate: ["progressSpanRef"], descendants: true }], ngImport: i0, template: `
|
|
155
159
|
<div
|
|
156
160
|
*ngIf="shown()"
|
|
157
161
|
class="ngts-loader-container"
|
|
@@ -171,7 +175,7 @@ class NgtsLoader {
|
|
|
171
175
|
</div>
|
|
172
176
|
`, isInline: true, styles: [".ngts-loader-container{--ngts-loader-container-opacity: 0;position:absolute;top:0;left:0;width:100%;height:100%;background:#171717;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;z-index:1000;opacity:var(--ngts-loader-container-opacity)}.ngts-loader-inner{width:100px;height:3px;background:#272727;text-align:center}.ngts-loader-bar{--ngts-loader-bar-scale: 0;height:3px;width:100px;background:white;transition:transform .2s;transform-origin:left center;transform:scaleX(var(--ngts-loader-bar-scale))}.ngts-loader-data{display:inline-block;position:relative;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;margin-top:.8em;color:#f0f0f0;font-size:.6em;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Helvetica Neue,Helvetica,Arial,Roboto,Ubuntu,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
173
177
|
}
|
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsLoader, decorators: [{
|
|
175
179
|
type: Component,
|
|
176
180
|
args: [{ selector: 'ngts-loader', standalone: true, template: `
|
|
177
181
|
<div
|
|
@@ -216,7 +220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
216
220
|
}] } });
|
|
217
221
|
|
|
218
222
|
function injectNgtsTextureLoader(input, { onLoad, injector, } = {}) {
|
|
219
|
-
injector =
|
|
223
|
+
injector = assertInjector(injectNgtsTextureLoader, injector);
|
|
220
224
|
return runInInjectionContext(injector, () => {
|
|
221
225
|
const store = injectNgtStore();
|
|
222
226
|
const result = injectNgtLoader(() => THREE.TextureLoader, input, { injector });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-three-soba-loaders.mjs","sources":["../../../../libs/soba/loaders/src/gltf-loader/gltf-loader.ts","../../../../libs/soba/loaders/src/progress/progress.ts","../../../../libs/soba/loaders/src/loader/loader.ts","../../../../libs/soba/loaders/src/texture-loader/texture-loader.ts","../../../../libs/soba/loaders/src/angular-three-soba-loaders.ts"],"sourcesContent":["import type { Injector, Signal } from '@angular/core';\nimport { injectNgtLoader, type NgtLoaderResults, type NgtObjectMap } from 'angular-three';\nimport { DRACOLoader, GLTFLoader, MeshoptDecoder, type GLTF } from 'three-stdlib';\n\nlet dracoLoader: DRACOLoader | null = null;\n\nfunction _extensions(useDraco: boolean | string, useMeshOpt: boolean, extensions?: (loader: GLTFLoader) => void) {\n\treturn (loader: THREE.Loader) => {\n\t\tif (extensions) {\n\t\t\textensions(loader as GLTFLoader);\n\t\t}\n\n\t\tif (useDraco) {\n\t\t\tif (!dracoLoader) {\n\t\t\t\tdracoLoader = new DRACOLoader();\n\t\t\t}\n\n\t\t\tdracoLoader.setDecoderPath(\n\t\t\t\ttypeof useDraco === 'string' ? useDraco : 'https://www.gstatic.com/draco/versioned/decoders/1.5.5/',\n\t\t\t);\n\t\t\t(loader as GLTFLoader).setDRACOLoader(dracoLoader);\n\t\t}\n\n\t\tif (useMeshOpt) {\n\t\t\t(loader as GLTFLoader).setMeshoptDecoder(\n\t\t\t\ttypeof MeshoptDecoder === 'function' ? MeshoptDecoder() : MeshoptDecoder,\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport type NgtsGLTF<T extends Partial<NgtObjectMap>> = GLTF & NgtObjectMap & T;\n\nexport function injectNgtsGLTFLoader<TUrl extends string | string[] | Record<string, string>>(\n\tpath: () => TUrl,\n\t{\n\t\tuseDraco = true,\n\t\tuseMeshOpt = true,\n\t\tinjector,\n\t\textensions,\n\t}: {\n\t\tuseDraco?: boolean | string;\n\t\tuseMeshOpt?: boolean;\n\t\tinjector?: Injector;\n\t\textensions?: (loader: GLTFLoader) => void;\n\t} = {},\n): Signal<NgtLoaderResults<TUrl, GLTF & NgtObjectMap> | null> {\n\treturn injectNgtLoader(() => GLTFLoader, path, {\n\t\textensions: _extensions(useDraco, useMeshOpt, extensions),\n\t\tinjector,\n\t});\n}\n\ninjectNgtsGLTFLoader['preload'] = <TUrl extends string | string[] | Record<string, string>>(\n\tpath: () => TUrl,\n\t{\n\t\tuseDraco = true,\n\t\tuseMeshOpt = true,\n\t\textensions,\n\t}: {\n\t\tuseDraco?: boolean | string;\n\t\tuseMeshOpt?: boolean;\n\t\textensions?: (loader: GLTFLoader) => void;\n\t} = {},\n) => {\n\t(injectNgtLoader as any)['preload'](() => GLTFLoader, path, _extensions(useDraco, useMeshOpt, extensions));\n};\n","import { ChangeDetectorRef, inject, runInInjectionContext, signal, untracked, type Injector } from '@angular/core';\nimport { assertInjectionContext, safeDetectChanges } from 'angular-three';\nimport * as THREE from 'three';\n\nexport function injectNgtsProgress(injector?: Injector) {\n\tinjector = assertInjectionContext(injectNgtsProgress, injector);\n\treturn runInInjectionContext(injector, () => {\n\t\tconst cdr = inject(ChangeDetectorRef);\n\n\t\tconst progress = signal<{\n\t\t\terrors: string[];\n\t\t\tactive: boolean;\n\t\t\tprogress: number;\n\t\t\titem: string;\n\t\t\tloaded: number;\n\t\t\ttotal: number;\n\t\t}>({ errors: [], active: false, progress: 0, item: '', loaded: 0, total: 0 });\n\n\t\tlet saveLastTotalLoaded = 0;\n\n\t\tTHREE.DefaultLoadingManager.onStart = (item, loaded, total) => {\n\t\t\tuntracked(() => {\n\t\t\t\tprogress.update((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\tactive: true,\n\t\t\t\t\titem,\n\t\t\t\t\tloaded,\n\t\t\t\t\ttotal,\n\t\t\t\t\tprogress: ((loaded - saveLastTotalLoaded) / (total - saveLastTotalLoaded)) * 100,\n\t\t\t\t}));\n\t\t\t});\n\n\t\t\tsafeDetectChanges(cdr);\n\t\t};\n\n\t\tTHREE.DefaultLoadingManager.onLoad = () => {\n\t\t\tuntracked(() => {\n\t\t\t\tprogress.update((prev) => ({ ...prev, active: false }));\n\t\t\t});\n\t\t\tsafeDetectChanges(cdr);\n\t\t};\n\n\t\tTHREE.DefaultLoadingManager.onError = (url) => {\n\t\t\tuntracked(() => {\n\t\t\t\tprogress.update((prev) => ({ ...prev, errors: [...prev.errors, url] }));\n\t\t\t});\n\t\t\tsafeDetectChanges(cdr);\n\t\t};\n\n\t\tTHREE.DefaultLoadingManager.onProgress = (item, loaded, total) => {\n\t\t\tif (loaded === total) saveLastTotalLoaded = total;\n\t\t\tuntracked(() => {\n\t\t\t\tprogress.update((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\titem,\n\t\t\t\t\tloaded,\n\t\t\t\t\ttotal,\n\t\t\t\t\tprogress: ((loaded - saveLastTotalLoaded) / (total - saveLastTotalLoaded)) * 100 || 100,\n\t\t\t\t}));\n\t\t\t});\n\n\t\t\tsafeDetectChanges(cdr);\n\t\t};\n\n\t\treturn progress.asReadonly();\n\t});\n}\n","import { NgIf } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\tInput,\n\tViewChild,\n\tcomputed,\n\teffect,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { signalStore } from 'angular-three';\nimport { injectNgtsProgress } from '../progress/progress';\n\nconst defaultDataInterpolation = (p: number) => `Loading ${p.toFixed(2)}%`;\n\nexport interface NgtsLoaderState {\n\tcontainerClass?: string;\n\tinnerClass?: string;\n\tbarClass?: string;\n\tdataClass?: string;\n\tdataInterpolation: (value: number) => string;\n\tinitialState: (value: boolean) => boolean;\n}\n\n@Component({\n\tselector: 'ngts-loader',\n\tstandalone: true,\n\ttemplate: `\n\t\t<div\n\t\t\t*ngIf=\"shown()\"\n\t\t\tclass=\"ngts-loader-container\"\n\t\t\t[class]=\"container() || ''\"\n\t\t\t[style.--ngts-loader-container-opacity]=\"active() ? 1 : 0\"\n\t\t>\n\t\t\t<div>\n\t\t\t\t<div class=\"ngts-loader-inner\" [class]=\"inner() || ''\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"ngts-loader-bar\"\n\t\t\t\t\t\t[class]=\"bar() || ''\"\n\t\t\t\t\t\t[style.--ngts-loader-bar-scale]=\"progress() / 100\"\n\t\t\t\t\t></div>\n\t\t\t\t\t<span #progressSpanRef class=\"ngts-loader-data\" [class]=\"data() || ''\"></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tstyleUrls: ['./loader.css'],\n\timports: [NgIf],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtsLoader {\n\tprivate inputs = signalStore<NgtsLoaderState>({\n\t\tdataInterpolation: defaultDataInterpolation,\n\t\tinitialState: (active) => active,\n\t});\n\n\tprivate progressState = injectNgtsProgress();\n\n\tactive = computed(() => this.progressState().active);\n\tprogress = computed(() => this.progressState().progress);\n\n\tcontainer = this.inputs.select('containerClass');\n\tinner = this.inputs.select('innerClass');\n\tbar = this.inputs.select('barClass');\n\tdata = this.inputs.select('dataClass');\n\n\t@Input({ alias: 'containerClass' }) set _containerClass(containerClass: string) {\n\t\tthis.inputs.set({ containerClass });\n\t}\n\n\t@Input({ alias: 'innerClass' }) set _innerClass(innerClass: string) {\n\t\tthis.inputs.set({ innerClass });\n\t}\n\n\t@Input({ alias: 'barClass' }) set _barClass(barClass: string) {\n\t\tthis.inputs.set({ barClass });\n\t}\n\n\t@Input({ alias: 'dataClass' }) set _dataClass(dataClass: string) {\n\t\tthis.inputs.set({ dataClass });\n\t}\n\n\t@Input({ alias: 'dataInterpolation' }) set _dataInterpolation(dataInterpolation: (value: number) => string) {\n\t\tthis.inputs.set({ dataInterpolation });\n\t}\n\n\t@Input({ alias: 'initialState' }) set _initialState(initialState: (value: boolean) => boolean) {\n\t\tthis.inputs.set({ initialState });\n\t}\n\n\t@ViewChild('progressSpanRef') progressSpanRef?: ElementRef<HTMLSpanElement>;\n\n\tshown = signal(this.inputs.get('initialState')(this.active()));\n\n\tconstructor() {\n\t\tthis.setShown();\n\t\tthis.updateProgress();\n\t}\n\n\tprivate setShown() {\n\t\teffect((onCleanup) => {\n\t\t\tconst [active, lastShown] = [this.active(), untracked(this.shown)];\n\t\t\tif (lastShown !== active) {\n\t\t\t\tconst timeoutId = setTimeout(() => {\n\t\t\t\t\tthis.shown.set(active);\n\t\t\t\t}, 300);\n\t\t\t\tonCleanup(() => clearTimeout(timeoutId));\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate updateProgress() {\n\t\tlet progressRef = 0;\n\t\tlet rafId: ReturnType<typeof requestAnimationFrame>;\n\n\t\tconst _dataInterpolation = this.inputs.select('dataInterpolation');\n\n\t\teffect((onCleanup) => {\n\t\t\tconst [dataInterpolation, progress] = [_dataInterpolation(), this.progress()];\n\t\t\tconst updateProgress = () => {\n\t\t\t\tif (!this.progressSpanRef?.nativeElement) return;\n\t\t\t\tprogressRef += (progress - progressRef) / 2;\n\t\t\t\tif (progressRef > 0.95 * progress || progress === 100) progressRef = progress;\n\t\t\t\tthis.progressSpanRef.nativeElement.innerText = dataInterpolation(progressRef);\n\t\t\t\tif (progressRef < progress) {\n\t\t\t\t\trafId = requestAnimationFrame(updateProgress);\n\t\t\t\t}\n\t\t\t};\n\t\t\tupdateProgress();\n\t\t\tonCleanup(() => cancelAnimationFrame(rafId));\n\t\t});\n\t}\n}\n","import { effect, runInInjectionContext, type Injector, type Signal } from '@angular/core';\nimport { assertInjectionContext, injectNgtLoader, injectNgtStore, type NgtLoaderResults } from 'angular-three';\nimport * as THREE from 'three';\n\nexport function injectNgtsTextureLoader<TInput extends string[] | string | Record<string, string>>(\n\tinput: () => TInput,\n\t{\n\t\tonLoad,\n\t\tinjector,\n\t}: {\n\t\tonLoad?: (texture: THREE.Texture | THREE.Texture[]) => void;\n\t\tinjector?: Injector;\n\t} = {},\n): Signal<NgtLoaderResults<TInput, THREE.Texture> | null> {\n\tinjector = assertInjectionContext(injectNgtsTextureLoader, injector);\n\treturn runInInjectionContext(injector, () => {\n\t\tconst store = injectNgtStore();\n\t\tconst result = injectNgtLoader(() => THREE.TextureLoader, input, { injector });\n\n\t\teffect(() => {\n\t\t\tconst textures = result();\n\t\t\tif (!textures) return;\n\t\t\tconst array = Array.isArray(textures)\n\t\t\t\t? textures\n\t\t\t\t: textures instanceof THREE.Texture\n\t\t\t\t? [textures]\n\t\t\t\t: Object.values(textures);\n\t\t\tif (onLoad) onLoad(array);\n\t\t\tarray.forEach(store.get('gl').initTexture);\n\t\t});\n\n\t\treturn result;\n\t});\n}\n\ninjectNgtsTextureLoader['preload'] = <TInput extends string[] | string | Record<string, string>>(\n\tinput: () => TInput,\n) => {\n\t(injectNgtLoader as any).preload(() => THREE.TextureLoader, input);\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-three-soba-loaders.mjs","sources":["../../../../libs/soba/loaders/src/gltf-loader/gltf-loader.ts","../../../../libs/soba/loaders/src/progress/progress.ts","../../../../libs/soba/loaders/src/loader/loader.ts","../../../../libs/soba/loaders/src/texture-loader/texture-loader.ts","../../../../libs/soba/loaders/src/angular-three-soba-loaders.ts"],"sourcesContent":["import type { Injector, Signal } from '@angular/core';\nimport { injectNgtLoader, type NgtLoaderResults, type NgtObjectMap } from 'angular-three';\nimport { DRACOLoader, GLTFLoader, MeshoptDecoder, type GLTF } from 'three-stdlib';\n\nlet dracoLoader: DRACOLoader | null = null;\nlet decoderPath = 'https://www.gstatic.com/draco/versioned/decoders/1.5.5/';\n\nfunction _extensions(useDraco: boolean | string, useMeshOpt: boolean, extensions?: (loader: GLTFLoader) => void) {\n\treturn (loader: THREE.Loader) => {\n\t\tif (extensions) {\n\t\t\textensions(loader as GLTFLoader);\n\t\t}\n\n\t\tif (useDraco) {\n\t\t\tif (!dracoLoader) {\n\t\t\t\tdracoLoader = new DRACOLoader();\n\t\t\t}\n\n\t\t\tdracoLoader.setDecoderPath(typeof useDraco === 'string' ? useDraco : decoderPath);\n\t\t\t(loader as GLTFLoader).setDRACOLoader(dracoLoader);\n\t\t}\n\t\tif (useMeshOpt) {\n\t\t\t(loader as GLTFLoader).setMeshoptDecoder(\n\t\t\t\ttypeof MeshoptDecoder === 'function' ? MeshoptDecoder() : MeshoptDecoder,\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport type NgtsGLTF<T extends Partial<NgtObjectMap>> = GLTF & NgtObjectMap & T;\n\nexport function injectNgtsGLTFLoader<TUrl extends string | string[] | Record<string, string>>(\n\tpath: () => TUrl,\n\t{\n\t\tuseDraco = true,\n\t\tuseMeshOpt = true,\n\t\tinjector,\n\t\textensions,\n\t}: {\n\t\tuseDraco?: boolean | string;\n\t\tuseMeshOpt?: boolean;\n\t\tinjector?: Injector;\n\t\textensions?: (loader: GLTFLoader) => void;\n\t} = {},\n): Signal<NgtLoaderResults<TUrl, GLTF & NgtObjectMap> | null> {\n\treturn injectNgtLoader(() => GLTFLoader, path, {\n\t\textensions: _extensions(useDraco, useMeshOpt, extensions),\n\t\tinjector,\n\t});\n}\n\ninjectNgtsGLTFLoader['preload'] = <TUrl extends string | string[] | Record<string, string>>(\n\tpath: () => TUrl,\n\t{\n\t\tuseDraco = true,\n\t\tuseMeshOpt = true,\n\t\textensions,\n\t}: {\n\t\tuseDraco?: boolean | string;\n\t\tuseMeshOpt?: boolean;\n\t\textensions?: (loader: GLTFLoader) => void;\n\t} = {},\n) => {\n\t(injectNgtLoader as any)['preload'](() => GLTFLoader, path, _extensions(useDraco, useMeshOpt, extensions));\n};\ninjectNgtsGLTFLoader['setDecoderPath'] = (path: string) => {\n\tdecoderPath = path;\n};\n","import { ChangeDetectorRef, inject, runInInjectionContext, signal, untracked, type Injector } from '@angular/core';\nimport { assertInjector, safeDetectChanges } from 'angular-three';\nimport * as THREE from 'three';\n\nexport function injectNgtsProgress(injector?: Injector) {\n\tinjector = assertInjector(injectNgtsProgress, injector);\n\treturn runInInjectionContext(injector, () => {\n\t\tconst cdr = inject(ChangeDetectorRef);\n\n\t\tconst progress = signal<{\n\t\t\terrors: string[];\n\t\t\tactive: boolean;\n\t\t\tprogress: number;\n\t\t\titem: string;\n\t\t\tloaded: number;\n\t\t\ttotal: number;\n\t\t}>({ errors: [], active: false, progress: 0, item: '', loaded: 0, total: 0 });\n\n\t\tlet saveLastTotalLoaded = 0;\n\n\t\tTHREE.DefaultLoadingManager.onStart = (item, loaded, total) => {\n\t\t\tuntracked(() => {\n\t\t\t\tprogress.update((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\tactive: true,\n\t\t\t\t\titem,\n\t\t\t\t\tloaded,\n\t\t\t\t\ttotal,\n\t\t\t\t\tprogress: ((loaded - saveLastTotalLoaded) / (total - saveLastTotalLoaded)) * 100,\n\t\t\t\t}));\n\t\t\t});\n\n\t\t\tsafeDetectChanges(cdr);\n\t\t};\n\n\t\tTHREE.DefaultLoadingManager.onLoad = () => {\n\t\t\tuntracked(() => {\n\t\t\t\tprogress.update((prev) => ({ ...prev, active: false }));\n\t\t\t});\n\t\t\tsafeDetectChanges(cdr);\n\t\t};\n\n\t\tTHREE.DefaultLoadingManager.onError = (url) => {\n\t\t\tuntracked(() => {\n\t\t\t\tprogress.update((prev) => ({ ...prev, errors: [...prev.errors, url] }));\n\t\t\t});\n\t\t\tsafeDetectChanges(cdr);\n\t\t};\n\n\t\tTHREE.DefaultLoadingManager.onProgress = (item, loaded, total) => {\n\t\t\tif (loaded === total) saveLastTotalLoaded = total;\n\t\t\tuntracked(() => {\n\t\t\t\tprogress.update((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\titem,\n\t\t\t\t\tloaded,\n\t\t\t\t\ttotal,\n\t\t\t\t\tprogress: ((loaded - saveLastTotalLoaded) / (total - saveLastTotalLoaded)) * 100 || 100,\n\t\t\t\t}));\n\t\t\t});\n\n\t\t\tsafeDetectChanges(cdr);\n\t\t};\n\n\t\treturn progress.asReadonly();\n\t});\n}\n","import { NgIf } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\tInput,\n\tViewChild,\n\tcomputed,\n\teffect,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { signalStore } from 'angular-three';\nimport { injectNgtsProgress } from '../progress/progress';\n\nconst defaultDataInterpolation = (p: number) => `Loading ${p.toFixed(2)}%`;\n\nexport interface NgtsLoaderState {\n\tcontainerClass?: string;\n\tinnerClass?: string;\n\tbarClass?: string;\n\tdataClass?: string;\n\tdataInterpolation: (value: number) => string;\n\tinitialState: (value: boolean) => boolean;\n}\n\n@Component({\n\tselector: 'ngts-loader',\n\tstandalone: true,\n\ttemplate: `\n\t\t<div\n\t\t\t*ngIf=\"shown()\"\n\t\t\tclass=\"ngts-loader-container\"\n\t\t\t[class]=\"container() || ''\"\n\t\t\t[style.--ngts-loader-container-opacity]=\"active() ? 1 : 0\"\n\t\t>\n\t\t\t<div>\n\t\t\t\t<div class=\"ngts-loader-inner\" [class]=\"inner() || ''\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"ngts-loader-bar\"\n\t\t\t\t\t\t[class]=\"bar() || ''\"\n\t\t\t\t\t\t[style.--ngts-loader-bar-scale]=\"progress() / 100\"\n\t\t\t\t\t></div>\n\t\t\t\t\t<span #progressSpanRef class=\"ngts-loader-data\" [class]=\"data() || ''\"></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tstyleUrls: ['./loader.css'],\n\timports: [NgIf],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtsLoader {\n\tprivate inputs = signalStore<NgtsLoaderState>({\n\t\tdataInterpolation: defaultDataInterpolation,\n\t\tinitialState: (active) => active,\n\t});\n\n\tprivate progressState = injectNgtsProgress();\n\n\tactive = computed(() => this.progressState().active);\n\tprogress = computed(() => this.progressState().progress);\n\n\tcontainer = this.inputs.select('containerClass');\n\tinner = this.inputs.select('innerClass');\n\tbar = this.inputs.select('barClass');\n\tdata = this.inputs.select('dataClass');\n\n\t@Input({ alias: 'containerClass' }) set _containerClass(containerClass: string) {\n\t\tthis.inputs.set({ containerClass });\n\t}\n\n\t@Input({ alias: 'innerClass' }) set _innerClass(innerClass: string) {\n\t\tthis.inputs.set({ innerClass });\n\t}\n\n\t@Input({ alias: 'barClass' }) set _barClass(barClass: string) {\n\t\tthis.inputs.set({ barClass });\n\t}\n\n\t@Input({ alias: 'dataClass' }) set _dataClass(dataClass: string) {\n\t\tthis.inputs.set({ dataClass });\n\t}\n\n\t@Input({ alias: 'dataInterpolation' }) set _dataInterpolation(dataInterpolation: (value: number) => string) {\n\t\tthis.inputs.set({ dataInterpolation });\n\t}\n\n\t@Input({ alias: 'initialState' }) set _initialState(initialState: (value: boolean) => boolean) {\n\t\tthis.inputs.set({ initialState });\n\t}\n\n\t@ViewChild('progressSpanRef') progressSpanRef?: ElementRef<HTMLSpanElement>;\n\n\tshown = signal(this.inputs.get('initialState')(this.active()));\n\n\tconstructor() {\n\t\tthis.setShown();\n\t\tthis.updateProgress();\n\t}\n\n\tprivate setShown() {\n\t\teffect((onCleanup) => {\n\t\t\tconst [active, lastShown] = [this.active(), untracked(this.shown)];\n\t\t\tif (lastShown !== active) {\n\t\t\t\tconst timeoutId = setTimeout(() => {\n\t\t\t\t\tthis.shown.set(active);\n\t\t\t\t}, 300);\n\t\t\t\tonCleanup(() => clearTimeout(timeoutId));\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate updateProgress() {\n\t\tlet progressRef = 0;\n\t\tlet rafId: ReturnType<typeof requestAnimationFrame>;\n\n\t\tconst _dataInterpolation = this.inputs.select('dataInterpolation');\n\n\t\teffect((onCleanup) => {\n\t\t\tconst [dataInterpolation, progress] = [_dataInterpolation(), this.progress()];\n\t\t\tconst updateProgress = () => {\n\t\t\t\tif (!this.progressSpanRef?.nativeElement) return;\n\t\t\t\tprogressRef += (progress - progressRef) / 2;\n\t\t\t\tif (progressRef > 0.95 * progress || progress === 100) progressRef = progress;\n\t\t\t\tthis.progressSpanRef.nativeElement.innerText = dataInterpolation(progressRef);\n\t\t\t\tif (progressRef < progress) {\n\t\t\t\t\trafId = requestAnimationFrame(updateProgress);\n\t\t\t\t}\n\t\t\t};\n\t\t\tupdateProgress();\n\t\t\tonCleanup(() => cancelAnimationFrame(rafId));\n\t\t});\n\t}\n}\n","import { effect, runInInjectionContext, type Injector, type Signal } from '@angular/core';\nimport { assertInjector, injectNgtLoader, injectNgtStore, type NgtLoaderResults } from 'angular-three';\nimport * as THREE from 'three';\n\nexport function injectNgtsTextureLoader<TInput extends string[] | string | Record<string, string>>(\n\tinput: () => TInput,\n\t{\n\t\tonLoad,\n\t\tinjector,\n\t}: {\n\t\tonLoad?: (texture: THREE.Texture | THREE.Texture[]) => void;\n\t\tinjector?: Injector;\n\t} = {},\n): Signal<NgtLoaderResults<TInput, THREE.Texture> | null> {\n\tinjector = assertInjector(injectNgtsTextureLoader, injector);\n\treturn runInInjectionContext(injector, () => {\n\t\tconst store = injectNgtStore();\n\t\tconst result = injectNgtLoader(() => THREE.TextureLoader, input, { injector });\n\n\t\teffect(() => {\n\t\t\tconst textures = result();\n\t\t\tif (!textures) return;\n\t\t\tconst array = Array.isArray(textures)\n\t\t\t\t? textures\n\t\t\t\t: textures instanceof THREE.Texture\n\t\t\t\t? [textures]\n\t\t\t\t: Object.values(textures);\n\t\t\tif (onLoad) onLoad(array);\n\t\t\tarray.forEach(store.get('gl').initTexture);\n\t\t});\n\n\t\treturn result;\n\t});\n}\n\ninjectNgtsTextureLoader['preload'] = <TInput extends string[] | string | Record<string, string>>(\n\tinput: () => TInput,\n) => {\n\t(injectNgtLoader as any).preload(() => THREE.TextureLoader, input);\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -37,8 +37,8 @@ class NgtsMeshDistortMaterial {
|
|
|
37
37
|
this.material.time = clock.getElapsedTime() * this.inputs.get('speed');
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshDistortMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsMeshDistortMaterial, isStandalone: true, selector: "ngts-mesh-distort-material", inputs: { materialRef: "materialRef", _time: ["time", "_time"], _distort: ["distort", "_distort"], _radius: ["radius", "_radius"], _speed: ["speed", "_speed"] }, ngImport: i0, template: `
|
|
42
42
|
<ngt-primitive
|
|
43
43
|
*args="[material]"
|
|
44
44
|
[ref]="materialRef"
|
|
@@ -50,7 +50,7 @@ class NgtsMeshDistortMaterial {
|
|
|
50
50
|
/>
|
|
51
51
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
52
52
|
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshDistortMaterial, decorators: [{
|
|
54
54
|
type: Component,
|
|
55
55
|
args: [{
|
|
56
56
|
selector: 'ngts-mesh-distort-material',
|
|
@@ -339,8 +339,8 @@ class NgtsMeshReflectorMaterial {
|
|
|
339
339
|
projectionMatrix.elements[10] = this.clipPlane.z + 1.0;
|
|
340
340
|
projectionMatrix.elements[14] = this.clipPlane.w;
|
|
341
341
|
}
|
|
342
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
343
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
342
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshReflectorMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
343
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsMeshReflectorMaterial, isStandalone: true, selector: "ngts-mesh-reflector-material", inputs: { materialRef: "materialRef", _resolution: ["resolution", "_resolution"], _mixBlur: ["mixBlur", "_mixBlur"], _mixStrength: ["mixStrength", "_mixStrength"], _blur: ["blur", "_blur"], _mirror: ["mirror", "_mirror"], _minDepthThreshold: ["minDepthThreshold", "_minDepthThreshold"], _maxDepthThreshold: ["maxDepthThreshold", "_maxDepthThreshold"], _depthScale: ["depthScale", "_depthScale"], _depthToBlurRatioBias: ["depthToBlurRatioBias", "_depthToBlurRatioBias"], _distortionMap: ["distortionMap", "_distortionMap"], _distortion: ["distortion", "_distortion"], _mixContrast: ["mixContrast", "_mixContrast"], _reflectorOffset: ["reflectorOffset", "_reflectorOffset"] }, ngImport: i0, template: `
|
|
344
344
|
<ngt-mesh-reflector-material
|
|
345
345
|
*ngIf="defines() as defines"
|
|
346
346
|
[key]="defines"
|
|
@@ -368,7 +368,7 @@ class NgtsMeshReflectorMaterial {
|
|
|
368
368
|
</ngt-mesh-reflector-material>
|
|
369
369
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
370
370
|
}
|
|
371
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
371
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshReflectorMaterial, decorators: [{
|
|
372
372
|
type: Component,
|
|
373
373
|
args: [{
|
|
374
374
|
selector: 'ngts-mesh-reflector-material',
|
|
@@ -536,8 +536,8 @@ class NgtsMeshRefractionMaterial {
|
|
|
536
536
|
}
|
|
537
537
|
});
|
|
538
538
|
}
|
|
539
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
540
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
539
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshRefractionMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
540
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsMeshRefractionMaterial, isStandalone: true, selector: "ngts-mesh-refraction-material", inputs: { materialRef: "materialRef", _envMap: ["envMap", "_envMap"], _bounces: ["bounces", "_bounces"], _ior: ["ior", "_ior"], _fresnel: ["fresnel", "_fresnel"], _aberrationStrength: ["aberrationStrength", "_aberrationStrength"], _color: ["color", "_color"], _fastChroma: ["fastChroma", "_fastChroma"] }, ngImport: i0, template: `
|
|
541
541
|
<ngt-mesh-refraction-material
|
|
542
542
|
*ngIf="defines() as defines"
|
|
543
543
|
[key]="defines"
|
|
@@ -558,7 +558,7 @@ class NgtsMeshRefractionMaterial {
|
|
|
558
558
|
</ngt-mesh-refraction-material>
|
|
559
559
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
560
560
|
}
|
|
561
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
561
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshRefractionMaterial, decorators: [{
|
|
562
562
|
type: Component,
|
|
563
563
|
args: [{
|
|
564
564
|
selector: 'ngts-mesh-refraction-material',
|
|
@@ -777,8 +777,8 @@ class NgtsMeshTranmissionMaterial {
|
|
|
777
777
|
}
|
|
778
778
|
});
|
|
779
779
|
}
|
|
780
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
781
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
780
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshTranmissionMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
781
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsMeshTranmissionMaterial, isStandalone: true, selector: "ngts-mesh-transmission-material", inputs: { materialRef: "materialRef", _transmissionSampler: ["transmissionSampler", "_transmissionSampler"], _backside: ["backside", "_backside"], _backsideThickness: ["backsideThickness", "_backsideThickness"], _resolution: ["resolution", "_resolution"], _backsideResolution: ["backsideResolution", "_backsideResolution"], _samples: ["samples", "_samples"], _background: ["background", "_background"], _transmission: ["transmission", "_transmission"], _thickness: ["thickness", "_thickness"], _roughness: ["roughness", "_roughness"], _chromaticAberration: ["chromaticAberration", "_chromaticAberration"], _anisotropy: ["anisotropy", "_anisotropy"], _anisotropicBlur: ["anisotropicBlur", "_anisotropicBlur"], _distortion: ["distortion", "_distortion"], _distortionScale: ["distortionScale", "_distortionScale"], _temporalDistortion: ["temporalDistortion", "_temporalDistortion"], _buffer: ["buffer", "_buffer"], _time: ["time", "_time"] }, ngImport: i0, template: `
|
|
782
782
|
<ngt-mesh-transmission-material
|
|
783
783
|
ngtCompound
|
|
784
784
|
*args="[samples(), transmissionSampler()]"
|
|
@@ -798,7 +798,7 @@ class NgtsMeshTranmissionMaterial {
|
|
|
798
798
|
/>
|
|
799
799
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
800
800
|
}
|
|
801
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
801
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshTranmissionMaterial, decorators: [{
|
|
802
802
|
type: Component,
|
|
803
803
|
args: [{
|
|
804
804
|
selector: 'ngts-mesh-transmission-material',
|
|
@@ -904,8 +904,8 @@ class NgtsMeshWobbleMaterial {
|
|
|
904
904
|
this.material.time = clock.getElapsedTime() * this.inputs.get('speed');
|
|
905
905
|
});
|
|
906
906
|
}
|
|
907
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
908
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
907
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshWobbleMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
908
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsMeshWobbleMaterial, isStandalone: true, selector: "ngts-mesh-wobble-material", inputs: { materialRef: "materialRef", _time: ["time", "_time"], _factor: ["factor", "_factor"], _speed: ["speed", "_speed"] }, ngImport: i0, template: `
|
|
909
909
|
<ngt-primitive
|
|
910
910
|
*args="[material]"
|
|
911
911
|
[ref]="materialRef"
|
|
@@ -916,7 +916,7 @@ class NgtsMeshWobbleMaterial {
|
|
|
916
916
|
/>
|
|
917
917
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
918
918
|
}
|
|
919
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
919
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshWobbleMaterial, decorators: [{
|
|
920
920
|
type: Component,
|
|
921
921
|
args: [{
|
|
922
922
|
selector: 'ngts-mesh-wobble-material',
|
|
@@ -973,12 +973,12 @@ class NgtsPointMaterial {
|
|
|
973
973
|
this.pointMaterialRef = injectNgtRef();
|
|
974
974
|
this.material = new PointMaterial({});
|
|
975
975
|
}
|
|
976
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
977
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
976
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
977
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsPointMaterial, isStandalone: true, selector: "ngts-point-material", inputs: { pointMaterialRef: "pointMaterialRef" }, ngImport: i0, template: `
|
|
978
978
|
<ngt-primitive ngtCompound [ref]="pointMaterialRef" *args="[material]" attach="material" />
|
|
979
979
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
980
980
|
}
|
|
981
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
981
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointMaterial, decorators: [{
|
|
982
982
|
type: Component,
|
|
983
983
|
args: [{
|
|
984
984
|
selector: 'ngts-point-material',
|