angular-three-soba 2.0.0-beta.4 → 2.0.0-beta.40
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/abstractions/billboard/billboard.d.ts +12 -8
- package/abstractions/detailed/detailed.d.ts +26 -0
- package/abstractions/edges/edges.d.ts +24 -12
- package/abstractions/grid/grid.d.ts +42 -51
- package/abstractions/index.d.ts +1 -7
- package/abstractions/text/text.d.ts +10 -4
- package/abstractions/text-3d/text-3d.d.ts +51 -41
- package/cameras/camera/camera-content.d.ts +1 -1
- package/cameras/camera/camera.d.ts +16 -13
- package/cameras/cube-camera/cube-camera.d.ts +49 -23
- package/cameras/index.d.ts +0 -1
- package/cameras/orthographic-camera/orthographic-camera.d.ts +29 -18
- package/cameras/perspective-camera/perspective-camera.d.ts +10 -1
- package/controls/orbit-controls/orbit-controls.d.ts +34 -15
- package/esm2022/abstractions/billboard/billboard.mjs +36 -33
- package/esm2022/abstractions/detailed/detailed.mjs +64 -0
- package/esm2022/abstractions/edges/edges.mjs +58 -63
- package/esm2022/abstractions/grid/grid.mjs +140 -110
- package/esm2022/abstractions/index.mjs +2 -8
- package/esm2022/abstractions/text/text.mjs +123 -122
- package/esm2022/abstractions/text-3d/text-3d.mjs +120 -115
- package/esm2022/cameras/camera/camera-content.mjs +6 -6
- package/esm2022/cameras/camera/camera.mjs +48 -42
- package/esm2022/cameras/cube-camera/cube-camera.mjs +120 -100
- package/esm2022/cameras/index.mjs +1 -2
- package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +78 -75
- package/esm2022/cameras/perspective-camera/perspective-camera.mjs +25 -26
- package/esm2022/controls/orbit-controls/orbit-controls.mjs +109 -85
- package/esm2022/gizmos/angular-three-soba-gizmos.mjs +5 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +198 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/constants.mjs +31 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +93 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +151 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +66 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +71 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +195 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +272 -0
- package/esm2022/gizmos/index.mjs +4 -0
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +14 -9
- package/esm2022/loaders/loader/loader.mjs +92 -87
- package/esm2022/loaders/progress/progress.mjs +31 -30
- package/esm2022/loaders/texture-loader/texture-loader.mjs +20 -15
- package/esm2022/materials/index.mjs +2 -1
- package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +60 -51
- package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +239 -255
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +99 -97
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +164 -144
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +44 -42
- package/esm2022/materials/point-material/point-material.mjs +50 -0
- package/esm2022/misc/animations/animations.mjs +28 -23
- package/esm2022/misc/bake-shadows/bake-shadows.mjs +13 -13
- package/esm2022/misc/caustics/caustics.mjs +387 -0
- package/esm2022/misc/decal/decal.mjs +187 -0
- package/esm2022/misc/depth-buffer/depth-buffer.mjs +41 -37
- package/esm2022/misc/example/example.mjs +161 -0
- package/esm2022/misc/fbo/fbo.mjs +42 -36
- package/esm2022/misc/html/html-wrapper.mjs +478 -0
- package/esm2022/misc/html/html.mjs +305 -0
- package/esm2022/misc/index.mjs +10 -1
- package/esm2022/misc/sampler/sampler.mjs +132 -0
- package/esm2022/misc/shadow/shadow.mjs +111 -0
- package/esm2022/misc/stats-gl/stats-gl.mjs +61 -0
- package/esm2022/misc/trail/trail.mjs +204 -0
- package/esm2022/misc/trail-texture/inject-trail-texture.mjs +17 -0
- package/esm2022/misc/trail-texture/trail-texture.mjs +106 -0
- package/esm2022/modifiers/angular-three-soba-modifiers.mjs +5 -0
- package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +64 -0
- package/esm2022/modifiers/index.mjs +2 -0
- package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +44 -0
- package/esm2022/performances/adaptive-events/adaptive-events.mjs +27 -0
- package/esm2022/performances/angular-three-soba-performances.mjs +5 -0
- package/esm2022/performances/index.mjs +8 -0
- package/esm2022/performances/instances/instances.mjs +221 -0
- package/esm2022/performances/instances/position-mesh.mjs +52 -0
- package/esm2022/performances/points/points-input.mjs +64 -0
- package/esm2022/performances/points/points.mjs +327 -0
- package/esm2022/performances/points/position-point.mjs +54 -0
- package/esm2022/performances/segments/segment-object.mjs +9 -0
- package/esm2022/performances/segments/segments.mjs +183 -0
- package/esm2022/shaders/blur-pass/blur-pass.mjs +2 -2
- package/esm2022/shaders/caustics/caustics-material.mjs +130 -0
- package/esm2022/shaders/caustics/caustics-projection-material.mjs +32 -0
- package/esm2022/shaders/convolution-material/convolution-material.mjs +3 -2
- package/esm2022/shaders/discard-material/discard-material.mjs +1 -1
- package/esm2022/shaders/grid-material/grid-material.mjs +30 -14
- package/esm2022/shaders/index.mjs +5 -3
- package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +42 -41
- package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +2 -2
- package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +3 -2
- package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +7 -4
- package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +1 -1
- package/esm2022/shaders/shader-material/shader-material.mjs +3 -5
- package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +18 -25
- package/esm2022/shaders/sparkles-material/sparkles-material.mjs +32 -46
- package/esm2022/shaders/spot-light-material/spot-light-material.mjs +8 -7
- package/esm2022/shaders/star-field-material/star-field-material.mjs +3 -2
- package/esm2022/shaders/wireframe-material/wireframe-material.mjs +247 -0
- package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +161 -176
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +8 -8
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +129 -129
- package/esm2022/staging/backdrop/backdrop.mjs +77 -0
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +69 -0
- package/esm2022/staging/bounds/bounds.mjs +145 -143
- package/esm2022/staging/camera-shake/camera-shake.mjs +86 -80
- package/esm2022/staging/center/center.mjs +129 -112
- package/esm2022/staging/cloud/cloud.mjs +118 -124
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +131 -136
- package/esm2022/staging/environment/assets.mjs +12 -12
- package/esm2022/staging/environment/environment-cube.mjs +28 -30
- package/esm2022/staging/environment/environment-ground.mjs +17 -19
- package/esm2022/staging/environment/environment-input.mjs +98 -85
- package/esm2022/staging/environment/environment-map.mjs +33 -33
- package/esm2022/staging/environment/environment-portal.mjs +75 -97
- package/esm2022/staging/environment/environment.mjs +34 -51
- package/esm2022/staging/environment/utils.mjs +40 -17
- package/esm2022/staging/float/float.mjs +70 -58
- package/esm2022/staging/index.mjs +7 -3
- package/esm2022/staging/matcap-texture/matcap-texture.mjs +64 -0
- package/esm2022/staging/normal-texture/normal-texture.mjs +53 -0
- package/esm2022/staging/sky/sky.mjs +85 -80
- package/esm2022/staging/sparkles/sparkles.mjs +108 -105
- package/esm2022/staging/spot-light/shadow-mesh-input.mjs +63 -0
- package/esm2022/staging/spot-light/shadow-mesh.mjs +267 -0
- package/esm2022/staging/spot-light/spot-light-input.mjs +67 -58
- package/esm2022/staging/spot-light/spot-light.mjs +51 -63
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +67 -70
- package/esm2022/staging/stage/stage.mjs +305 -290
- package/esm2022/staging/stars/stars.mjs +101 -102
- package/esm2022/staging/wireframe/wireframe-input.mjs +191 -0
- package/esm2022/staging/wireframe/wireframe.mjs +228 -0
- package/esm2022/utils/angular-three-soba-utils.mjs +5 -0
- package/esm2022/utils/constants.mjs +3 -0
- package/esm2022/utils/content/content.mjs +15 -0
- package/esm2022/utils/index.mjs +3 -0
- package/fesm2022/angular-three-soba-abstractions.mjs +504 -2079
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +293 -260
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +108 -83
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +1045 -0
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -0
- package/fesm2022/angular-three-soba-loaders.mjs +148 -132
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +656 -588
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +2202 -99
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-modifiers.mjs +71 -0
- package/fesm2022/angular-three-soba-modifiers.mjs.map +1 -0
- package/fesm2022/angular-three-soba-performances.mjs +957 -0
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -0
- package/fesm2022/angular-three-soba-shaders.mjs +508 -269
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +2910 -2573
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-utils.mjs +25 -0
- package/fesm2022/angular-three-soba-utils.mjs.map +1 -0
- package/gizmos/README.md +3 -0
- package/gizmos/gizmo-helper/gizmo-helper.d.ts +73 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +22 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +29 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.d.ts +33 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +10 -0
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +40 -0
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +30 -0
- package/gizmos/index.d.ts +3 -0
- package/loaders/gltf-loader/gltf-loader.d.ts +15 -4
- package/loaders/loader/loader.d.ts +19 -17
- package/loaders/progress/progress.d.ts +1 -1
- package/loaders/texture-loader/texture-loader.d.ts +8 -3
- package/materials/index.d.ts +1 -0
- package/materials/mesh-distort-material/mesh-distort-material.d.ts +25 -15
- package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +74 -56
- package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +33 -21
- package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +55 -39
- package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +19 -10
- package/materials/point-material/point-material.d.ts +24 -0
- package/metadata.json +1 -0
- package/misc/animations/animations.d.ts +6 -4
- package/misc/caustics/caustics.d.ts +87 -0
- package/misc/decal/decal.d.ts +49 -0
- package/misc/depth-buffer/depth-buffer.d.ts +2 -2
- package/misc/example/example.d.ts +85 -0
- package/misc/fbo/fbo.d.ts +2 -2
- package/misc/html/html-wrapper.d.ts +559 -0
- package/misc/html/html.d.ts +218 -0
- package/misc/index.d.ts +9 -0
- package/misc/sampler/sampler.d.ts +67 -0
- package/misc/shadow/shadow.d.ts +37 -0
- package/misc/stats-gl/stats-gl.d.ts +24 -0
- package/misc/trail/trail.d.ts +57 -0
- package/misc/trail-texture/inject-trail-texture.d.ts +9 -0
- package/misc/trail-texture/trail-texture.d.ts +50 -0
- package/modifiers/README.md +3 -0
- package/modifiers/curve-modifier/curve-modifier.d.ts +23 -0
- package/modifiers/index.d.ts +1 -0
- package/package.json +36 -18
- package/performances/README.md +3 -0
- package/performances/adaptive-dpr/adaptive-dpr.d.ts +14 -0
- package/{performance/adaptive → performances/adaptive-events}/adaptive-events.d.ts +3 -0
- package/performances/index.d.ts +7 -0
- package/performances/instances/instances.d.ts +83 -0
- package/{performance → performances}/instances/position-mesh.d.ts +1 -1
- package/performances/points/points-input.d.ts +32 -0
- package/performances/points/points.d.ts +96 -0
- package/performances/points/position-point.d.ts +11 -0
- package/performances/segments/segment-object.d.ts +7 -0
- package/performances/segments/segments.d.ts +128 -0
- package/shaders/grid-material/grid-material.d.ts +33 -0
- package/shaders/index.d.ts +4 -2
- package/shaders/mesh-distort-material/mesh-distort-material.d.ts +173 -6
- package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +1 -1
- package/shaders/shader-material/shader-material.d.ts +2 -2
- package/shaders/soft-shadow-material/soft-shadow-material.d.ts +10 -1
- package/shaders/sparkles-material/sparkles-material.d.ts +13 -0
- package/shaders/spot-light-material/spot-light-material.d.ts +11 -2
- package/shaders/star-field-material/star-field-material.d.ts +9 -0
- package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
- package/staging/accumulative-shadows/accumulative-shadows.d.ts +93 -39
- package/staging/accumulative-shadows/randomized-lights.d.ts +41 -28
- package/staging/backdrop/backdrop.d.ts +30 -0
- package/staging/bb-anchor/bb-anchor.d.ts +27 -0
- package/staging/bounds/bounds.d.ts +105 -25
- package/staging/camera-shake/camera-shake.d.ts +30 -19
- package/staging/center/center.d.ts +43 -35
- package/staging/cloud/cloud.d.ts +27 -24
- package/staging/contact-shadows/contact-shadows.d.ts +43 -30
- package/staging/environment/assets.d.ts +9 -9
- package/staging/environment/environment-cube.d.ts +9 -5
- package/staging/environment/environment-ground.d.ts +7 -7
- package/staging/environment/environment-input.d.ts +38 -38
- package/staging/environment/environment-map.d.ts +10 -5
- package/staging/environment/environment-portal.d.ts +10 -5
- package/staging/environment/environment.d.ts +0 -4
- package/staging/environment/utils.d.ts +2 -2
- package/staging/float/float.d.ts +15 -11
- package/staging/index.d.ts +6 -2
- package/staging/matcap-texture/matcap-texture.d.ts +13 -0
- package/staging/normal-texture/normal-texture.d.ts +16 -0
- package/staging/sky/sky.d.ts +28 -21
- package/staging/sparkles/sparkles.d.ts +36 -22
- package/staging/spot-light/shadow-mesh-input.d.ts +29 -0
- package/staging/spot-light/shadow-mesh.d.ts +37 -0
- package/staging/spot-light/spot-light-input.d.ts +25 -25
- package/staging/spot-light/spot-light.d.ts +35 -15
- package/staging/spot-light/volumetric-mesh.d.ts +15 -9
- package/staging/stage/stage.d.ts +89 -65
- package/staging/stars/stars.d.ts +28 -17
- package/staging/wireframe/wireframe-input.d.ts +65 -0
- package/staging/wireframe/wireframe.d.ts +28 -0
- package/utils/README.md +3 -0
- package/utils/constants.d.ts +1 -0
- package/utils/content/content.d.ts +8 -0
- package/utils/index.d.ts +2 -0
- package/web-types.json +1 -0
- package/abstractions/catmull-rom-line/catmull-rom-line.d.ts +0 -25
- package/abstractions/cubic-bezier-line/cubic-bezier-line.d.ts +0 -25
- package/abstractions/gizmo-helper/gizmo-helper.d.ts +0 -34
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -30
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +0 -32
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -14
- package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -47
- package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -40
- package/abstractions/line/line-input.d.ts +0 -42
- package/abstractions/line/line.d.ts +0 -35
- package/abstractions/quadratic-bezier-line/quadratic-bezier-line.d.ts +0 -23
- package/esm2022/abstractions/catmull-rom-line/catmull-rom-line.mjs +0 -131
- package/esm2022/abstractions/cubic-bezier-line/cubic-bezier-line.mjs +0 -113
- package/esm2022/abstractions/gizmo-helper/gizmo-helper.mjs +0 -210
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -95
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -155
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -62
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -80
- package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -206
- package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -273
- package/esm2022/abstractions/line/line-input.mjs +0 -113
- package/esm2022/abstractions/line/line.mjs +0 -165
- package/esm2022/abstractions/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -128
- package/esm2022/performance/adaptive/adaptive-dpr.mjs +0 -46
- package/esm2022/performance/adaptive/adaptive-events.mjs +0 -31
- package/esm2022/performance/angular-three-soba-performance.mjs +0 -5
- package/esm2022/performance/detailed/detailed.mjs +0 -61
- package/esm2022/performance/index.mjs +0 -7
- package/esm2022/performance/instances/instance.mjs +0 -48
- package/esm2022/performance/instances/instances.mjs +0 -189
- package/esm2022/performance/instances/position-mesh.mjs +0 -52
- package/esm2022/performance/stats/stats.mjs +0 -79
- package/esm2022/shaders/caustics-material/caustics-material.mjs +0 -128
- package/esm2022/shaders/caustics-material/caustics-projection-material.mjs +0 -33
- package/esm2022/staging/caustics/caustisc.mjs +0 -384
- package/esm2022/staging/spot-light/spot-light-shadow-mesh-input.mjs +0 -57
- package/esm2022/staging/spot-light/spot-light-shadow-mesh.mjs +0 -256
- package/fesm2022/angular-three-soba-performance.mjs +0 -487
- package/fesm2022/angular-three-soba-performance.mjs.map +0 -1
- package/performance/README.md +0 -3
- package/performance/adaptive/adaptive-dpr.d.ts +0 -8
- package/performance/detailed/detailed.d.ts +0 -20
- package/performance/index.d.ts +0 -6
- package/performance/instances/instance.d.ts +0 -9
- package/performance/instances/instances.d.ts +0 -35
- package/performance/stats/stats.d.ts +0 -18
- package/plugin/generators.json +0 -19
- package/plugin/libs/plugin/README.md +0 -11
- package/plugin/package.json +0 -9
- package/plugin/src/generators/init/compat.d.ts +0 -2
- package/plugin/src/generators/init/compat.js +0 -6
- package/plugin/src/generators/init/compat.js.map +0 -1
- package/plugin/src/generators/init/init.d.ts +0 -7
- package/plugin/src/generators/init/init.js +0 -28
- package/plugin/src/generators/init/init.js.map +0 -1
- package/plugin/src/generators/init/schema.json +0 -6
- package/plugin/src/index.d.ts +0 -1
- package/plugin/src/index.js +0 -6
- package/plugin/src/index.js.map +0 -1
- package/staging/caustics/caustisc.d.ts +0 -70
- package/staging/spot-light/spot-light-shadow-mesh-input.d.ts +0 -29
- package/staging/spot-light/spot-light-shadow-mesh.d.ts +0 -38
- /package/{abstractions → gizmos}/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -0
- /package/shaders/{caustics-material → caustics}/caustics-material.d.ts +0 -0
- /package/shaders/{caustics-material → caustics}/caustics-projection-material.d.ts +0 -0
|
@@ -1,66 +1,68 @@
|
|
|
1
1
|
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
2
|
-
import { extend, injectBeforeRender, injectNgtRef, NgtArgs,
|
|
2
|
+
import { extend, injectBeforeRender, injectNgtRef, NgtArgs, signalStore, } from 'angular-three';
|
|
3
3
|
import { MeshWobbleMaterial } from 'angular-three-soba/shaders';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
extend({ MeshWobbleMaterial });
|
|
6
|
-
class NgtsMeshWobbleMaterial
|
|
7
|
-
set
|
|
8
|
-
this.set({ time });
|
|
6
|
+
export class NgtsMeshWobbleMaterial {
|
|
7
|
+
set _time(time) {
|
|
8
|
+
this.inputs.set({ time });
|
|
9
9
|
}
|
|
10
|
-
set
|
|
11
|
-
this.set({ factor });
|
|
10
|
+
set _factor(factor) {
|
|
11
|
+
this.inputs.set({ factor });
|
|
12
12
|
}
|
|
13
|
-
set
|
|
14
|
-
this.set({ speed });
|
|
13
|
+
set _speed(speed) {
|
|
14
|
+
this.inputs.set({ speed });
|
|
15
15
|
}
|
|
16
16
|
constructor() {
|
|
17
|
-
|
|
18
|
-
this.material = new MeshWobbleMaterial();
|
|
17
|
+
this.inputs = signalStore({ speed: 1, time: 0, factor: 1 });
|
|
19
18
|
this.materialRef = injectNgtRef();
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
19
|
+
this.material = new MeshWobbleMaterial();
|
|
20
|
+
this.time = this.inputs.select('time');
|
|
21
|
+
this.factor = this.inputs.select('factor');
|
|
22
22
|
injectBeforeRender(({ clock }) => {
|
|
23
|
-
this.material.time = clock.getElapsedTime() * this.get('speed');
|
|
23
|
+
this.material.time = clock.getElapsedTime() * this.inputs.get('speed');
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshWobbleMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
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: `
|
|
28
|
+
<ngt-primitive
|
|
29
|
+
*args="[material]"
|
|
30
|
+
[ref]="materialRef"
|
|
31
|
+
[time]="time()"
|
|
32
|
+
[factor]="factor()"
|
|
33
|
+
attach="material"
|
|
34
|
+
ngtCompound
|
|
35
|
+
/>
|
|
36
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsMeshWobbleMaterial, decorators: [{
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshWobbleMaterial, decorators: [{
|
|
40
39
|
type: Component,
|
|
41
40
|
args: [{
|
|
42
41
|
selector: 'ngts-mesh-wobble-material',
|
|
43
42
|
standalone: true,
|
|
44
43
|
template: `
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
44
|
+
<ngt-primitive
|
|
45
|
+
*args="[material]"
|
|
46
|
+
[ref]="materialRef"
|
|
47
|
+
[time]="time()"
|
|
48
|
+
[factor]="factor()"
|
|
49
|
+
attach="material"
|
|
50
|
+
ngtCompound
|
|
51
|
+
/>
|
|
52
|
+
`,
|
|
54
53
|
imports: [NgtArgs],
|
|
55
54
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
56
55
|
}]
|
|
57
56
|
}], ctorParameters: function () { return []; }, propDecorators: { materialRef: [{
|
|
58
57
|
type: Input
|
|
59
|
-
}],
|
|
60
|
-
type: Input
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
58
|
+
}], _time: [{
|
|
59
|
+
type: Input,
|
|
60
|
+
args: [{ alias: 'time' }]
|
|
61
|
+
}], _factor: [{
|
|
62
|
+
type: Input,
|
|
63
|
+
args: [{ alias: 'factor' }]
|
|
64
|
+
}], _speed: [{
|
|
65
|
+
type: Input,
|
|
66
|
+
args: [{ alias: 'speed' }]
|
|
65
67
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC13b2JibGUtbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9tZXNoLXdvYmJsZS1tYXRlcmlhbC9tZXNoLXdvYmJsZS1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQ04sTUFBTSxFQUNOLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osT0FBTyxFQUNQLFdBQVcsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFaEUsTUFBTSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0FBaUMvQixNQUFNLE9BQU8sc0JBQXNCO0lBS2xDLElBQThCLEtBQUssQ0FBQyxJQUFZO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBZ0MsT0FBTyxDQUFDLE1BQWM7UUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUErQixNQUFNLENBQUMsS0FBYTtRQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQU1EO1FBcEJRLFdBQU0sR0FBRyxXQUFXLENBQThCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5GLGdCQUFXLEdBQUcsWUFBWSxFQUFzQixDQUFDO1FBYzFELGFBQVEsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDcEMsU0FBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLFdBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUdyQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzhHQXpCVyxzQkFBc0I7a0dBQXRCLHNCQUFzQixvTkFieEI7Ozs7Ozs7OztFQVNULDREQUNTLE9BQU87OzJGQUdMLHNCQUFzQjtrQkFoQmxDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7O0VBU1Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDakM7MEVBSVMsV0FBVztzQkFBbkIsS0FBSztnQkFFd0IsS0FBSztzQkFBbEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBSVEsT0FBTztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0JBSUssTUFBTTtzQkFBcEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHRleHRlbmQsXG5cdGluamVjdEJlZm9yZVJlbmRlcixcblx0aW5qZWN0Tmd0UmVmLFxuXHROZ3RBcmdzLFxuXHRzaWduYWxTdG9yZSxcblx0dHlwZSBOZ3RNZXNoU3RhbmRhcmRNYXRlcmlhbCxcbn0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBNZXNoV29iYmxlTWF0ZXJpYWwgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvc2hhZGVycyc7XG5cbmV4dGVuZCh7IE1lc2hXb2JibGVNYXRlcmlhbCB9KTtcblxuZXhwb3J0IHR5cGUgTmd0c01lc2hXb2JibGVNYXRlcmlhbFN0YXRlID0ge1xuXHR0aW1lOiBudW1iZXI7XG5cdGZhY3RvcjogbnVtYmVyO1xuXHRzcGVlZDogbnVtYmVyO1xufTtcblxuZGVjbGFyZSBnbG9iYWwge1xuXHRpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcblx0XHQvKipcblx0XHQgKiBAZXh0ZW5kcyBuZ3QtbWVzaC1zdGFuZGFyZC1tYXRlcmlhbFxuXHRcdCAqL1xuXHRcdCduZ3RzLW1lc2gtd29iYmxlLW1hdGVyaWFsJzogTmd0c01lc2hXb2JibGVNYXRlcmlhbFN0YXRlICYgTmd0TWVzaFN0YW5kYXJkTWF0ZXJpYWw7XG5cdH1cbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1tZXNoLXdvYmJsZS1tYXRlcmlhbCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1wcmltaXRpdmVcblx0XHRcdCphcmdzPVwiW21hdGVyaWFsXVwiXG5cdFx0XHRbcmVmXT1cIm1hdGVyaWFsUmVmXCJcblx0XHRcdFt0aW1lXT1cInRpbWUoKVwiXG5cdFx0XHRbZmFjdG9yXT1cImZhY3RvcigpXCJcblx0XHRcdGF0dGFjaD1cIm1hdGVyaWFsXCJcblx0XHRcdG5ndENvbXBvdW5kXG5cdFx0Lz5cblx0YCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNNZXNoV29iYmxlTWF0ZXJpYWwge1xuXHRwcml2YXRlIGlucHV0cyA9IHNpZ25hbFN0b3JlPE5ndHNNZXNoV29iYmxlTWF0ZXJpYWxTdGF0ZT4oeyBzcGVlZDogMSwgdGltZTogMCwgZmFjdG9yOiAxIH0pO1xuXG5cdEBJbnB1dCgpIG1hdGVyaWFsUmVmID0gaW5qZWN0Tmd0UmVmPE1lc2hXb2JibGVNYXRlcmlhbD4oKTtcblxuXHRASW5wdXQoeyBhbGlhczogJ3RpbWUnIH0pIHNldCBfdGltZSh0aW1lOiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyB0aW1lIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdmYWN0b3InIH0pIHNldCBfZmFjdG9yKGZhY3RvcjogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZmFjdG9yIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdzcGVlZCcgfSkgc2V0IF9zcGVlZChzcGVlZDogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgc3BlZWQgfSk7XG5cdH1cblxuXHRtYXRlcmlhbCA9IG5ldyBNZXNoV29iYmxlTWF0ZXJpYWwoKTtcblx0dGltZSA9IHRoaXMuaW5wdXRzLnNlbGVjdCgndGltZScpO1xuXHRmYWN0b3IgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2ZhY3RvcicpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoeyBjbG9jayB9KSA9PiB7XG5cdFx0XHR0aGlzLm1hdGVyaWFsLnRpbWUgPSBjbG9jay5nZXRFbGFwc2VkVGltZSgpICogdGhpcy5pbnB1dHMuZ2V0KCdzcGVlZCcpO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, Component, Input } from '@angular/core';
|
|
2
|
+
import { NgtArgs, injectNgtRef } from 'angular-three';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const opaque_fragment = parseInt(THREE.REVISION.replace(/\D+/g, '')) >= 154 ? 'opaque_fragment' : 'output_fragment';
|
|
6
|
+
export class PointMaterial extends THREE.PointsMaterial {
|
|
7
|
+
constructor(parameters) {
|
|
8
|
+
super(parameters);
|
|
9
|
+
this.onBeforeCompile = (shader, renderer) => {
|
|
10
|
+
const { isWebGL2 } = renderer.capabilities;
|
|
11
|
+
shader.fragmentShader = shader.fragmentShader.replace(`#include <${opaque_fragment}>`, `
|
|
12
|
+
${!isWebGL2
|
|
13
|
+
? `#extension GL_OES_standard_derivatives : enable\n#include <${opaque_fragment}>`
|
|
14
|
+
: `#include <${opaque_fragment}>`}
|
|
15
|
+
vec2 cxy = 2.0 * gl_PointCoord - 1.0;
|
|
16
|
+
float r = dot(cxy, cxy);
|
|
17
|
+
float delta = fwidth(r);
|
|
18
|
+
float mask = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);
|
|
19
|
+
gl_FragColor = vec4(gl_FragColor.rgb, mask * gl_FragColor.a );
|
|
20
|
+
#include <tonemapping_fragment>
|
|
21
|
+
#include <${parseInt(THREE.REVISION.replace(/\D+/g, '')) >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
|
|
22
|
+
`);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export class NgtsPointMaterial {
|
|
27
|
+
constructor() {
|
|
28
|
+
this.pointMaterialRef = injectNgtRef();
|
|
29
|
+
this.material = new PointMaterial({});
|
|
30
|
+
}
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
+
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: `
|
|
33
|
+
<ngt-primitive ngtCompound [ref]="pointMaterialRef" *args="[material]" attach="material" />
|
|
34
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointMaterial, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{
|
|
39
|
+
selector: 'ngts-point-material',
|
|
40
|
+
standalone: true,
|
|
41
|
+
template: `
|
|
42
|
+
<ngt-primitive ngtCompound [ref]="pointMaterialRef" *args="[material]" attach="material" />
|
|
43
|
+
`,
|
|
44
|
+
imports: [NgtArgs],
|
|
45
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
46
|
+
}]
|
|
47
|
+
}], propDecorators: { pointMaterialRef: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}] } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQtbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9wb2ludC1tYXRlcmlhbC9wb2ludC1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7O0FBRS9CLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztBQUVwSCxNQUFNLE9BQU8sYUFBYyxTQUFRLEtBQUssQ0FBQyxjQUFjO0lBQ3RELFlBQVksVUFBMEM7UUFDckQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDM0MsTUFBTSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FDcEQsYUFBYSxlQUFlLEdBQUcsRUFDL0I7VUFFRCxDQUFDLFFBQVE7Z0JBQ1IsQ0FBQyxDQUFDLDhEQUE4RCxlQUFlLEdBQUc7Z0JBQ2xGLENBQUMsQ0FBQyxhQUFhLGVBQWUsR0FDaEM7Ozs7Ozs7a0JBT2dCLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxvQkFBb0I7T0FDN0csQ0FDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztDQUNEO0FBd0JELE1BQU0sT0FBTyxpQkFBaUI7SUFUOUI7UUFVVSxxQkFBZ0IsR0FBRyxZQUFZLEVBQWlCLENBQUM7UUFFMUQsYUFBUSxHQUFHLElBQUksYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2pDOzhHQUpZLGlCQUFpQjtrR0FBakIsaUJBQWlCLGlJQU5uQjs7RUFFVCw0REFDUyxPQUFPOzsyRkFHTCxpQkFBaUI7a0JBVDdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7RUFFVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQzs4QkFFUyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3RBcmdzLCBpbmplY3ROZ3RSZWYsIHR5cGUgTmd0UG9pbnRzTWF0ZXJpYWwgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3Qgb3BhcXVlX2ZyYWdtZW50ID0gcGFyc2VJbnQoVEhSRUUuUkVWSVNJT04ucmVwbGFjZSgvXFxEKy9nLCAnJykpID49IDE1NCA/ICdvcGFxdWVfZnJhZ21lbnQnIDogJ291dHB1dF9mcmFnbWVudCc7XG5cbmV4cG9ydCBjbGFzcyBQb2ludE1hdGVyaWFsIGV4dGVuZHMgVEhSRUUuUG9pbnRzTWF0ZXJpYWwge1xuXHRjb25zdHJ1Y3RvcihwYXJhbWV0ZXJzOiBUSFJFRS5Qb2ludHNNYXRlcmlhbFBhcmFtZXRlcnMpIHtcblx0XHRzdXBlcihwYXJhbWV0ZXJzKTtcblx0XHR0aGlzLm9uQmVmb3JlQ29tcGlsZSA9IChzaGFkZXIsIHJlbmRlcmVyKSA9PiB7XG5cdFx0XHRjb25zdCB7IGlzV2ViR0wyIH0gPSByZW5kZXJlci5jYXBhYmlsaXRpZXM7XG5cdFx0XHRzaGFkZXIuZnJhZ21lbnRTaGFkZXIgPSBzaGFkZXIuZnJhZ21lbnRTaGFkZXIucmVwbGFjZShcblx0XHRcdFx0YCNpbmNsdWRlIDwke29wYXF1ZV9mcmFnbWVudH0+YCxcblx0XHRcdFx0YFxuICAgICAgICAke1xuXHRcdFx0IWlzV2ViR0wyXG5cdFx0XHRcdD8gYCNleHRlbnNpb24gR0xfT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzIDogZW5hYmxlXFxuI2luY2x1ZGUgPCR7b3BhcXVlX2ZyYWdtZW50fT5gXG5cdFx0XHRcdDogYCNpbmNsdWRlIDwke29wYXF1ZV9mcmFnbWVudH0+YFxuXHRcdH1cbiAgICAgIHZlYzIgY3h5ID0gMi4wICogZ2xfUG9pbnRDb29yZCAtIDEuMDtcbiAgICAgIGZsb2F0IHIgPSBkb3QoY3h5LCBjeHkpO1xuICAgICAgZmxvYXQgZGVsdGEgPSBmd2lkdGgocik7XG4gICAgICBmbG9hdCBtYXNrID0gMS4wIC0gc21vb3Roc3RlcCgxLjAgLSBkZWx0YSwgMS4wICsgZGVsdGEsIHIpO1xuICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNChnbF9GcmFnQ29sb3IucmdiLCBtYXNrICogZ2xfRnJhZ0NvbG9yLmEgKTtcbiAgICAgICNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cbiAgICAgICNpbmNsdWRlIDwke3BhcnNlSW50KFRIUkVFLlJFVklTSU9OLnJlcGxhY2UoL1xcRCsvZywgJycpKSA+PSAxNTQgPyAnY29sb3JzcGFjZV9mcmFnbWVudCcgOiAnZW5jb2RpbmdzX2ZyYWdtZW50J30+XG4gICAgICBgLFxuXHRcdFx0KTtcblx0XHR9O1xuXHR9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcblx0aW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG5cdFx0LyoqXG5cdFx0ICogQGV4dGVuZHMgbmd0LXBvaW50cy1tYXRlcmlhbFxuXHRcdCAqL1xuXHRcdCduZ3QtcG9pbnQtbWF0ZXJpYWwnOiBOZ3RQb2ludHNNYXRlcmlhbDtcblx0XHQvKipcblx0XHQgKiBAZXh0ZW5kcyBuZ3QtcG9pbnRzLW1hdGVyaWFsXG5cdFx0ICovXG5cdFx0J25ndHMtcG9pbnQtbWF0ZXJpYWwnOiBOZ3RQb2ludHNNYXRlcmlhbDtcblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLXBvaW50LW1hdGVyaWFsJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXByaW1pdGl2ZSBuZ3RDb21wb3VuZCBbcmVmXT1cInBvaW50TWF0ZXJpYWxSZWZcIiAqYXJncz1cIlttYXRlcmlhbF1cIiBhdHRhY2g9XCJtYXRlcmlhbFwiIC8+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RBcmdzXSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzUG9pbnRNYXRlcmlhbCB7XG5cdEBJbnB1dCgpIHBvaW50TWF0ZXJpYWxSZWYgPSBpbmplY3ROZ3RSZWY8UG9pbnRNYXRlcmlhbD4oKTtcblxuXHRtYXRlcmlhbCA9IG5ldyBQb2ludE1hdGVyaWFsKHt9KTtcbn1cbiJdfQ==
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Injector, computed, effect, runInInjectionContext } from '@angular/core';
|
|
2
|
+
import { injectBeforeRender, injectNgtRef } from 'angular-three';
|
|
3
|
+
import { assertInjector } from 'ngxtension/assert-injector';
|
|
3
4
|
import * as THREE from 'three';
|
|
4
|
-
export function injectNgtsAnimations(animationsFactory, { ref, injector } = {}) {
|
|
5
|
-
injector =
|
|
5
|
+
export function injectNgtsAnimations(animationsFactory, { ref, injector, playFirstClip = true, } = {}) {
|
|
6
|
+
injector = assertInjector(injectNgtsAnimations, injector);
|
|
7
|
+
const mixer = new THREE.AnimationMixer(null);
|
|
8
|
+
const actions = {};
|
|
9
|
+
let cached = {};
|
|
10
|
+
let object = null;
|
|
11
|
+
const names = [];
|
|
12
|
+
const clips = [];
|
|
6
13
|
return runInInjectionContext(injector, () => {
|
|
7
14
|
let actualRef = injectNgtRef();
|
|
8
15
|
if (ref) {
|
|
@@ -13,26 +20,13 @@ export function injectNgtsAnimations(animationsFactory, { ref, injector } = {})
|
|
|
13
20
|
actualRef = ref;
|
|
14
21
|
}
|
|
15
22
|
}
|
|
16
|
-
const mixer = new THREE.AnimationMixer(null);
|
|
17
|
-
const actions = {};
|
|
18
|
-
let cached = {};
|
|
19
|
-
const clips = [];
|
|
20
|
-
const names = [];
|
|
21
|
-
inject(DestroyRef).onDestroy(() => {
|
|
22
|
-
// clear cached
|
|
23
|
-
cached = {};
|
|
24
|
-
// uncache actions
|
|
25
|
-
Object.values(actions).forEach((action) => {
|
|
26
|
-
mixer.uncacheAction(action, actualRef.untracked);
|
|
27
|
-
});
|
|
28
|
-
// stop all actions
|
|
29
|
-
mixer.stopAllAction();
|
|
30
|
-
});
|
|
31
23
|
injectBeforeRender(({ delta }) => mixer.update(delta));
|
|
32
|
-
|
|
24
|
+
const ready = computed(() => !!actualRef.nativeElement && !!animationsFactory().length);
|
|
25
|
+
effect((onCleanup) => {
|
|
33
26
|
const actual = actualRef.nativeElement;
|
|
34
27
|
if (!actual)
|
|
35
28
|
return;
|
|
29
|
+
object = actual;
|
|
36
30
|
const animations = animationsFactory();
|
|
37
31
|
for (let i = 0; i < animations.length; i++) {
|
|
38
32
|
const clip = animations[i];
|
|
@@ -44,12 +38,23 @@ export function injectNgtsAnimations(animationsFactory, { ref, injector } = {})
|
|
|
44
38
|
return cached[clip.name] || (cached[clip.name] = mixer.clipAction(clip, actual));
|
|
45
39
|
},
|
|
46
40
|
});
|
|
47
|
-
if (i === 0) {
|
|
41
|
+
if (i === 0 && playFirstClip) {
|
|
48
42
|
actions[clip.name].play();
|
|
49
43
|
}
|
|
50
44
|
}
|
|
45
|
+
onCleanup(() => {
|
|
46
|
+
// clear cached
|
|
47
|
+
cached = {};
|
|
48
|
+
// stop all actions
|
|
49
|
+
mixer.stopAllAction();
|
|
50
|
+
// uncache actions
|
|
51
|
+
Object.values(actions).forEach((action) => {
|
|
52
|
+
mixer.uncacheAction(action, object);
|
|
53
|
+
});
|
|
54
|
+
object = null;
|
|
55
|
+
});
|
|
51
56
|
});
|
|
52
|
-
return { ref: actualRef, actions, mixer, names, clips };
|
|
57
|
+
return { ref: actualRef, actions, mixer, names, clips, ready };
|
|
53
58
|
});
|
|
54
59
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9taXNjL3NyYy9hbmltYXRpb25zL2FuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbkMsaUJBQThDLEVBQzlDLEVBQ0MsR0FBRyxFQUNILFFBQVEsRUFDUixhQUFhLEdBQUcsSUFBSSxNQUMrRCxFQUFFO0lBRXRGLFFBQVEsR0FBRyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUssQ0FBQyxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUFHLEVBQTJDLENBQUM7SUFDNUQsSUFBSSxNQUFNLEdBQUcsRUFBMkMsQ0FBQztJQUN6RCxJQUFJLE1BQU0sR0FBMEIsSUFBSSxDQUFDO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLEVBQWMsQ0FBQztJQUM3QixNQUFNLEtBQUssR0FBRyxFQUEyQixDQUFDO0lBRTFDLE9BQU8scUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUMzQyxJQUFJLFNBQVMsR0FBRyxZQUFZLEVBQWtCLENBQUM7UUFFL0MsSUFBSSxHQUFHLEVBQUU7WUFDUixJQUFJLEdBQUcsWUFBWSxLQUFLLENBQUMsUUFBUSxFQUFFO2dCQUNsQyxTQUFTLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQzthQUM5QjtpQkFBTTtnQkFDTixTQUFTLEdBQUcsR0FBRyxDQUFDO2FBQ2hCO1NBQ0Q7UUFFRCxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV2RCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEYsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQztZQUN2QyxJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBQ3BCLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDaEIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztZQUV2QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0MsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUUzQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFakIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtvQkFDekMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLEdBQUcsRUFBRSxHQUFHLEVBQUU7d0JBQ1QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUNsRixDQUFDO2lCQUNELENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksYUFBYSxFQUFFO29CQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUMxQjthQUNEO1lBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxlQUFlO2dCQUNmLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ1osbUJBQW1CO2dCQUNuQixLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3RCLGtCQUFrQjtnQkFDbEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDekMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUF3QyxFQUFFLE1BQU8sQ0FBQyxDQUFDO2dCQUN4RSxDQUFDLENBQUMsQ0FBQztnQkFFSCxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNoRSxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgY29tcHV0ZWQsIGVmZmVjdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdE5ndFJlZiwgdHlwZSBOZ3RSZWYgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGFzc2VydEluamVjdG9yIH0gZnJvbSAnbmd4dGVuc2lvbi9hc3NlcnQtaW5qZWN0b3InO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tmd0c0FuaW1hdGlvbnMoXG5cdGFuaW1hdGlvbnNGYWN0b3J5OiAoKSA9PiBUSFJFRS5BbmltYXRpb25DbGlwW10sXG5cdHtcblx0XHRyZWYsXG5cdFx0aW5qZWN0b3IsXG5cdFx0cGxheUZpcnN0Q2xpcCA9IHRydWUsXG5cdH06IHsgcmVmPzogTmd0UmVmPFRIUkVFLk9iamVjdDNEPjsgcGxheUZpcnN0Q2xpcD86IGJvb2xlYW47IGluamVjdG9yPzogSW5qZWN0b3IgfSA9IHt9LFxuKSB7XG5cdGluamVjdG9yID0gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0Tmd0c0FuaW1hdGlvbnMsIGluamVjdG9yKTtcblxuXHRjb25zdCBtaXhlciA9IG5ldyBUSFJFRS5BbmltYXRpb25NaXhlcihudWxsISk7XG5cdGNvbnN0IGFjdGlvbnMgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBUSFJFRS5BbmltYXRpb25BY3Rpb24+O1xuXHRsZXQgY2FjaGVkID0ge30gYXMgUmVjb3JkPHN0cmluZywgVEhSRUUuQW5pbWF0aW9uQWN0aW9uPjtcblx0bGV0IG9iamVjdDogVEhSRUUuT2JqZWN0M0QgfCBudWxsID0gbnVsbDtcblx0Y29uc3QgbmFtZXMgPSBbXSBhcyBzdHJpbmdbXTtcblx0Y29uc3QgY2xpcHMgPSBbXSBhcyBUSFJFRS5BbmltYXRpb25DbGlwW107XG5cblx0cmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4ge1xuXHRcdGxldCBhY3R1YWxSZWYgPSBpbmplY3ROZ3RSZWY8VEhSRUUuT2JqZWN0M0Q+KCk7XG5cblx0XHRpZiAocmVmKSB7XG5cdFx0XHRpZiAocmVmIGluc3RhbmNlb2YgVEhSRUUuT2JqZWN0M0QpIHtcblx0XHRcdFx0YWN0dWFsUmVmLm5hdGl2ZUVsZW1lbnQgPSByZWY7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRhY3R1YWxSZWYgPSByZWY7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGRlbHRhIH0pID0+IG1peGVyLnVwZGF0ZShkZWx0YSkpO1xuXG5cdFx0Y29uc3QgcmVhZHkgPSBjb21wdXRlZCgoKSA9PiAhIWFjdHVhbFJlZi5uYXRpdmVFbGVtZW50ICYmICEhYW5pbWF0aW9uc0ZhY3RvcnkoKS5sZW5ndGgpO1xuXG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IGFjdHVhbCA9IGFjdHVhbFJlZi5uYXRpdmVFbGVtZW50O1xuXHRcdFx0aWYgKCFhY3R1YWwpIHJldHVybjtcblx0XHRcdG9iamVjdCA9IGFjdHVhbDtcblx0XHRcdGNvbnN0IGFuaW1hdGlvbnMgPSBhbmltYXRpb25zRmFjdG9yeSgpO1xuXG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFuaW1hdGlvbnMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0Y29uc3QgY2xpcCA9IGFuaW1hdGlvbnNbaV07XG5cblx0XHRcdFx0bmFtZXMucHVzaChjbGlwLm5hbWUpO1xuXHRcdFx0XHRjbGlwcy5wdXNoKGNsaXApO1xuXG5cdFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhY3Rpb25zLCBjbGlwLm5hbWUsIHtcblx0XHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0XHRcdGdldDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGNhY2hlZFtjbGlwLm5hbWVdIHx8IChjYWNoZWRbY2xpcC5uYW1lXSA9IG1peGVyLmNsaXBBY3Rpb24oY2xpcCwgYWN0dWFsKSk7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0aWYgKGkgPT09IDAgJiYgcGxheUZpcnN0Q2xpcCkge1xuXHRcdFx0XHRcdGFjdGlvbnNbY2xpcC5uYW1lXS5wbGF5KCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0b25DbGVhbnVwKCgpID0+IHtcblx0XHRcdFx0Ly8gY2xlYXIgY2FjaGVkXG5cdFx0XHRcdGNhY2hlZCA9IHt9O1xuXHRcdFx0XHQvLyBzdG9wIGFsbCBhY3Rpb25zXG5cdFx0XHRcdG1peGVyLnN0b3BBbGxBY3Rpb24oKTtcblx0XHRcdFx0Ly8gdW5jYWNoZSBhY3Rpb25zXG5cdFx0XHRcdE9iamVjdC52YWx1ZXMoYWN0aW9ucykuZm9yRWFjaCgoYWN0aW9uKSA9PiB7XG5cdFx0XHRcdFx0bWl4ZXIudW5jYWNoZUFjdGlvbihhY3Rpb24gYXMgdW5rbm93biBhcyBUSFJFRS5BbmltYXRpb25DbGlwLCBvYmplY3QhKTtcblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0b2JqZWN0ID0gbnVsbDtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIHsgcmVmOiBhY3R1YWxSZWYsIGFjdGlvbnMsIG1peGVyLCBuYW1lcywgY2xpcHMsIHJlYWR5IH07XG5cdH0pO1xufVxuIl19
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { Directive, effect
|
|
2
|
-
import {
|
|
1
|
+
import { Directive, effect } from '@angular/core';
|
|
2
|
+
import { injectNgtStore } from 'angular-three';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
class NgtsBakeShadows {
|
|
4
|
+
export class NgtsBakeShadows {
|
|
5
5
|
constructor() {
|
|
6
|
-
const store =
|
|
7
|
-
const
|
|
6
|
+
const store = injectNgtStore();
|
|
7
|
+
const glShadowMap = store.select('gl', 'shadowMap');
|
|
8
8
|
effect((onCleanup) => {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
const shadowMap = glShadowMap();
|
|
10
|
+
shadowMap.autoUpdate = false;
|
|
11
|
+
shadowMap.needsUpdate = true;
|
|
11
12
|
onCleanup(() => {
|
|
12
|
-
|
|
13
|
+
shadowMap.autoUpdate = shadowMap.needsUpdate = true;
|
|
13
14
|
});
|
|
14
15
|
});
|
|
15
16
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
17
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsBakeShadows, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsBakeShadows, isStandalone: true, selector: "ngts-bake-shadows", ngImport: i0 }); }
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsBakeShadows, decorators: [{
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsBakeShadows, decorators: [{
|
|
21
21
|
type: Directive,
|
|
22
22
|
args: [{ selector: 'ngts-bake-shadows', standalone: true }]
|
|
23
23
|
}], ctorParameters: function () { return []; } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFrZS1zaGFkb3dzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2Jha2Utc2hhZG93cy9iYWtlLXNoYWRvd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHL0MsTUFBTSxPQUFPLGVBQWU7SUFDM0I7UUFDQyxNQUFNLEtBQUssR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUMvQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNwQixNQUFNLFNBQVMsR0FBRyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxTQUFTLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUM3QixTQUFTLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUM3QixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLFNBQVMsQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDckQsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBWlcsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmd0cy1iYWtlLXNoYWRvd3MnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0c0Jha2VTaGFkb3dzIHtcblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3Qgc3RvcmUgPSBpbmplY3ROZ3RTdG9yZSgpO1xuXHRcdGNvbnN0IGdsU2hhZG93TWFwID0gc3RvcmUuc2VsZWN0KCdnbCcsICdzaGFkb3dNYXAnKTtcblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3Qgc2hhZG93TWFwID0gZ2xTaGFkb3dNYXAoKTtcblx0XHRcdHNoYWRvd01hcC5hdXRvVXBkYXRlID0gZmFsc2U7XG5cdFx0XHRzaGFkb3dNYXAubmVlZHNVcGRhdGUgPSB0cnVlO1xuXHRcdFx0b25DbGVhbnVwKCgpID0+IHtcblx0XHRcdFx0c2hhZG93TWFwLmF1dG9VcGRhdGUgPSBzaGFkb3dNYXAubmVlZHNVcGRhdGUgPSB0cnVlO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|