angular-three-soba 1.14.1 → 2.0.0-beta.10
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/README.md +2 -2
- package/abstractions/billboard/billboard.d.ts +28 -0
- package/abstractions/detailed/detailed.d.ts +26 -0
- package/abstractions/edges/edges.d.ts +34 -0
- package/abstractions/grid/grid.d.ts +50 -0
- package/abstractions/index.d.ts +6 -11
- package/abstractions/text/text.d.ts +82 -0
- package/abstractions/text-3d/text-3d.d.ts +81 -0
- package/cameras/{lib/camera → camera}/camera-content.d.ts +2 -2
- package/cameras/camera/camera.d.ts +26 -0
- package/cameras/cube-camera/cube-camera.d.ts +69 -0
- package/cameras/index.d.ts +4 -4
- package/cameras/orthographic-camera/orthographic-camera.d.ts +37 -0
- package/cameras/{lib/perspective-camera → perspective-camera}/perspective-camera.d.ts +10 -1
- package/controls/index.d.ts +1 -1
- package/controls/orbit-controls/orbit-controls.d.ts +54 -0
- package/esm2022/abstractions/angular-three-soba-abstractions.mjs +1 -1
- package/esm2022/abstractions/billboard/billboard.mjs +74 -0
- package/esm2022/abstractions/detailed/detailed.mjs +64 -0
- package/esm2022/abstractions/edges/edges.mjs +88 -0
- package/esm2022/abstractions/grid/grid.mjs +180 -0
- package/esm2022/abstractions/index.mjs +7 -12
- package/esm2022/abstractions/text/text.mjs +274 -0
- package/esm2022/abstractions/text-3d/text-3d.mjs +165 -0
- package/esm2022/angular-three-soba.mjs +1 -1
- package/esm2022/cameras/angular-three-soba-cameras.mjs +1 -1
- package/esm2022/cameras/camera/camera-content.mjs +20 -0
- package/esm2022/cameras/camera/camera.mjs +77 -0
- package/esm2022/cameras/cube-camera/cube-camera.mjs +161 -0
- package/esm2022/cameras/index.mjs +5 -5
- package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +102 -0
- package/esm2022/cameras/perspective-camera/perspective-camera.mjs +46 -0
- package/esm2022/controls/angular-three-soba-controls.mjs +1 -1
- package/esm2022/controls/index.mjs +2 -2
- package/esm2022/controls/orbit-controls/orbit-controls.mjs +181 -0
- package/esm2022/index.mjs +1 -1
- package/esm2022/loaders/angular-three-soba-loaders.mjs +1 -1
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +30 -0
- package/esm2022/loaders/index.mjs +5 -6
- package/esm2022/loaders/loader/loader.mjs +138 -0
- package/esm2022/loaders/progress/progress.mjs +45 -0
- package/esm2022/loaders/texture-loader/texture-loader.mjs +28 -0
- package/esm2022/materials/angular-three-soba-materials.mjs +1 -1
- package/esm2022/materials/index.mjs +7 -6
- package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +82 -0
- package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +367 -0
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +171 -0
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +278 -0
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +68 -0
- package/esm2022/materials/point-material/point-material.mjs +46 -0
- package/esm2022/misc/angular-three-soba-misc.mjs +1 -1
- package/esm2022/misc/animations/animations.mjs +59 -0
- package/esm2022/misc/bake-shadows/bake-shadows.mjs +24 -0
- package/esm2022/misc/caustics/caustics.mjs +387 -0
- package/esm2022/misc/decal/decal.mjs +187 -0
- package/esm2022/misc/depth-buffer/depth-buffer.mjs +44 -0
- package/esm2022/misc/example/example.mjs +160 -0
- package/esm2022/misc/fbo/fbo.mjs +47 -0
- package/esm2022/misc/html/html-wrapper.mjs +478 -0
- package/esm2022/misc/html/html.mjs +304 -0
- package/esm2022/misc/index.mjs +14 -5
- package/esm2022/misc/sampler/sampler.mjs +142 -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 +209 -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 +6 -0
- package/esm2022/performances/points/points-input.mjs +64 -0
- package/esm2022/performances/points/points.mjs +329 -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 +182 -0
- package/esm2022/shaders/angular-three-soba-shaders.mjs +1 -1
- package/esm2022/shaders/blur-pass/blur-pass.mjs +61 -0
- package/esm2022/shaders/caustics/caustics-material.mjs +130 -0
- package/esm2022/shaders/caustics/caustics-projection-material.mjs +31 -0
- package/esm2022/shaders/convolution-material/convolution-material.mjs +94 -0
- package/esm2022/shaders/discard-material/discard-material.mjs +3 -0
- package/esm2022/shaders/grid-material/grid-material.mjs +77 -0
- package/esm2022/shaders/index.mjs +18 -15
- package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +56 -0
- package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +223 -0
- package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +170 -0
- package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +268 -0
- package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +37 -0
- package/esm2022/shaders/shader-material/shader-material.mjs +34 -0
- package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +25 -0
- package/esm2022/shaders/sparkles-material/sparkles-material.mjs +33 -0
- package/esm2022/shaders/spot-light-material/spot-light-material.mjs +86 -0
- package/esm2022/shaders/star-field-material/star-field-material.mjs +33 -0
- package/esm2022/shaders/wireframe-material/wireframe-material.mjs +247 -0
- package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +267 -0
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +108 -0
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +206 -0
- package/esm2022/staging/angular-three-soba-staging.mjs +1 -1
- package/esm2022/staging/backdrop/backdrop.mjs +77 -0
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +70 -0
- package/esm2022/staging/bounds/bounds.mjs +308 -0
- package/esm2022/staging/camera-shake/camera-shake.mjs +123 -0
- package/esm2022/staging/center/center.mjs +163 -0
- package/esm2022/staging/cloud/cloud.mjs +158 -0
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +246 -0
- package/esm2022/staging/environment/assets.mjs +13 -0
- package/esm2022/staging/environment/environment-cube.mjs +47 -0
- package/esm2022/staging/environment/environment-ground.mjs +41 -0
- package/esm2022/staging/environment/environment-input.mjs +119 -0
- package/esm2022/staging/environment/environment-map.mjs +53 -0
- package/esm2022/staging/environment/environment-portal.mjs +113 -0
- package/esm2022/staging/environment/environment.mjs +61 -0
- package/esm2022/staging/environment/utils.mjs +105 -0
- package/esm2022/staging/float/float.mjs +94 -0
- package/esm2022/staging/index.mjs +22 -18
- 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 +119 -0
- package/esm2022/staging/sparkles/sparkles.mjs +164 -0
- package/esm2022/staging/spot-light/shadow-mesh-input.mjs +63 -0
- package/esm2022/staging/spot-light/shadow-mesh.mjs +266 -0
- package/esm2022/staging/spot-light/spot-light-input.mjs +84 -0
- package/esm2022/staging/spot-light/spot-light.mjs +81 -0
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +98 -0
- package/esm2022/staging/stage/stage.mjs +388 -0
- package/esm2022/staging/stars/stars.mjs +147 -0
- package/esm2022/staging/wireframe/wireframe-input.mjs +191 -0
- package/esm2022/staging/wireframe/wireframe.mjs +224 -0
- package/esm2022/utils/angular-three-soba-utils.mjs +5 -0
- package/esm2022/utils/content/content.mjs +15 -0
- package/esm2022/utils/index.mjs +2 -0
- package/fesm2022/angular-three-soba-abstractions.mjs +668 -1882
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +279 -232
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +104 -69
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +177 -164
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +630 -482
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +2248 -122
- 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 +697 -0
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -0
- package/fesm2022/angular-three-soba-shaders.mjs +554 -209
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +3231 -2852
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-utils.mjs +22 -0
- package/fesm2022/angular-three-soba-utils.mjs.map +1 -0
- package/fesm2022/angular-three-soba.mjs.map +1 -1
- package/loaders/gltf-loader/gltf-loader.d.ts +10 -0
- package/loaders/index.d.ts +4 -5
- package/loaders/loader/loader.d.ts +33 -0
- package/loaders/progress/progress.d.ts +9 -0
- package/loaders/texture-loader/texture-loader.d.ts +7 -0
- package/materials/index.d.ts +6 -5
- package/materials/mesh-distort-material/mesh-distort-material.d.ts +40 -0
- package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +99 -0
- package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +62 -0
- package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +107 -0
- package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +29 -0
- package/materials/point-material/point-material.d.ts +24 -0
- package/metadata.json +1 -0
- package/misc/animations/animations.d.ts +15 -0
- package/misc/{lib/bake-shadows → bake-shadows}/bake-shadows.d.ts +2 -5
- package/misc/caustics/caustics.d.ts +87 -0
- package/misc/decal/decal.d.ts +49 -0
- package/misc/depth-buffer/depth-buffer.d.ts +9 -0
- package/misc/example/example.d.ts +81 -0
- package/misc/{lib/fbo → fbo}/fbo.d.ts +4 -2
- package/misc/html/html-wrapper.d.ts +559 -0
- package/misc/html/html.d.ts +214 -0
- package/misc/index.d.ts +13 -4
- 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 +43 -32
- package/performances/README.md +3 -0
- package/performances/adaptive-dpr/adaptive-dpr.d.ts +14 -0
- package/{performance/lib/adaptive → performances/adaptive-events}/adaptive-events.d.ts +5 -6
- package/performances/index.d.ts +5 -0
- package/performances/points/points-input.d.ts +32 -0
- package/performances/points/points.d.ts +92 -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 +124 -0
- package/shaders/{lib/blur-pass → blur-pass}/blur-pass.d.ts +2 -2
- package/shaders/grid-material/grid-material.d.ts +37 -0
- package/shaders/index.d.ts +17 -14
- package/shaders/{lib/mesh-distort-material → mesh-distort-material}/mesh-distort-material.d.ts +147 -2
- package/shaders/{lib/mesh-transmission-material → mesh-transmission-material}/mesh-transmission-material.d.ts +1 -1
- package/shaders/{lib/mesh-wobble-material → mesh-wobble-material}/mesh-wobble-material.d.ts +1 -0
- package/shaders/{lib/shader-material → shader-material}/shader-material.d.ts +2 -2
- package/shaders/soft-shadow-material/soft-shadow-material.d.ts +19 -0
- package/shaders/sparkles-material/sparkles-material.d.ts +17 -0
- package/shaders/spot-light-material/spot-light-material.d.ts +13 -0
- package/shaders/star-field-material/star-field-material.d.ts +13 -0
- package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
- package/staging/accumulative-shadows/accumulative-shadows.d.ts +146 -0
- package/staging/{lib/accumulative-shadows → accumulative-shadows}/progressive-light-map.d.ts +2 -2
- package/staging/accumulative-shadows/randomized-lights.d.ts +90 -0
- package/staging/backdrop/backdrop.d.ts +30 -0
- package/staging/bb-anchor/bb-anchor.d.ts +27 -0
- package/staging/bounds/bounds.d.ts +134 -0
- package/staging/camera-shake/camera-shake.d.ts +43 -0
- package/staging/center/center.d.ts +70 -0
- package/staging/cloud/cloud.d.ts +51 -0
- package/staging/contact-shadows/contact-shadows.d.ts +70 -0
- package/staging/{lib/environment → environment}/assets.d.ts +9 -9
- package/staging/environment/environment-cube.d.ts +15 -0
- package/staging/environment/environment-ground.d.ts +13 -0
- package/staging/environment/environment-input.d.ts +68 -0
- package/staging/environment/environment-map.d.ts +16 -0
- package/staging/environment/environment-portal.d.ts +18 -0
- package/staging/{lib/environment → environment}/environment.d.ts +2 -6
- package/staging/environment/utils.d.ts +7 -0
- package/staging/float/float.d.ts +31 -0
- package/staging/index.d.ts +21 -17
- 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 +48 -0
- package/staging/sparkles/sparkles.d.ts +63 -0
- 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 +38 -0
- package/staging/spot-light/spot-light.d.ts +39 -0
- package/staging/spot-light/volumetric-mesh.d.ts +24 -0
- package/staging/stage/stage.d.ts +130 -0
- package/staging/stars/stars.d.ts +45 -0
- 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/content/content.d.ts +8 -0
- package/utils/index.d.ts +1 -0
- package/web-types.json +1 -0
- package/abstractions/lib/billboard/billboard.d.ts +0 -14
- package/abstractions/lib/catmull-rom-line/catmull-rom-line.d.ts +0 -15
- package/abstractions/lib/cubic-bezier-line/cubic-bezier-line.d.ts +0 -15
- package/abstractions/lib/edges/edges.d.ts +0 -18
- package/abstractions/lib/gizmo-helper/gizmo-helper.d.ts +0 -41
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -12
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -16
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -24
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +0 -14
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -15
- package/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -28
- package/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -21
- package/abstractions/lib/line/line-input.d.ts +0 -19
- package/abstractions/lib/line/line.d.ts +0 -21
- package/abstractions/lib/quadratic-bezier-line/quadratic-bezier-line.d.ts +0 -19
- package/abstractions/lib/text/text.d.ts +0 -21
- package/abstractions/lib/text-3d/text-3d.d.ts +0 -39
- package/assets/default-spot-light-shadow.glsl +0 -10
- package/cameras/lib/camera/camera.d.ts +0 -19
- package/cameras/lib/cube-camera/cube-camera.d.ts +0 -27
- package/cameras/lib/orthographic-camera/orthographic-camera.d.ts +0 -17
- package/controls/lib/orbit-controls/orbit-controls.d.ts +0 -27
- package/esm2022/abstractions/lib/billboard/billboard.mjs +0 -74
- package/esm2022/abstractions/lib/catmull-rom-line/catmull-rom-line.mjs +0 -120
- package/esm2022/abstractions/lib/cubic-bezier-line/cubic-bezier-line.mjs +0 -99
- package/esm2022/abstractions/lib/edges/edges.mjs +0 -96
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-helper.mjs +0 -213
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -92
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -184
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -46
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -134
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -195
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -267
- package/esm2022/abstractions/lib/line/line-input.mjs +0 -76
- package/esm2022/abstractions/lib/line/line.mjs +0 -133
- package/esm2022/abstractions/lib/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -128
- package/esm2022/abstractions/lib/text/text.mjs +0 -115
- package/esm2022/abstractions/lib/text-3d/text-3d.mjs +0 -145
- package/esm2022/cameras/lib/camera/camera-content.mjs +0 -21
- package/esm2022/cameras/lib/camera/camera.mjs +0 -75
- package/esm2022/cameras/lib/cube-camera/cube-camera.mjs +0 -131
- package/esm2022/cameras/lib/orthographic-camera/orthographic-camera.mjs +0 -93
- package/esm2022/cameras/lib/perspective-camera/perspective-camera.mjs +0 -47
- package/esm2022/controls/lib/orbit-controls/orbit-controls.mjs +0 -147
- package/esm2022/loaders/lib/cube-texture-loader/cube-texture-loader.mjs +0 -10
- package/esm2022/loaders/lib/gltf-loader/gltf-loader.mjs +0 -32
- package/esm2022/loaders/lib/loader/loader.mjs +0 -134
- package/esm2022/loaders/lib/progress/progress.mjs +0 -39
- package/esm2022/loaders/lib/texture-loader/texture-loader.mjs +0 -19
- package/esm2022/materials/lib/mesh-distort-material/mesh-distort-material.mjs +0 -75
- package/esm2022/materials/lib/mesh-reflector-material/mesh-reflector-material.mjs +0 -328
- package/esm2022/materials/lib/mesh-refraction-material/mesh-refraction-material.mjs +0 -158
- package/esm2022/materials/lib/mesh-transmission-material/mesh-transmission-material.mjs +0 -238
- package/esm2022/materials/lib/mesh-wobble-material/mesh-wobble-material.mjs +0 -68
- package/esm2022/misc/lib/animations/animations.mjs +0 -52
- package/esm2022/misc/lib/bake-shadows/bake-shadows.mjs +0 -26
- package/esm2022/misc/lib/depth-buffer/depth-buffer.mjs +0 -39
- package/esm2022/misc/lib/fbo/fbo.mjs +0 -39
- package/esm2022/performance/angular-three-soba-performance.mjs +0 -5
- package/esm2022/performance/index.mjs +0 -5
- package/esm2022/performance/lib/adaptive/adaptive-dpr.mjs +0 -47
- package/esm2022/performance/lib/adaptive/adaptive-events.mjs +0 -37
- package/esm2022/performance/lib/detailed/detailed.mjs +0 -54
- package/esm2022/performance/lib/stats/stats.mjs +0 -80
- package/esm2022/shaders/lib/blur-pass/blur-pass.mjs +0 -61
- package/esm2022/shaders/lib/caustics-material/caustics-material.mjs +0 -128
- package/esm2022/shaders/lib/caustics-projection-material/caustics-projection-material.mjs +0 -33
- package/esm2022/shaders/lib/convolution-material/convolution-material.mjs +0 -94
- package/esm2022/shaders/lib/discard-material/discard-material.mjs +0 -3
- package/esm2022/shaders/lib/mesh-distort-material/mesh-distort-material.mjs +0 -55
- package/esm2022/shaders/lib/mesh-reflector-material/mesh-reflector-material.mjs +0 -223
- package/esm2022/shaders/lib/mesh-refraction-material/mesh-refraction-material.mjs +0 -169
- package/esm2022/shaders/lib/mesh-transmission-material/mesh-transmission-material.mjs +0 -268
- package/esm2022/shaders/lib/mesh-wobble-material/mesh-wobble-material.mjs +0 -37
- package/esm2022/shaders/lib/shader-material/shader-material.mjs +0 -34
- package/esm2022/shaders/lib/soft-shadow-material/soft-shadow-material.mjs +0 -33
- package/esm2022/shaders/lib/spot-light-material/spot-light-material.mjs +0 -86
- package/esm2022/shaders/lib/star-field-material/star-field-material.mjs +0 -32
- package/esm2022/staging/lib/accumulative-shadows/accumulative-shadows.mjs +0 -249
- package/esm2022/staging/lib/accumulative-shadows/progressive-light-map.mjs +0 -108
- package/esm2022/staging/lib/accumulative-shadows/randomized-lights.mjs +0 -201
- package/esm2022/staging/lib/bounds/bounds.mjs +0 -284
- package/esm2022/staging/lib/camera-shake/camera-shake.mjs +0 -122
- package/esm2022/staging/lib/caustics/caustics.mjs +0 -364
- package/esm2022/staging/lib/center/center.mjs +0 -143
- package/esm2022/staging/lib/cloud/cloud.mjs +0 -160
- package/esm2022/staging/lib/contact-shadows/contact-shadows.mjs +0 -228
- package/esm2022/staging/lib/environment/assets.mjs +0 -13
- package/esm2022/staging/lib/environment/environment-cube.mjs +0 -41
- package/esm2022/staging/lib/environment/environment-ground.mjs +0 -67
- package/esm2022/staging/lib/environment/environment-inputs.mjs +0 -87
- package/esm2022/staging/lib/environment/environment-map.mjs +0 -39
- package/esm2022/staging/lib/environment/environment-portal.mjs +0 -111
- package/esm2022/staging/lib/environment/environment.mjs +0 -165
- package/esm2022/staging/lib/environment/utils.mjs +0 -70
- package/esm2022/staging/lib/float/float.mjs +0 -77
- package/esm2022/staging/lib/sky/sky.mjs +0 -109
- package/esm2022/staging/lib/sparkles/sparkles.mjs +0 -210
- package/esm2022/staging/lib/spot-light/common.mjs +0 -42
- package/esm2022/staging/lib/spot-light/shadow-mesh-input.mjs +0 -51
- package/esm2022/staging/lib/spot-light/spot-light-input.mjs +0 -62
- package/esm2022/staging/lib/spot-light/spot-light-shadow-no-shader.mjs +0 -74
- package/esm2022/staging/lib/spot-light/spot-light-shadow-shader.mjs +0 -126
- package/esm2022/staging/lib/spot-light/spot-light-shadow.mjs +0 -63
- package/esm2022/staging/lib/spot-light/spot-light.mjs +0 -117
- package/esm2022/staging/lib/spot-light/volumetric-mesh.mjs +0 -86
- package/esm2022/staging/lib/stage/stage.mjs +0 -368
- package/esm2022/staging/lib/stars/stars.mjs +0 -140
- package/fesm2022/angular-three-soba-performance.mjs +0 -210
- package/fesm2022/angular-three-soba-performance.mjs.map +0 -1
- package/loaders/lib/cube-texture-loader/cube-texture-loader.d.ts +0 -3
- package/loaders/lib/gltf-loader/gltf-loader.d.ts +0 -8
- package/loaders/lib/loader/loader.d.ts +0 -26
- package/loaders/lib/progress/progress.d.ts +0 -16
- package/loaders/lib/texture-loader/texture-loader.d.ts +0 -5
- package/materials/lib/mesh-distort-material/mesh-distort-material.d.ts +0 -24
- package/materials/lib/mesh-reflector-material/mesh-reflector-material.d.ts +0 -41
- package/materials/lib/mesh-refraction-material/mesh-refraction-material.d.ts +0 -28
- package/materials/lib/mesh-transmission-material/mesh-transmission-material.d.ts +0 -46
- package/materials/lib/mesh-wobble-material/mesh-wobble-material.d.ts +0 -14
- package/misc/lib/animations/animations.d.ts +0 -13
- package/misc/lib/depth-buffer/depth-buffer.d.ts +0 -7
- package/performance/README.md +0 -3
- package/performance/index.d.ts +0 -4
- package/performance/lib/adaptive/adaptive-dpr.d.ts +0 -11
- package/performance/lib/detailed/detailed.d.ts +0 -13
- package/performance/lib/stats/stats.d.ts +0 -15
- package/plugin/README.md +0 -11
- package/plugin/generators.json +0 -19
- 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 -4
- package/plugin/src/generators/init/init.js +0 -22
- 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/shaders/lib/soft-shadow-material/soft-shadow-material.d.ts +0 -10
- package/shaders/lib/spot-light-material/spot-light-material.d.ts +0 -4
- package/shaders/lib/star-field-material/star-field-material.d.ts +0 -3
- package/staging/lib/accumulative-shadows/accumulative-shadows.d.ts +0 -58
- package/staging/lib/accumulative-shadows/randomized-lights.d.ts +0 -42
- package/staging/lib/bounds/bounds.d.ts +0 -48
- package/staging/lib/camera-shake/camera-shake.d.ts +0 -28
- package/staging/lib/caustics/caustics.d.ts +0 -47
- package/staging/lib/center/center.d.ts +0 -40
- package/staging/lib/cloud/cloud.d.ts +0 -23
- package/staging/lib/contact-shadows/contact-shadows.d.ts +0 -29
- package/staging/lib/environment/environment-cube.d.ts +0 -11
- package/staging/lib/environment/environment-ground.d.ts +0 -9
- package/staging/lib/environment/environment-inputs.d.ts +0 -28
- package/staging/lib/environment/environment-map.d.ts +0 -10
- package/staging/lib/environment/environment-portal.d.ts +0 -15
- package/staging/lib/environment/utils.d.ts +0 -8
- package/staging/lib/float/float.d.ts +0 -16
- package/staging/lib/sky/sky.d.ts +0 -20
- package/staging/lib/sparkles/sparkles.d.ts +0 -29
- package/staging/lib/spot-light/common.d.ts +0 -3
- package/staging/lib/spot-light/shadow-mesh-input.d.ts +0 -14
- package/staging/lib/spot-light/spot-light-input.d.ts +0 -16
- package/staging/lib/spot-light/spot-light-shadow-no-shader.d.ts +0 -14
- package/staging/lib/spot-light/spot-light-shadow-shader.d.ts +0 -25
- package/staging/lib/spot-light/spot-light-shadow.d.ts +0 -6
- package/staging/lib/spot-light/spot-light.d.ts +0 -17
- package/staging/lib/spot-light/volumetric-mesh.d.ts +0 -15
- package/staging/lib/stage/stage.d.ts +0 -87
- package/staging/lib/stars/stars.d.ts +0 -20
- /package/shaders/{lib/caustics-material → caustics}/caustics-material.d.ts +0 -0
- /package/shaders/{lib/caustics-projection-material → caustics}/caustics-projection-material.d.ts +0 -0
- /package/shaders/{lib/convolution-material → convolution-material}/convolution-material.d.ts +0 -0
- /package/shaders/{lib/discard-material → discard-material}/discard-material.d.ts +0 -0
- /package/shaders/{lib/mesh-reflector-material → mesh-reflector-material}/mesh-reflector-material.d.ts +0 -0
- /package/shaders/{lib/mesh-refraction-material → mesh-refraction-material}/mesh-refraction-material.d.ts +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { injectNgtLoader } from 'angular-three';
|
|
2
|
+
import { DRACOLoader, GLTFLoader, MeshoptDecoder } from 'three-stdlib';
|
|
3
|
+
let dracoLoader = null;
|
|
4
|
+
function _extensions(useDraco, useMeshOpt, extensions) {
|
|
5
|
+
return (loader) => {
|
|
6
|
+
if (extensions) {
|
|
7
|
+
extensions(loader);
|
|
8
|
+
}
|
|
9
|
+
if (useDraco) {
|
|
10
|
+
if (!dracoLoader) {
|
|
11
|
+
dracoLoader = new DRACOLoader();
|
|
12
|
+
}
|
|
13
|
+
dracoLoader.setDecoderPath(typeof useDraco === 'string' ? useDraco : 'https://www.gstatic.com/draco/versioned/decoders/1.5.5/');
|
|
14
|
+
loader.setDRACOLoader(dracoLoader);
|
|
15
|
+
}
|
|
16
|
+
if (useMeshOpt) {
|
|
17
|
+
loader.setMeshoptDecoder(typeof MeshoptDecoder === 'function' ? MeshoptDecoder() : MeshoptDecoder);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function injectNgtsGLTFLoader(path, { useDraco = true, useMeshOpt = true, injector, extensions, } = {}) {
|
|
22
|
+
return injectNgtLoader(() => GLTFLoader, path, {
|
|
23
|
+
extensions: _extensions(useDraco, useMeshOpt, extensions),
|
|
24
|
+
injector,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
injectNgtsGLTFLoader['preload'] = (path, { useDraco = true, useMeshOpt = true, extensions, } = {}) => {
|
|
28
|
+
injectNgtLoader['preload'](() => GLTFLoader, path, _extensions(useDraco, useMeshOpt, extensions));
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbG9hZGVycy9zcmMvZ2x0Zi1sb2FkZXIvZ2x0Zi1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBNEMsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBUSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdFLElBQUksV0FBVyxHQUF1QixJQUFJLENBQUM7QUFFM0MsU0FBUyxXQUFXLENBQUMsUUFBMEIsRUFBRSxVQUFtQixFQUFFLFVBQXlDO0lBQzlHLE9BQU8sQ0FBQyxNQUFvQixFQUFFLEVBQUU7UUFDL0IsSUFBSSxVQUFVLEVBQUU7WUFDZixVQUFVLENBQUMsTUFBb0IsQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxRQUFRLEVBQUU7WUFDYixJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNqQixXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQzthQUNoQztZQUVELFdBQVcsQ0FBQyxjQUFjLENBQ3pCLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx5REFBeUQsQ0FDbkcsQ0FBQztZQUNELE1BQXFCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsSUFBSSxVQUFVLEVBQUU7WUFDZCxNQUFxQixDQUFDLGlCQUFpQixDQUN2QyxPQUFPLGNBQWMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQ3hFLENBQUM7U0FDRjtJQUNGLENBQUMsQ0FBQztBQUNILENBQUM7QUFJRCxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLElBQWdCLEVBQ2hCLEVBQ0MsUUFBUSxHQUFHLElBQUksRUFDZixVQUFVLEdBQUcsSUFBSSxFQUNqQixRQUFRLEVBQ1IsVUFBVSxNQU1QLEVBQUU7SUFFTixPQUFPLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFO1FBQzlDLFVBQVUsRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFDekQsUUFBUTtLQUNSLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUNqQyxJQUFnQixFQUNoQixFQUNDLFFBQVEsR0FBRyxJQUFJLEVBQ2YsVUFBVSxHQUFHLElBQUksRUFDakIsVUFBVSxNQUtQLEVBQUUsRUFDTCxFQUFFO0lBQ0YsZUFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDNUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmplY3RvciwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3ROZ3RMb2FkZXIsIHR5cGUgTmd0TG9hZGVyUmVzdWx0cywgdHlwZSBOZ3RPYmplY3RNYXAgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IERSQUNPTG9hZGVyLCBHTFRGLCBHTFRGTG9hZGVyLCBNZXNob3B0RGVjb2RlciB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbmxldCBkcmFjb0xvYWRlcjogRFJBQ09Mb2FkZXIgfCBudWxsID0gbnVsbDtcblxuZnVuY3Rpb24gX2V4dGVuc2lvbnModXNlRHJhY286IGJvb2xlYW4gfCBzdHJpbmcsIHVzZU1lc2hPcHQ6IGJvb2xlYW4sIGV4dGVuc2lvbnM/OiAobG9hZGVyOiBHTFRGTG9hZGVyKSA9PiB2b2lkKSB7XG5cdHJldHVybiAobG9hZGVyOiBUSFJFRS5Mb2FkZXIpID0+IHtcblx0XHRpZiAoZXh0ZW5zaW9ucykge1xuXHRcdFx0ZXh0ZW5zaW9ucyhsb2FkZXIgYXMgR0xURkxvYWRlcik7XG5cdFx0fVxuXG5cdFx0aWYgKHVzZURyYWNvKSB7XG5cdFx0XHRpZiAoIWRyYWNvTG9hZGVyKSB7XG5cdFx0XHRcdGRyYWNvTG9hZGVyID0gbmV3IERSQUNPTG9hZGVyKCk7XG5cdFx0XHR9XG5cblx0XHRcdGRyYWNvTG9hZGVyLnNldERlY29kZXJQYXRoKFxuXHRcdFx0XHR0eXBlb2YgdXNlRHJhY28gPT09ICdzdHJpbmcnID8gdXNlRHJhY28gOiAnaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vZHJhY28vdmVyc2lvbmVkL2RlY29kZXJzLzEuNS41LycsXG5cdFx0XHQpO1xuXHRcdFx0KGxvYWRlciBhcyBHTFRGTG9hZGVyKS5zZXREUkFDT0xvYWRlcihkcmFjb0xvYWRlcik7XG5cdFx0fVxuXG5cdFx0aWYgKHVzZU1lc2hPcHQpIHtcblx0XHRcdChsb2FkZXIgYXMgR0xURkxvYWRlcikuc2V0TWVzaG9wdERlY29kZXIoXG5cdFx0XHRcdHR5cGVvZiBNZXNob3B0RGVjb2RlciA9PT0gJ2Z1bmN0aW9uJyA/IE1lc2hvcHREZWNvZGVyKCkgOiBNZXNob3B0RGVjb2Rlcixcblx0XHRcdCk7XG5cdFx0fVxuXHR9O1xufVxuXG5leHBvcnQgdHlwZSBOZ3RzR0xURjxUIGV4dGVuZHMgUGFydGlhbDxOZ3RPYmplY3RNYXA+PiA9IEdMVEYgJiBOZ3RPYmplY3RNYXAgJiBUO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tmd0c0dMVEZMb2FkZXI8VFVybCBleHRlbmRzIHN0cmluZyB8IHN0cmluZ1tdIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4oXG5cdHBhdGg6ICgpID0+IFRVcmwsXG5cdHtcblx0XHR1c2VEcmFjbyA9IHRydWUsXG5cdFx0dXNlTWVzaE9wdCA9IHRydWUsXG5cdFx0aW5qZWN0b3IsXG5cdFx0ZXh0ZW5zaW9ucyxcblx0fToge1xuXHRcdHVzZURyYWNvPzogYm9vbGVhbiB8IHN0cmluZztcblx0XHR1c2VNZXNoT3B0PzogYm9vbGVhbjtcblx0XHRpbmplY3Rvcj86IEluamVjdG9yO1xuXHRcdGV4dGVuc2lvbnM/OiAobG9hZGVyOiBHTFRGTG9hZGVyKSA9PiB2b2lkO1xuXHR9ID0ge30sXG4pOiBTaWduYWw8Tmd0TG9hZGVyUmVzdWx0czxUVXJsLCBHTFRGICYgTmd0T2JqZWN0TWFwPiB8IG51bGw+IHtcblx0cmV0dXJuIGluamVjdE5ndExvYWRlcigoKSA9PiBHTFRGTG9hZGVyLCBwYXRoLCB7XG5cdFx0ZXh0ZW5zaW9uczogX2V4dGVuc2lvbnModXNlRHJhY28sIHVzZU1lc2hPcHQsIGV4dGVuc2lvbnMpLFxuXHRcdGluamVjdG9yLFxuXHR9KTtcbn1cblxuaW5qZWN0Tmd0c0dMVEZMb2FkZXJbJ3ByZWxvYWQnXSA9IDxUVXJsIGV4dGVuZHMgc3RyaW5nIHwgc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pihcblx0cGF0aDogKCkgPT4gVFVybCxcblx0e1xuXHRcdHVzZURyYWNvID0gdHJ1ZSxcblx0XHR1c2VNZXNoT3B0ID0gdHJ1ZSxcblx0XHRleHRlbnNpb25zLFxuXHR9OiB7XG5cdFx0dXNlRHJhY28/OiBib29sZWFuIHwgc3RyaW5nO1xuXHRcdHVzZU1lc2hPcHQ/OiBib29sZWFuO1xuXHRcdGV4dGVuc2lvbnM/OiAobG9hZGVyOiBHTFRGTG9hZGVyKSA9PiB2b2lkO1xuXHR9ID0ge30sXG4pID0+IHtcblx0KGluamVjdE5ndExvYWRlciBhcyBhbnkpWydwcmVsb2FkJ10oKCkgPT4gR0xURkxvYWRlciwgcGF0aCwgX2V4dGVuc2lvbnModXNlRHJhY28sIHVzZU1lc2hPcHQsIGV4dGVuc2lvbnMpKTtcbn07XG4iXX0=
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUtc29iYS9sb2FkZXJzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jdWJlLXRleHR1cmUtbG9hZGVyL2N1YmUtdGV4dHVyZS1sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2x0Zi1sb2FkZXIvZ2x0Zi1sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9hZGVyL2xvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm9ncmVzcy9wcm9ncmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZXh0dXJlLWxvYWRlci90ZXh0dXJlLWxvYWRlcic7XG4iXX0=
|
|
1
|
+
export * from './gltf-loader/gltf-loader';
|
|
2
|
+
export * from './loader/loader';
|
|
3
|
+
export * from './progress/progress';
|
|
4
|
+
export * from './texture-loader/texture-loader';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbG9hZGVycy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2x0Zi1sb2FkZXIvZ2x0Zi1sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkZXIvbG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZ3Jlc3MvcHJvZ3Jlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0dXJlLWxvYWRlci90ZXh0dXJlLWxvYWRlcic7XG4iXX0=
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { NgIf } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, computed, effect, signal, untracked, } from '@angular/core';
|
|
3
|
+
import { signalStore } from 'angular-three';
|
|
4
|
+
import { injectNgtsProgress } from '../progress/progress';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
const defaultDataInterpolation = (p) => `Loading ${p.toFixed(2)}%`;
|
|
7
|
+
export class NgtsLoader {
|
|
8
|
+
set _containerClass(containerClass) {
|
|
9
|
+
this.inputs.set({ containerClass });
|
|
10
|
+
}
|
|
11
|
+
set _innerClass(innerClass) {
|
|
12
|
+
this.inputs.set({ innerClass });
|
|
13
|
+
}
|
|
14
|
+
set _barClass(barClass) {
|
|
15
|
+
this.inputs.set({ barClass });
|
|
16
|
+
}
|
|
17
|
+
set _dataClass(dataClass) {
|
|
18
|
+
this.inputs.set({ dataClass });
|
|
19
|
+
}
|
|
20
|
+
set _dataInterpolation(dataInterpolation) {
|
|
21
|
+
this.inputs.set({ dataInterpolation });
|
|
22
|
+
}
|
|
23
|
+
set _initialState(initialState) {
|
|
24
|
+
this.inputs.set({ initialState });
|
|
25
|
+
}
|
|
26
|
+
constructor() {
|
|
27
|
+
this.inputs = signalStore({
|
|
28
|
+
dataInterpolation: defaultDataInterpolation,
|
|
29
|
+
initialState: (active) => active,
|
|
30
|
+
});
|
|
31
|
+
this.progressState = injectNgtsProgress();
|
|
32
|
+
this.active = computed(() => this.progressState().active);
|
|
33
|
+
this.progress = computed(() => this.progressState().progress);
|
|
34
|
+
this.container = this.inputs.select('containerClass');
|
|
35
|
+
this.inner = this.inputs.select('innerClass');
|
|
36
|
+
this.bar = this.inputs.select('barClass');
|
|
37
|
+
this.data = this.inputs.select('dataClass');
|
|
38
|
+
this.shown = signal(this.inputs.get('initialState')(this.active()));
|
|
39
|
+
this.setShown();
|
|
40
|
+
this.updateProgress();
|
|
41
|
+
}
|
|
42
|
+
setShown() {
|
|
43
|
+
effect((onCleanup) => {
|
|
44
|
+
const [active, lastShown] = [this.active(), untracked(this.shown)];
|
|
45
|
+
if (lastShown !== active) {
|
|
46
|
+
const timeoutId = setTimeout(() => {
|
|
47
|
+
this.shown.set(active);
|
|
48
|
+
}, 300);
|
|
49
|
+
onCleanup(() => clearTimeout(timeoutId));
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
updateProgress() {
|
|
54
|
+
let progressRef = 0;
|
|
55
|
+
let rafId;
|
|
56
|
+
const _dataInterpolation = this.inputs.select('dataInterpolation');
|
|
57
|
+
effect((onCleanup) => {
|
|
58
|
+
const [dataInterpolation, progress] = [_dataInterpolation(), this.progress()];
|
|
59
|
+
const updateProgress = () => {
|
|
60
|
+
if (!this.progressSpanRef?.nativeElement)
|
|
61
|
+
return;
|
|
62
|
+
progressRef += (progress - progressRef) / 2;
|
|
63
|
+
if (progressRef > 0.95 * progress || progress === 100)
|
|
64
|
+
progressRef = progress;
|
|
65
|
+
this.progressSpanRef.nativeElement.innerText = dataInterpolation(progressRef);
|
|
66
|
+
if (progressRef < progress) {
|
|
67
|
+
rafId = requestAnimationFrame(updateProgress);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
updateProgress();
|
|
71
|
+
onCleanup(() => cancelAnimationFrame(rafId));
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
75
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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: `
|
|
76
|
+
<div
|
|
77
|
+
*ngIf="shown()"
|
|
78
|
+
class="ngts-loader-container"
|
|
79
|
+
[class]="container() || ''"
|
|
80
|
+
[style.--ngts-loader-container-opacity]="active() ? 1 : 0"
|
|
81
|
+
>
|
|
82
|
+
<div>
|
|
83
|
+
<div class="ngts-loader-inner" [class]="inner() || ''">
|
|
84
|
+
<div
|
|
85
|
+
class="ngts-loader-bar"
|
|
86
|
+
[class]="bar() || ''"
|
|
87
|
+
[style.--ngts-loader-bar-scale]="progress() / 100"
|
|
88
|
+
></div>
|
|
89
|
+
<span #progressSpanRef class="ngts-loader-data" [class]="data() || ''"></span>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
`, 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 }); }
|
|
94
|
+
}
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsLoader, decorators: [{
|
|
96
|
+
type: Component,
|
|
97
|
+
args: [{ selector: 'ngts-loader', standalone: true, template: `
|
|
98
|
+
<div
|
|
99
|
+
*ngIf="shown()"
|
|
100
|
+
class="ngts-loader-container"
|
|
101
|
+
[class]="container() || ''"
|
|
102
|
+
[style.--ngts-loader-container-opacity]="active() ? 1 : 0"
|
|
103
|
+
>
|
|
104
|
+
<div>
|
|
105
|
+
<div class="ngts-loader-inner" [class]="inner() || ''">
|
|
106
|
+
<div
|
|
107
|
+
class="ngts-loader-bar"
|
|
108
|
+
[class]="bar() || ''"
|
|
109
|
+
[style.--ngts-loader-bar-scale]="progress() / 100"
|
|
110
|
+
></div>
|
|
111
|
+
<span #progressSpanRef class="ngts-loader-data" [class]="data() || ''"></span>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
`, imports: [NgIf], changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
|
|
116
|
+
}], ctorParameters: function () { return []; }, propDecorators: { _containerClass: [{
|
|
117
|
+
type: Input,
|
|
118
|
+
args: [{ alias: 'containerClass' }]
|
|
119
|
+
}], _innerClass: [{
|
|
120
|
+
type: Input,
|
|
121
|
+
args: [{ alias: 'innerClass' }]
|
|
122
|
+
}], _barClass: [{
|
|
123
|
+
type: Input,
|
|
124
|
+
args: [{ alias: 'barClass' }]
|
|
125
|
+
}], _dataClass: [{
|
|
126
|
+
type: Input,
|
|
127
|
+
args: [{ alias: 'dataClass' }]
|
|
128
|
+
}], _dataInterpolation: [{
|
|
129
|
+
type: Input,
|
|
130
|
+
args: [{ alias: 'dataInterpolation' }]
|
|
131
|
+
}], _initialState: [{
|
|
132
|
+
type: Input,
|
|
133
|
+
args: [{ alias: 'initialState' }]
|
|
134
|
+
}], progressSpanRef: [{
|
|
135
|
+
type: ViewChild,
|
|
136
|
+
args: ['progressSpanRef']
|
|
137
|
+
}] } });
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2xvYWRlcnMvc3JjL2xvYWRlci9sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUUxRCxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQXFDM0UsTUFBTSxPQUFPLFVBQVU7SUFnQnRCLElBQXdDLGVBQWUsQ0FBQyxjQUFzQjtRQUM3RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQW9DLFdBQVcsQ0FBQyxVQUFrQjtRQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQWtDLFNBQVMsQ0FBQyxRQUFnQjtRQUMzRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQW1DLFVBQVUsQ0FBQyxTQUFpQjtRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFD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IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0SW5wdXQsXG5cdFZpZXdDaGlsZCxcblx0Y29tcHV0ZWQsXG5cdGVmZmVjdCxcblx0c2lnbmFsLFxuXHR1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2lnbmFsU3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGluamVjdE5ndHNQcm9ncmVzcyB9IGZyb20gJy4uL3Byb2dyZXNzL3Byb2dyZXNzJztcblxuY29uc3QgZGVmYXVsdERhdGFJbnRlcnBvbGF0aW9uID0gKHA6IG51bWJlcikgPT4gYExvYWRpbmcgJHtwLnRvRml4ZWQoMil9JWA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c0xvYWRlclN0YXRlIHtcblx0Y29udGFpbmVyQ2xhc3M/OiBzdHJpbmc7XG5cdGlubmVyQ2xhc3M/OiBzdHJpbmc7XG5cdGJhckNsYXNzPzogc3RyaW5nO1xuXHRkYXRhQ2xhc3M/OiBzdHJpbmc7XG5cdGRhdGFJbnRlcnBvbGF0aW9uOiAodmFsdWU6IG51bWJlcikgPT4gc3RyaW5nO1xuXHRpbml0aWFsU3RhdGU6ICh2YWx1ZTogYm9vbGVhbikgPT4gYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1sb2FkZXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxkaXZcblx0XHRcdCpuZ0lmPVwic2hvd24oKVwiXG5cdFx0XHRjbGFzcz1cIm5ndHMtbG9hZGVyLWNvbnRhaW5lclwiXG5cdFx0XHRbY2xhc3NdPVwiY29udGFpbmVyKCkgfHwgJydcIlxuXHRcdFx0W3N0eWxlLi0tbmd0cy1sb2FkZXItY29udGFpbmVyLW9wYWNpdHldPVwiYWN0aXZlKCkgPyAxIDogMFwiXG5cdFx0PlxuXHRcdFx0PGRpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cIm5ndHMtbG9hZGVyLWlubmVyXCIgW2NsYXNzXT1cImlubmVyKCkgfHwgJydcIj5cblx0XHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0XHRjbGFzcz1cIm5ndHMtbG9hZGVyLWJhclwiXG5cdFx0XHRcdFx0XHRbY2xhc3NdPVwiYmFyKCkgfHwgJydcIlxuXHRcdFx0XHRcdFx0W3N0eWxlLi0tbmd0cy1sb2FkZXItYmFyLXNjYWxlXT1cInByb2dyZXNzKCkgLyAxMDBcIlxuXHRcdFx0XHRcdD48L2Rpdj5cblx0XHRcdFx0XHQ8c3BhbiAjcHJvZ3Jlc3NTcGFuUmVmIGNsYXNzPVwibmd0cy1sb2FkZXItZGF0YVwiIFtjbGFzc109XCJkYXRhKCkgfHwgJydcIj48L3NwYW4+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdGAsXG5cdHN0eWxlVXJsczogWycuL2xvYWRlci5jc3MnXSxcblx0aW1wb3J0czogW05nSWZdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0xvYWRlciB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0c0xvYWRlclN0YXRlPih7XG5cdFx0ZGF0YUludGVycG9sYXRpb246IGRlZmF1bHREYXRhSW50ZXJwb2xhdGlvbixcblx0XHRpbml0aWFsU3RhdGU6IChhY3RpdmUpID0+IGFjdGl2ZSxcblx0fSk7XG5cblx0cHJpdmF0ZSBwcm9ncmVzc1N0YXRlID0gaW5qZWN0Tmd0c1Byb2dyZXNzKCk7XG5cblx0YWN0aXZlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcm9ncmVzc1N0YXRlKCkuYWN0aXZlKTtcblx0cHJvZ3Jlc3MgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByb2dyZXNzU3RhdGUoKS5wcm9ncmVzcyk7XG5cblx0Y29udGFpbmVyID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdjb250YWluZXJDbGFzcycpO1xuXHRpbm5lciA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnaW5uZXJDbGFzcycpO1xuXHRiYXIgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2JhckNsYXNzJyk7XG5cdGRhdGEgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2RhdGFDbGFzcycpO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnY29udGFpbmVyQ2xhc3MnIH0pIHNldCBfY29udGFpbmVyQ2xhc3MoY29udGFpbmVyQ2xhc3M6IHN0cmluZykge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGNvbnRhaW5lckNsYXNzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdpbm5lckNsYXNzJyB9KSBzZXQgX2lubmVyQ2xhc3MoaW5uZXJDbGFzczogc3RyaW5nKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgaW5uZXJDbGFzcyB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnYmFyQ2xhc3MnIH0pIHNldCBfYmFyQ2xhc3MoYmFyQ2xhc3M6IHN0cmluZykge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGJhckNsYXNzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdkYXRhQ2xhc3MnIH0pIHNldCBfZGF0YUNsYXNzKGRhdGFDbGFzczogc3RyaW5nKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZGF0YUNsYXNzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdkYXRhSW50ZXJwb2xhdGlvbicgfSkgc2V0IF9kYXRhSW50ZXJwb2xhdGlvbihkYXRhSW50ZXJwb2xhdGlvbjogKHZhbHVlOiBudW1iZXIpID0+IHN0cmluZykge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGRhdGFJbnRlcnBvbGF0aW9uIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdpbml0aWFsU3RhdGUnIH0pIHNldCBfaW5pdGlhbFN0YXRlKGluaXRpYWxTdGF0ZTogKHZhbHVlOiBib29sZWFuKSA9PiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgaW5pdGlhbFN0YXRlIH0pO1xuXHR9XG5cblx0QFZpZXdDaGlsZCgncHJvZ3Jlc3NTcGFuUmVmJykgcHJvZ3Jlc3NTcGFuUmVmPzogRWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+O1xuXG5cdHNob3duID0gc2lnbmFsKHRoaXMuaW5wdXRzLmdldCgnaW5pdGlhbFN0YXRlJykodGhpcy5hY3RpdmUoKSkpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMuc2V0U2hvd24oKTtcblx0XHR0aGlzLnVwZGF0ZVByb2dyZXNzKCk7XG5cdH1cblxuXHRwcml2YXRlIHNldFNob3duKCkge1xuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBbYWN0aXZlLCBsYXN0U2hvd25dID0gW3RoaXMuYWN0aXZlKCksIHVudHJhY2tlZCh0aGlzLnNob3duKV07XG5cdFx0XHRpZiAobGFzdFNob3duICE9PSBhY3RpdmUpIHtcblx0XHRcdFx0Y29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93bi5zZXQoYWN0aXZlKTtcblx0XHRcdFx0fSwgMzAwKTtcblx0XHRcdFx0b25DbGVhbnVwKCgpID0+IGNsZWFyVGltZW91dCh0aW1lb3V0SWQpKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgdXBkYXRlUHJvZ3Jlc3MoKSB7XG5cdFx0bGV0IHByb2dyZXNzUmVmID0gMDtcblx0XHRsZXQgcmFmSWQ6IFJldHVyblR5cGU8dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT47XG5cblx0XHRjb25zdCBfZGF0YUludGVycG9sYXRpb24gPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2RhdGFJbnRlcnBvbGF0aW9uJyk7XG5cblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgW2RhdGFJbnRlcnBvbGF0aW9uLCBwcm9ncmVzc10gPSBbX2RhdGFJbnRlcnBvbGF0aW9uKCksIHRoaXMucHJvZ3Jlc3MoKV07XG5cdFx0XHRjb25zdCB1cGRhdGVQcm9ncmVzcyA9ICgpID0+IHtcblx0XHRcdFx0aWYgKCF0aGlzLnByb2dyZXNzU3BhblJlZj8ubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xuXHRcdFx0XHRwcm9ncmVzc1JlZiArPSAocHJvZ3Jlc3MgLSBwcm9ncmVzc1JlZikgLyAyO1xuXHRcdFx0XHRpZiAocHJvZ3Jlc3NSZWYgPiAwLjk1ICogcHJvZ3Jlc3MgfHwgcHJvZ3Jlc3MgPT09IDEwMCkgcHJvZ3Jlc3NSZWYgPSBwcm9ncmVzcztcblx0XHRcdFx0dGhpcy5wcm9ncmVzc1NwYW5SZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQgPSBkYXRhSW50ZXJwb2xhdGlvbihwcm9ncmVzc1JlZik7XG5cdFx0XHRcdGlmIChwcm9ncmVzc1JlZiA8IHByb2dyZXNzKSB7XG5cdFx0XHRcdFx0cmFmSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodXBkYXRlUHJvZ3Jlc3MpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXHRcdFx0dXBkYXRlUHJvZ3Jlc3MoKTtcblx0XHRcdG9uQ2xlYW51cCgoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShyYWZJZCkpO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ChangeDetectorRef, inject, runInInjectionContext, signal } from '@angular/core';
|
|
2
|
+
import { assertInjectionContext, safeDetectChanges } from 'angular-three';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
export function injectNgtsProgress(injector) {
|
|
5
|
+
injector = assertInjectionContext(injectNgtsProgress, injector);
|
|
6
|
+
return runInInjectionContext(injector, () => {
|
|
7
|
+
const cdr = inject(ChangeDetectorRef);
|
|
8
|
+
const progress = signal({ errors: [], active: false, progress: 0, item: '', loaded: 0, total: 0 });
|
|
9
|
+
let saveLastTotalLoaded = 0;
|
|
10
|
+
THREE.DefaultLoadingManager.onStart = (item, loaded, total) => {
|
|
11
|
+
progress.update((prev) => ({
|
|
12
|
+
...prev,
|
|
13
|
+
active: true,
|
|
14
|
+
item,
|
|
15
|
+
loaded,
|
|
16
|
+
total,
|
|
17
|
+
progress: ((loaded - saveLastTotalLoaded) / (total - saveLastTotalLoaded)) * 100,
|
|
18
|
+
}));
|
|
19
|
+
safeDetectChanges(cdr);
|
|
20
|
+
};
|
|
21
|
+
THREE.DefaultLoadingManager.onLoad = () => {
|
|
22
|
+
progress.update((prev) => ({ ...prev, active: false }));
|
|
23
|
+
safeDetectChanges(cdr);
|
|
24
|
+
cdr.detectChanges();
|
|
25
|
+
};
|
|
26
|
+
THREE.DefaultLoadingManager.onError = (url) => {
|
|
27
|
+
progress.update((prev) => ({ ...prev, errors: [...prev.errors, url] }));
|
|
28
|
+
safeDetectChanges(cdr);
|
|
29
|
+
};
|
|
30
|
+
THREE.DefaultLoadingManager.onProgress = (item, loaded, total) => {
|
|
31
|
+
if (loaded === total)
|
|
32
|
+
saveLastTotalLoaded = total;
|
|
33
|
+
progress.update((prev) => ({
|
|
34
|
+
...prev,
|
|
35
|
+
item,
|
|
36
|
+
loaded,
|
|
37
|
+
total,
|
|
38
|
+
progress: ((loaded - saveLastTotalLoaded) / (total - saveLastTotalLoaded)) * 100 || 100,
|
|
39
|
+
}));
|
|
40
|
+
safeDetectChanges(cdr);
|
|
41
|
+
};
|
|
42
|
+
return progress.asReadonly();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbG9hZGVycy9zcmMvcHJvZ3Jlc3MvcHJvZ3Jlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUvQixNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBbUI7SUFDckQsUUFBUSxHQUFHLHNCQUFzQixDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLE9BQU8scUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUMzQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV0QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBT3BCLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzdELFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzFCLEdBQUcsSUFBSTtnQkFDUCxNQUFNLEVBQUUsSUFBSTtnQkFDWixJQUFJO2dCQUNKLE1BQU07Z0JBQ04sS0FBSztnQkFDTCxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLENBQUMsR0FBRyxHQUFHO2FBQ2hGLENBQUMsQ0FBQyxDQUFDO1lBQ0osaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDO1FBRUYsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDekMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEQsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkIsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUVGLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM3QyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztRQUVGLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2hFLElBQUksTUFBTSxLQUFLLEtBQUs7Z0JBQUUsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1lBQ2xELFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzFCLEdBQUcsSUFBSTtnQkFDUCxJQUFJO2dCQUNKLE1BQU07Z0JBQ04sS0FBSztnQkFDTCxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRzthQUN2RixDQUFDLENBQUMsQ0FBQztZQUNKLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztRQUVGLE9BQU8sUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlCLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBpbmplY3QsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgc2lnbmFsLCB0eXBlIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3Rpb25Db250ZXh0LCBzYWZlRGV0ZWN0Q2hhbmdlcyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tmd0c1Byb2dyZXNzKGluamVjdG9yPzogSW5qZWN0b3IpIHtcblx0aW5qZWN0b3IgPSBhc3NlcnRJbmplY3Rpb25Db250ZXh0KGluamVjdE5ndHNQcm9ncmVzcywgaW5qZWN0b3IpO1xuXHRyZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiB7XG5cdFx0Y29uc3QgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuXHRcdGNvbnN0IHByb2dyZXNzID0gc2lnbmFsPHtcblx0XHRcdGVycm9yczogc3RyaW5nW107XG5cdFx0XHRhY3RpdmU6IGJvb2xlYW47XG5cdFx0XHRwcm9ncmVzczogbnVtYmVyO1xuXHRcdFx0aXRlbTogc3RyaW5nO1xuXHRcdFx0bG9hZGVkOiBudW1iZXI7XG5cdFx0XHR0b3RhbDogbnVtYmVyO1xuXHRcdH0+KHsgZXJyb3JzOiBbXSwgYWN0aXZlOiBmYWxzZSwgcHJvZ3Jlc3M6IDAsIGl0ZW06ICcnLCBsb2FkZWQ6IDAsIHRvdGFsOiAwIH0pO1xuXG5cdFx0bGV0IHNhdmVMYXN0VG90YWxMb2FkZWQgPSAwO1xuXG5cdFx0VEhSRUUuRGVmYXVsdExvYWRpbmdNYW5hZ2VyLm9uU3RhcnQgPSAoaXRlbSwgbG9hZGVkLCB0b3RhbCkgPT4ge1xuXHRcdFx0cHJvZ3Jlc3MudXBkYXRlKChwcmV2KSA9PiAoe1xuXHRcdFx0XHQuLi5wcmV2LFxuXHRcdFx0XHRhY3RpdmU6IHRydWUsXG5cdFx0XHRcdGl0ZW0sXG5cdFx0XHRcdGxvYWRlZCxcblx0XHRcdFx0dG90YWwsXG5cdFx0XHRcdHByb2dyZXNzOiAoKGxvYWRlZCAtIHNhdmVMYXN0VG90YWxMb2FkZWQpIC8gKHRvdGFsIC0gc2F2ZUxhc3RUb3RhbExvYWRlZCkpICogMTAwLFxuXHRcdFx0fSkpO1xuXHRcdFx0c2FmZURldGVjdENoYW5nZXMoY2RyKTtcblx0XHR9O1xuXG5cdFx0VEhSRUUuRGVmYXVsdExvYWRpbmdNYW5hZ2VyLm9uTG9hZCA9ICgpID0+IHtcblx0XHRcdHByb2dyZXNzLnVwZGF0ZSgocHJldikgPT4gKHsgLi4ucHJldiwgYWN0aXZlOiBmYWxzZSB9KSk7XG5cdFx0XHRzYWZlRGV0ZWN0Q2hhbmdlcyhjZHIpO1xuXHRcdFx0Y2RyLmRldGVjdENoYW5nZXMoKTtcblx0XHR9O1xuXG5cdFx0VEhSRUUuRGVmYXVsdExvYWRpbmdNYW5hZ2VyLm9uRXJyb3IgPSAodXJsKSA9PiB7XG5cdFx0XHRwcm9ncmVzcy51cGRhdGUoKHByZXYpID0+ICh7IC4uLnByZXYsIGVycm9yczogWy4uLnByZXYuZXJyb3JzLCB1cmxdIH0pKTtcblx0XHRcdHNhZmVEZXRlY3RDaGFuZ2VzKGNkcik7XG5cdFx0fTtcblxuXHRcdFRIUkVFLkRlZmF1bHRMb2FkaW5nTWFuYWdlci5vblByb2dyZXNzID0gKGl0ZW0sIGxvYWRlZCwgdG90YWwpID0+IHtcblx0XHRcdGlmIChsb2FkZWQgPT09IHRvdGFsKSBzYXZlTGFzdFRvdGFsTG9hZGVkID0gdG90YWw7XG5cdFx0XHRwcm9ncmVzcy51cGRhdGUoKHByZXYpID0+ICh7XG5cdFx0XHRcdC4uLnByZXYsXG5cdFx0XHRcdGl0ZW0sXG5cdFx0XHRcdGxvYWRlZCxcblx0XHRcdFx0dG90YWwsXG5cdFx0XHRcdHByb2dyZXNzOiAoKGxvYWRlZCAtIHNhdmVMYXN0VG90YWxMb2FkZWQpIC8gKHRvdGFsIC0gc2F2ZUxhc3RUb3RhbExvYWRlZCkpICogMTAwIHx8IDEwMCxcblx0XHRcdH0pKTtcblx0XHRcdHNhZmVEZXRlY3RDaGFuZ2VzKGNkcik7XG5cdFx0fTtcblxuXHRcdHJldHVybiBwcm9ncmVzcy5hc1JlYWRvbmx5KCk7XG5cdH0pO1xufVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { effect, runInInjectionContext } from '@angular/core';
|
|
2
|
+
import { assertInjectionContext, injectNgtLoader, injectNgtStore } from 'angular-three';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
export function injectNgtsTextureLoader(input, { onLoad, injector, } = {}) {
|
|
5
|
+
injector = assertInjectionContext(injectNgtsTextureLoader, injector);
|
|
6
|
+
return runInInjectionContext(injector, () => {
|
|
7
|
+
const store = injectNgtStore();
|
|
8
|
+
const result = injectNgtLoader(() => THREE.TextureLoader, input, { injector });
|
|
9
|
+
effect(() => {
|
|
10
|
+
const textures = result();
|
|
11
|
+
if (!textures)
|
|
12
|
+
return;
|
|
13
|
+
const array = Array.isArray(textures)
|
|
14
|
+
? textures
|
|
15
|
+
: textures instanceof THREE.Texture
|
|
16
|
+
? [textures]
|
|
17
|
+
: Object.values(textures);
|
|
18
|
+
if (onLoad)
|
|
19
|
+
onLoad(array);
|
|
20
|
+
array.forEach(store.get('gl').initTexture);
|
|
21
|
+
});
|
|
22
|
+
return result;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
injectNgtsTextureLoader['preload'] = (input) => {
|
|
26
|
+
injectNgtLoader.preload(() => THREE.TextureLoader, input);
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZS1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbG9hZGVycy9zcmMvdGV4dHVyZS1sb2FkZXIvdGV4dHVyZS1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE1BQU0sVUFBVSx1QkFBdUIsQ0FDdEMsS0FBbUIsRUFDbkIsRUFDQyxNQUFNLEVBQ04sUUFBUSxNQUlMLEVBQUU7SUFFTixRQUFRLEdBQUcsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckUsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQzNDLE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFL0UsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sUUFBUSxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFDdEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7Z0JBQ3BDLENBQUMsQ0FBQyxRQUFRO2dCQUNWLENBQUMsQ0FBQyxRQUFRLFlBQVksS0FBSyxDQUFDLE9BQU87b0JBQ25DLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztvQkFDWixDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzQixJQUFJLE1BQU07Z0JBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsdUJBQXVCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FDcEMsS0FBbUIsRUFDbEIsRUFBRTtJQUNGLGVBQXVCLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDcEUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZWZmZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQsIHR5cGUgSW5qZWN0b3IsIHR5cGUgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3Rpb25Db250ZXh0LCBpbmplY3ROZ3RMb2FkZXIsIGluamVjdE5ndFN0b3JlLCB0eXBlIE5ndExvYWRlclJlc3VsdHMgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5ndHNUZXh0dXJlTG9hZGVyPFRJbnB1dCBleHRlbmRzIHN0cmluZ1tdIHwgc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4oXG5cdGlucHV0OiAoKSA9PiBUSW5wdXQsXG5cdHtcblx0XHRvbkxvYWQsXG5cdFx0aW5qZWN0b3IsXG5cdH06IHtcblx0XHRvbkxvYWQ/OiAodGV4dHVyZTogVEhSRUUuVGV4dHVyZSB8IFRIUkVFLlRleHR1cmVbXSkgPT4gdm9pZDtcblx0XHRpbmplY3Rvcj86IEluamVjdG9yO1xuXHR9ID0ge30sXG4pOiBTaWduYWw8Tmd0TG9hZGVyUmVzdWx0czxUSW5wdXQsIFRIUkVFLlRleHR1cmU+IHwgbnVsbD4ge1xuXHRpbmplY3RvciA9IGFzc2VydEluamVjdGlvbkNvbnRleHQoaW5qZWN0Tmd0c1RleHR1cmVMb2FkZXIsIGluamVjdG9yKTtcblx0cmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4ge1xuXHRcdGNvbnN0IHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblx0XHRjb25zdCByZXN1bHQgPSBpbmplY3ROZ3RMb2FkZXIoKCkgPT4gVEhSRUUuVGV4dHVyZUxvYWRlciwgaW5wdXQsIHsgaW5qZWN0b3IgfSk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgdGV4dHVyZXMgPSByZXN1bHQoKTtcblx0XHRcdGlmICghdGV4dHVyZXMpIHJldHVybjtcblx0XHRcdGNvbnN0IGFycmF5ID0gQXJyYXkuaXNBcnJheSh0ZXh0dXJlcylcblx0XHRcdFx0PyB0ZXh0dXJlc1xuXHRcdFx0XHQ6IHRleHR1cmVzIGluc3RhbmNlb2YgVEhSRUUuVGV4dHVyZVxuXHRcdFx0XHQ/IFt0ZXh0dXJlc11cblx0XHRcdFx0OiBPYmplY3QudmFsdWVzKHRleHR1cmVzKTtcblx0XHRcdGlmIChvbkxvYWQpIG9uTG9hZChhcnJheSk7XG5cdFx0XHRhcnJheS5mb3JFYWNoKHN0b3JlLmdldCgnZ2wnKS5pbml0VGV4dHVyZSk7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9KTtcbn1cblxuaW5qZWN0Tmd0c1RleHR1cmVMb2FkZXJbJ3ByZWxvYWQnXSA9IDxUSW5wdXQgZXh0ZW5kcyBzdHJpbmdbXSB8IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KFxuXHRpbnB1dDogKCkgPT4gVElucHV0LFxuKSA9PiB7XG5cdChpbmplY3ROZ3RMb2FkZXIgYXMgYW55KS5wcmVsb2FkKCgpID0+IFRIUkVFLlRleHR1cmVMb2FkZXIsIGlucHV0KTtcbn07XG4iXX0=
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1zb2JhLW1hdGVyaWFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9tYXRlcmlhbHMvc3JjL2FuZ3VsYXItdGhyZWUtc29iYS1tYXRlcmlhbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './
|
|
6
|
-
|
|
1
|
+
export * from './mesh-distort-material/mesh-distort-material';
|
|
2
|
+
export * from './mesh-reflector-material/mesh-reflector-material';
|
|
3
|
+
export * from './mesh-refraction-material/mesh-refraction-material';
|
|
4
|
+
export * from './mesh-transmission-material/mesh-transmission-material';
|
|
5
|
+
export * from './mesh-wobble-material/mesh-wobble-material';
|
|
6
|
+
export * from './point-material/point-material';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWVzaC1kaXN0b3J0LW1hdGVyaWFsL21lc2gtZGlzdG9ydC1tYXRlcmlhbCc7XG5leHBvcnQgKiBmcm9tICcuL21lc2gtcmVmbGVjdG9yLW1hdGVyaWFsL21lc2gtcmVmbGVjdG9yLW1hdGVyaWFsJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzaC1yZWZyYWN0aW9uLW1hdGVyaWFsL21lc2gtcmVmcmFjdGlvbi1tYXRlcmlhbCc7XG5leHBvcnQgKiBmcm9tICcuL21lc2gtdHJhbnNtaXNzaW9uLW1hdGVyaWFsL21lc2gtdHJhbnNtaXNzaW9uLW1hdGVyaWFsJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzaC13b2JibGUtbWF0ZXJpYWwvbWVzaC13b2JibGUtbWF0ZXJpYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9wb2ludC1tYXRlcmlhbC9wb2ludC1tYXRlcmlhbCc7XG4iXX0=
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
2
|
+
import { injectBeforeRender, injectNgtRef, NgtArgs, signalStore } from 'angular-three';
|
|
3
|
+
import { injectNgtsMeshDistortMaterial } from 'angular-three-soba/shaders';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NgtsMeshDistortMaterial {
|
|
6
|
+
set _time(time) {
|
|
7
|
+
this.inputs.set({ time });
|
|
8
|
+
}
|
|
9
|
+
set _distort(distort) {
|
|
10
|
+
this.inputs.set({ distort });
|
|
11
|
+
}
|
|
12
|
+
set _radius(radius) {
|
|
13
|
+
this.inputs.set({ radius });
|
|
14
|
+
}
|
|
15
|
+
set _speed(speed) {
|
|
16
|
+
this.inputs.set({ speed });
|
|
17
|
+
}
|
|
18
|
+
constructor() {
|
|
19
|
+
this.inputs = signalStore({
|
|
20
|
+
speed: 1,
|
|
21
|
+
time: 0,
|
|
22
|
+
distort: 0.4,
|
|
23
|
+
radius: 1,
|
|
24
|
+
});
|
|
25
|
+
this.materialRef = injectNgtRef();
|
|
26
|
+
this.MeshDistortMaterial = injectNgtsMeshDistortMaterial();
|
|
27
|
+
this.material = new this.MeshDistortMaterial();
|
|
28
|
+
this.time = this.inputs.select('time');
|
|
29
|
+
this.distort = this.inputs.select('distort');
|
|
30
|
+
this.radius = this.inputs.select('radius');
|
|
31
|
+
injectBeforeRender(({ clock }) => {
|
|
32
|
+
this.material.time = clock.getElapsedTime() * this.inputs.get('speed');
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsMeshDistortMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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: `
|
|
37
|
+
<ngt-primitive
|
|
38
|
+
*args="[material]"
|
|
39
|
+
[ref]="materialRef"
|
|
40
|
+
[time]="time()"
|
|
41
|
+
[distort]="distort()"
|
|
42
|
+
[radius]="radius()"
|
|
43
|
+
ngtCompound
|
|
44
|
+
attach="material"
|
|
45
|
+
/>
|
|
46
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsMeshDistortMaterial, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{
|
|
51
|
+
selector: 'ngts-mesh-distort-material',
|
|
52
|
+
standalone: true,
|
|
53
|
+
template: `
|
|
54
|
+
<ngt-primitive
|
|
55
|
+
*args="[material]"
|
|
56
|
+
[ref]="materialRef"
|
|
57
|
+
[time]="time()"
|
|
58
|
+
[distort]="distort()"
|
|
59
|
+
[radius]="radius()"
|
|
60
|
+
ngtCompound
|
|
61
|
+
attach="material"
|
|
62
|
+
/>
|
|
63
|
+
`,
|
|
64
|
+
imports: [NgtArgs],
|
|
65
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: function () { return []; }, propDecorators: { materialRef: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], _time: [{
|
|
70
|
+
type: Input,
|
|
71
|
+
args: [{ alias: 'time' }]
|
|
72
|
+
}], _distort: [{
|
|
73
|
+
type: Input,
|
|
74
|
+
args: [{ alias: 'distort' }]
|
|
75
|
+
}], _radius: [{
|
|
76
|
+
type: Input,
|
|
77
|
+
args: [{ alias: 'radius' }]
|
|
78
|
+
}], _speed: [{
|
|
79
|
+
type: Input,
|
|
80
|
+
args: [{ alias: 'speed' }]
|
|
81
|
+
}] } });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC1kaXN0b3J0LW1hdGVyaWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21hdGVyaWFscy9zcmMvbWVzaC1kaXN0b3J0LW1hdGVyaWFsL21lc2gtZGlzdG9ydC1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQWdDLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSw2QkFBNkIsRUFBdUIsTUFBTSw0QkFBNEIsQ0FBQzs7QUFtQ2hHLE1BQU0sT0FBTyx1QkFBdUI7SUFVbkMsSUFBOEIsS0FBSyxDQUFDLElBQVk7UUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFpQyxRQUFRLENBQUMsT0FBZTtRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQWdDLE9BQU8sQ0FBQyxNQUFjO1FBQ3JELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBK0IsTUFBTSxDQUFDLEtBQWE7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFTRDtRQWhDUSxXQUFNLEdBQUcsV0FBVyxDQUErQjtZQUMxRCxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksRUFBRSxDQUFDO1lBQ1AsT0FBTyxFQUFFLEdBQUc7WUFDWixNQUFNLEVBQUUsQ0FBQztTQUNULENBQUMsQ0FBQztRQUVNLGdCQUFXLEdBQUcsWUFBWSxFQUFxQyxDQUFDO1FBa0JqRSx3QkFBbUIsR0FBRyw2QkFBNkIsRUFBRSxDQUFDO1FBQzlELGFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRTFDLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxZQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBR3JDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBckNXLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHdQQWR6Qjs7Ozs7Ozs7OztFQVVULDREQUNTLE9BQU87OzJGQUdMLHVCQUF1QjtrQkFqQm5DLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7OztFQVVUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2pDOzBFQVNTLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRXdCLEtBQUs7c0JBQWxDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQUlTLFFBQVE7c0JBQXhDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO2dCQUlLLE9BQU87c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2dCQUlLLE1BQU07c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3ROZ3RSZWYsIE5ndEFyZ3MsIHNpZ25hbFN0b3JlLCB0eXBlIE5ndE1lc2hQaHlzaWNhbE1hdGVyaWFsIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBpbmplY3ROZ3RzTWVzaERpc3RvcnRNYXRlcmlhbCwgTWVzaERpc3RvcnRNYXRlcmlhbCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9zaGFkZXJzJztcblxuZXhwb3J0IHR5cGUgTmd0c01lc2hEaXN0b3J0TWF0ZXJpYWxTdGF0ZSA9IHtcblx0dGltZTogbnVtYmVyO1xuXHRkaXN0b3J0OiBudW1iZXI7XG5cdHJhZGl1czogbnVtYmVyO1xuXHRzcGVlZDogbnVtYmVyO1xufTtcblxuZGVjbGFyZSBnbG9iYWwge1xuXHRpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcblx0XHQvKipcblx0XHQgKiBAZXh0ZW5kcyBuZ3QtbWVzaC1waHlzaWNhbC1tYXRlcmlhbFxuXHRcdCAqL1xuXHRcdCduZ3RzLW1lc2gtZGlzdG9ydC1tYXRlcmlhbCc6IE5ndHNNZXNoRGlzdG9ydE1hdGVyaWFsU3RhdGUgJiBOZ3RNZXNoUGh5c2ljYWxNYXRlcmlhbDtcblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLW1lc2gtZGlzdG9ydC1tYXRlcmlhbCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1wcmltaXRpdmVcblx0XHRcdCphcmdzPVwiW21hdGVyaWFsXVwiXG5cdFx0XHRbcmVmXT1cIm1hdGVyaWFsUmVmXCJcblx0XHRcdFt0aW1lXT1cInRpbWUoKVwiXG5cdFx0XHRbZGlzdG9ydF09XCJkaXN0b3J0KClcIlxuXHRcdFx0W3JhZGl1c109XCJyYWRpdXMoKVwiXG5cdFx0XHRuZ3RDb21wb3VuZFxuXHRcdFx0YXR0YWNoPVwibWF0ZXJpYWxcIlxuXHRcdC8+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RBcmdzXSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzTWVzaERpc3RvcnRNYXRlcmlhbCB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0c01lc2hEaXN0b3J0TWF0ZXJpYWxTdGF0ZT4oe1xuXHRcdHNwZWVkOiAxLFxuXHRcdHRpbWU6IDAsXG5cdFx0ZGlzdG9ydDogMC40LFxuXHRcdHJhZGl1czogMSxcblx0fSk7XG5cblx0QElucHV0KCkgbWF0ZXJpYWxSZWYgPSBpbmplY3ROZ3RSZWY8SW5zdGFuY2VUeXBlPE1lc2hEaXN0b3J0TWF0ZXJpYWw+PigpO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAndGltZScgfSkgc2V0IF90aW1lKHRpbWU6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHRpbWUgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2Rpc3RvcnQnIH0pIHNldCBfZGlzdG9ydChkaXN0b3J0OiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBkaXN0b3J0IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdyYWRpdXMnIH0pIHNldCBfcmFkaXVzKHJhZGl1czogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgcmFkaXVzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdzcGVlZCcgfSkgc2V0IF9zcGVlZChzcGVlZDogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgc3BlZWQgfSk7XG5cdH1cblxuXHRwcml2YXRlIE1lc2hEaXN0b3J0TWF0ZXJpYWwgPSBpbmplY3ROZ3RzTWVzaERpc3RvcnRNYXRlcmlhbCgpO1xuXHRtYXRlcmlhbCA9IG5ldyB0aGlzLk1lc2hEaXN0b3J0TWF0ZXJpYWwoKTtcblxuXHR0aW1lID0gdGhpcy5pbnB1dHMuc2VsZWN0KCd0aW1lJyk7XG5cdGRpc3RvcnQgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2Rpc3RvcnQnKTtcblx0cmFkaXVzID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdyYWRpdXMnKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRpbmplY3RCZWZvcmVSZW5kZXIoKHsgY2xvY2sgfSkgPT4ge1xuXHRcdFx0dGhpcy5tYXRlcmlhbC50aW1lID0gY2xvY2suZ2V0RWxhcHNlZFRpbWUoKSAqIHRoaXMuaW5wdXRzLmdldCgnc3BlZWQnKTtcblx0XHR9KTtcblx0fVxufVxuIl19
|