angular-three-soba 2.0.0-beta.26 → 2.0.0-beta.261
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 +62 -4
- package/abstractions/README.md +278 -2
- package/abstractions/index.d.ts +11 -6
- package/abstractions/lib/catmull-rom-line.d.ts +648 -0
- package/abstractions/lib/cubic-bezier-line.d.ts +19 -0
- package/abstractions/lib/edges.d.ts +850 -0
- package/abstractions/lib/gradient-texture.d.ts +24 -0
- package/abstractions/lib/grid.d.ts +339 -0
- package/abstractions/lib/helper.d.ts +25 -0
- package/abstractions/lib/line.d.ts +41 -0
- package/abstractions/lib/prism-geometry.d.ts +30 -0
- package/abstractions/lib/quadratic-bezier-line.d.ts +21 -0
- package/abstractions/lib/text-3d.d.ts +338 -0
- package/abstractions/lib/text.d.ts +55 -0
- package/cameras/README.md +91 -2
- package/cameras/index.d.ts +4 -4
- package/cameras/lib/camera-content.d.ts +10 -0
- package/cameras/lib/cube-camera.d.ts +38 -0
- package/cameras/lib/orthographic-camera.d.ts +40 -0
- package/cameras/lib/perspective-camera.d.ts +36 -0
- package/controls/README.md +95 -2
- package/controls/index.d.ts +2 -1
- package/controls/lib/camera-controls.d.ts +31 -0
- package/controls/lib/orbit-controls.d.ts +38 -0
- package/esm2022/abstractions/index.mjs +12 -7
- package/esm2022/abstractions/lib/catmull-rom-line.mjs +76 -0
- package/esm2022/abstractions/lib/cubic-bezier-line.mjs +51 -0
- package/esm2022/abstractions/lib/edges.mjs +70 -0
- package/esm2022/abstractions/lib/gradient-texture.mjs +91 -0
- package/esm2022/abstractions/lib/grid.mjs +103 -0
- package/esm2022/abstractions/lib/helper.mjs +80 -0
- package/esm2022/abstractions/lib/line.mjs +123 -0
- package/esm2022/abstractions/lib/prism-geometry.mjs +55 -0
- package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +73 -0
- package/esm2022/abstractions/lib/text-3d.mjs +98 -0
- package/esm2022/abstractions/lib/text.mjs +92 -0
- package/esm2022/cameras/index.mjs +5 -5
- package/esm2022/cameras/lib/camera-content.mjs +14 -0
- package/esm2022/cameras/lib/cube-camera.mjs +111 -0
- package/esm2022/cameras/lib/orthographic-camera.mjs +131 -0
- package/esm2022/cameras/lib/perspective-camera.mjs +104 -0
- package/esm2022/controls/index.mjs +3 -2
- package/esm2022/controls/lib/camera-controls.mjs +127 -0
- package/esm2022/controls/lib/orbit-controls.mjs +126 -0
- package/esm2022/loaders/index.mjs +6 -5
- package/esm2022/loaders/lib/font-loader.mjs +49 -0
- package/esm2022/loaders/lib/gltf-loader.mjs +33 -0
- package/esm2022/loaders/lib/loader.mjs +109 -0
- package/esm2022/loaders/lib/progress.mjs +51 -0
- package/esm2022/loaders/lib/texture-loader.mjs +32 -0
- package/esm2022/materials/index.mjs +7 -7
- package/esm2022/materials/lib/custom-shader-material.mjs +71 -0
- package/esm2022/materials/lib/mesh-distort-material.mjs +42 -0
- package/esm2022/materials/lib/mesh-reflector-material.mjs +278 -0
- package/esm2022/materials/lib/mesh-refraction-material.mjs +144 -0
- package/esm2022/materials/lib/mesh-transmission-material.mjs +188 -0
- package/esm2022/materials/lib/mesh-wobble-material.mjs +42 -0
- package/esm2022/misc/index.mjs +10 -14
- package/esm2022/misc/lib/animations.mjs +74 -0
- package/esm2022/misc/lib/bake-shadows.mjs +26 -0
- package/esm2022/misc/lib/computed-attribute.mjs +56 -0
- package/esm2022/misc/lib/constants.mjs +5 -0
- package/esm2022/misc/lib/decal.mjs +135 -0
- package/esm2022/misc/lib/deprecated.mjs +15 -0
- package/esm2022/misc/lib/depth-buffer.mjs +39 -0
- package/esm2022/misc/lib/fbo.mjs +89 -0
- package/esm2022/misc/lib/sampler.mjs +121 -0
- package/esm2022/shaders/index.mjs +3 -18
- package/esm2022/shaders/lib/grid-material.mjs +81 -0
- package/esm2022/shaders/lib/mesh-refraction-material.mjs +163 -0
- package/esm2022/staging/index.mjs +19 -22
- package/esm2022/staging/lib/accumulative-shadows.mjs +182 -0
- package/esm2022/staging/lib/backdrop.mjs +73 -0
- package/esm2022/staging/lib/bb-anchor.mjs +58 -0
- package/esm2022/staging/lib/bounds.mjs +286 -0
- package/esm2022/staging/lib/camera-shake.mjs +69 -0
- package/esm2022/staging/lib/caustics.mjs +188 -0
- package/esm2022/staging/lib/center.mjs +113 -0
- package/esm2022/staging/lib/contact-shadows.mjs +201 -0
- package/esm2022/staging/lib/environment.mjs +465 -0
- package/esm2022/staging/lib/float.mjs +60 -0
- package/esm2022/staging/lib/lightformer.mjs +107 -0
- package/esm2022/staging/lib/matcap-texture.mjs +81 -0
- package/esm2022/staging/lib/normal-texture.mjs +85 -0
- package/esm2022/staging/lib/randomized-lights.mjs +104 -0
- package/esm2022/staging/lib/render-texture.mjs +213 -0
- package/esm2022/staging/lib/sky.mjs +86 -0
- package/esm2022/staging/lib/spot-light.mjs +450 -0
- package/esm2022/staging/lib/stage.mjs +236 -0
- package/esm2022/vanilla-exports/angular-three-soba-vanilla-exports.mjs +5 -0
- package/esm2022/vanilla-exports/index.mjs +3 -0
- package/fesm2022/angular-three-soba-abstractions.mjs +739 -718
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +260 -307
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +174 -110
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +151 -129
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +511 -764
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +405 -2149
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-shaders.mjs +33 -1373
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +2329 -3538
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-vanilla-exports.mjs +6 -0
- package/fesm2022/angular-three-soba-vanilla-exports.mjs.map +1 -0
- package/loaders/README.md +130 -2
- package/loaders/index.d.ts +5 -4
- package/loaders/lib/font-loader.d.ts +27 -0
- package/loaders/lib/gltf-loader.d.ts +21 -0
- package/loaders/lib/loader.d.ts +29 -0
- package/loaders/lib/progress.d.ts +9 -0
- package/loaders/lib/texture-loader.d.ts +13 -0
- package/materials/README.md +160 -2
- package/materials/index.d.ts +6 -6
- package/materials/lib/custom-shader-material.d.ts +19 -0
- package/materials/lib/mesh-distort-material.d.ts +18 -0
- package/materials/lib/mesh-reflector-material.d.ts +50 -0
- package/materials/lib/mesh-refraction-material.d.ts +42 -0
- package/materials/lib/mesh-transmission-material.d.ts +77 -0
- package/materials/lib/mesh-wobble-material.d.ts +15 -0
- package/metadata.json +1 -1
- package/misc/README.md +217 -2
- package/misc/index.d.ts +9 -13
- package/misc/lib/animations.d.ts +14 -0
- package/misc/lib/computed-attribute.d.ts +69 -0
- package/misc/lib/constants.d.ts +1 -0
- package/misc/lib/decal.d.ts +27 -0
- package/misc/lib/deprecated.d.ts +14 -0
- package/misc/lib/depth-buffer.d.ts +8 -0
- package/misc/lib/fbo.d.ts +47 -0
- package/misc/lib/sampler.d.ts +73 -0
- package/package.json +60 -38
- package/shaders/index.d.ts +2 -17
- package/shaders/lib/grid-material.d.ts +69 -0
- package/shaders/lib/mesh-refraction-material.d.ts +11 -0
- package/staging/README.md +472 -2
- package/staging/index.d.ts +18 -21
- package/staging/lib/accumulative-shadows.d.ts +75 -0
- package/staging/lib/backdrop.d.ts +22 -0
- package/staging/lib/bb-anchor.d.ts +17 -0
- package/staging/lib/bounds.d.ts +47 -0
- package/staging/lib/camera-shake.d.ts +29 -0
- package/staging/lib/caustics.d.ts +53 -0
- package/staging/lib/center.d.ts +422 -0
- package/staging/lib/contact-shadows.d.ts +45 -0
- package/staging/lib/environment.d.ts +159 -0
- package/staging/lib/float.d.ts +19 -0
- package/staging/lib/lightformer.d.ts +334 -0
- package/staging/lib/matcap-texture.d.ts +32 -0
- package/staging/lib/normal-texture.d.ts +37 -0
- package/staging/lib/randomized-lights.d.ts +54 -0
- package/staging/lib/render-texture.d.ts +64 -0
- package/staging/lib/sky.d.ts +32 -0
- package/staging/lib/spot-light.d.ts +120 -0
- package/staging/lib/stage.d.ts +376 -0
- package/vanilla-exports/README.md +3 -0
- package/vanilla-exports/index.d.ts +27 -0
- package/web-types.json +1 -1
- package/abstractions/billboard/billboard.d.ts +0 -28
- package/abstractions/detailed/detailed.d.ts +0 -26
- package/abstractions/edges/edges.d.ts +0 -34
- package/abstractions/grid/grid.d.ts +0 -50
- package/abstractions/text/text.d.ts +0 -82
- package/abstractions/text-3d/text-3d.d.ts +0 -84
- package/assets/distort.vert.glsl +0 -1
- package/cameras/camera/camera-content.d.ts +0 -13
- package/cameras/camera/camera.d.ts +0 -26
- package/cameras/cube-camera/cube-camera.d.ts +0 -69
- package/cameras/orthographic-camera/orthographic-camera.d.ts +0 -37
- package/cameras/perspective-camera/perspective-camera.d.ts +0 -18
- package/controls/orbit-controls/orbit-controls.d.ts +0 -54
- package/esm2022/abstractions/billboard/billboard.mjs +0 -74
- package/esm2022/abstractions/detailed/detailed.mjs +0 -64
- package/esm2022/abstractions/edges/edges.mjs +0 -88
- package/esm2022/abstractions/grid/grid.mjs +0 -180
- package/esm2022/abstractions/text/text.mjs +0 -274
- package/esm2022/abstractions/text-3d/text-3d.mjs +0 -172
- package/esm2022/cameras/camera/camera-content.mjs +0 -21
- package/esm2022/cameras/camera/camera.mjs +0 -77
- package/esm2022/cameras/cube-camera/cube-camera.mjs +0 -161
- package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +0 -102
- package/esm2022/cameras/perspective-camera/perspective-camera.mjs +0 -46
- package/esm2022/controls/orbit-controls/orbit-controls.mjs +0 -185
- package/esm2022/gizmos/angular-three-soba-gizmos.mjs +0 -5
- package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +0 -197
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -93
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -150
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +0 -66
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -71
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -195
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -272
- package/esm2022/gizmos/index.mjs +0 -4
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +0 -30
- package/esm2022/loaders/loader/loader.mjs +0 -138
- package/esm2022/loaders/progress/progress.mjs +0 -52
- package/esm2022/loaders/texture-loader/texture-loader.mjs +0 -28
- package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +0 -82
- package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +0 -367
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +0 -171
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +0 -278
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +0 -68
- package/esm2022/materials/point-material/point-material.mjs +0 -50
- package/esm2022/misc/animations/animations.mjs +0 -59
- package/esm2022/misc/bake-shadows/bake-shadows.mjs +0 -24
- package/esm2022/misc/caustics/caustics.mjs +0 -387
- package/esm2022/misc/decal/decal.mjs +0 -187
- package/esm2022/misc/depth-buffer/depth-buffer.mjs +0 -44
- package/esm2022/misc/example/example.mjs +0 -160
- package/esm2022/misc/fbo/fbo.mjs +0 -47
- package/esm2022/misc/html/html-wrapper.mjs +0 -478
- package/esm2022/misc/html/html.mjs +0 -304
- package/esm2022/misc/sampler/sampler.mjs +0 -142
- package/esm2022/misc/shadow/shadow.mjs +0 -111
- package/esm2022/misc/stats-gl/stats-gl.mjs +0 -61
- package/esm2022/misc/trail/trail.mjs +0 -209
- package/esm2022/misc/trail-texture/inject-trail-texture.mjs +0 -17
- package/esm2022/misc/trail-texture/trail-texture.mjs +0 -106
- package/esm2022/modifiers/angular-three-soba-modifiers.mjs +0 -5
- package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +0 -64
- package/esm2022/modifiers/index.mjs +0 -2
- package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +0 -44
- package/esm2022/performances/adaptive-events/adaptive-events.mjs +0 -27
- package/esm2022/performances/angular-three-soba-performances.mjs +0 -5
- package/esm2022/performances/index.mjs +0 -8
- package/esm2022/performances/instances/instances.mjs +0 -220
- package/esm2022/performances/instances/position-mesh.mjs +0 -52
- package/esm2022/performances/points/points-input.mjs +0 -64
- package/esm2022/performances/points/points.mjs +0 -326
- package/esm2022/performances/points/position-point.mjs +0 -54
- package/esm2022/performances/segments/segment-object.mjs +0 -9
- package/esm2022/performances/segments/segments.mjs +0 -182
- package/esm2022/shaders/blur-pass/blur-pass.mjs +0 -61
- package/esm2022/shaders/caustics/caustics-material.mjs +0 -130
- package/esm2022/shaders/caustics/caustics-projection-material.mjs +0 -31
- package/esm2022/shaders/convolution-material/convolution-material.mjs +0 -94
- package/esm2022/shaders/discard-material/discard-material.mjs +0 -3
- package/esm2022/shaders/grid-material/grid-material.mjs +0 -77
- package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +0 -56
- package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +0 -223
- package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +0 -170
- package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +0 -268
- package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +0 -37
- package/esm2022/shaders/shader-material/shader-material.mjs +0 -34
- package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +0 -25
- package/esm2022/shaders/sparkles-material/sparkles-material.mjs +0 -33
- package/esm2022/shaders/spot-light-material/spot-light-material.mjs +0 -86
- package/esm2022/shaders/star-field-material/star-field-material.mjs +0 -33
- package/esm2022/shaders/wireframe-material/wireframe-material.mjs +0 -247
- package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +0 -267
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +0 -108
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +0 -206
- package/esm2022/staging/backdrop/backdrop.mjs +0 -77
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +0 -69
- package/esm2022/staging/bounds/bounds.mjs +0 -308
- package/esm2022/staging/camera-shake/camera-shake.mjs +0 -123
- package/esm2022/staging/center/center.mjs +0 -165
- package/esm2022/staging/cloud/cloud.mjs +0 -158
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +0 -246
- package/esm2022/staging/environment/assets.mjs +0 -13
- package/esm2022/staging/environment/environment-cube.mjs +0 -47
- package/esm2022/staging/environment/environment-ground.mjs +0 -41
- package/esm2022/staging/environment/environment-input.mjs +0 -119
- package/esm2022/staging/environment/environment-map.mjs +0 -53
- package/esm2022/staging/environment/environment-portal.mjs +0 -113
- package/esm2022/staging/environment/environment.mjs +0 -61
- package/esm2022/staging/environment/utils.mjs +0 -106
- package/esm2022/staging/float/float.mjs +0 -94
- package/esm2022/staging/matcap-texture/matcap-texture.mjs +0 -64
- package/esm2022/staging/normal-texture/normal-texture.mjs +0 -53
- package/esm2022/staging/sky/sky.mjs +0 -119
- package/esm2022/staging/sparkles/sparkles.mjs +0 -164
- package/esm2022/staging/spot-light/shadow-mesh-input.mjs +0 -63
- package/esm2022/staging/spot-light/shadow-mesh.mjs +0 -266
- package/esm2022/staging/spot-light/spot-light-input.mjs +0 -84
- package/esm2022/staging/spot-light/spot-light.mjs +0 -81
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +0 -98
- package/esm2022/staging/stage/stage.mjs +0 -389
- package/esm2022/staging/stars/stars.mjs +0 -147
- package/esm2022/staging/wireframe/wireframe-input.mjs +0 -191
- package/esm2022/staging/wireframe/wireframe.mjs +0 -228
- package/esm2022/utils/angular-three-soba-utils.mjs +0 -5
- package/esm2022/utils/content/content.mjs +0 -15
- package/esm2022/utils/index.mjs +0 -2
- package/fesm2022/angular-three-soba-gizmos.mjs +0 -1043
- package/fesm2022/angular-three-soba-gizmos.mjs.map +0 -1
- package/fesm2022/angular-three-soba-modifiers.mjs +0 -71
- package/fesm2022/angular-three-soba-modifiers.mjs.map +0 -1
- package/fesm2022/angular-three-soba-performances.mjs +0 -956
- package/fesm2022/angular-three-soba-performances.mjs.map +0 -1
- package/fesm2022/angular-three-soba-utils.mjs +0 -22
- package/fesm2022/angular-three-soba-utils.mjs.map +0 -1
- package/gizmos/README.md +0 -3
- package/gizmos/gizmo-helper/gizmo-helper.d.ts +0 -69
- package/gizmos/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -12
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -29
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.d.ts +0 -33
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -10
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -40
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -30
- package/gizmos/index.d.ts +0 -3
- package/loaders/gltf-loader/gltf-loader.d.ts +0 -10
- package/loaders/loader/loader.d.ts +0 -33
- package/loaders/progress/progress.d.ts +0 -9
- package/loaders/texture-loader/texture-loader.d.ts +0 -7
- package/materials/mesh-distort-material/mesh-distort-material.d.ts +0 -40
- package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +0 -99
- package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +0 -62
- package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +0 -107
- package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +0 -29
- package/materials/point-material/point-material.d.ts +0 -24
- package/misc/animations/animations.d.ts +0 -15
- package/misc/caustics/caustics.d.ts +0 -87
- package/misc/decal/decal.d.ts +0 -49
- package/misc/depth-buffer/depth-buffer.d.ts +0 -9
- package/misc/example/example.d.ts +0 -81
- package/misc/fbo/fbo.d.ts +0 -17
- package/misc/html/html-wrapper.d.ts +0 -559
- package/misc/html/html.d.ts +0 -214
- package/misc/sampler/sampler.d.ts +0 -67
- package/misc/shadow/shadow.d.ts +0 -37
- package/misc/stats-gl/stats-gl.d.ts +0 -24
- package/misc/trail/trail.d.ts +0 -57
- package/misc/trail-texture/inject-trail-texture.d.ts +0 -9
- package/misc/trail-texture/trail-texture.d.ts +0 -50
- package/modifiers/README.md +0 -3
- package/modifiers/curve-modifier/curve-modifier.d.ts +0 -23
- package/modifiers/index.d.ts +0 -1
- package/performances/README.md +0 -3
- package/performances/adaptive-dpr/adaptive-dpr.d.ts +0 -14
- package/performances/adaptive-events/adaptive-events.d.ts +0 -9
- package/performances/index.d.ts +0 -7
- package/performances/instances/instances.d.ts +0 -79
- package/performances/instances/position-mesh.d.ts +0 -10
- package/performances/points/points-input.d.ts +0 -32
- package/performances/points/points.d.ts +0 -92
- package/performances/points/position-point.d.ts +0 -11
- package/performances/segments/segment-object.d.ts +0 -7
- package/performances/segments/segments.d.ts +0 -124
- package/shaders/blur-pass/blur-pass.d.ts +0 -23
- package/shaders/caustics/caustics-material.d.ts +0 -4
- package/shaders/caustics/caustics-projection-material.d.ts +0 -4
- package/shaders/convolution-material/convolution-material.d.ts +0 -7
- package/shaders/discard-material/discard-material.d.ts +0 -3
- package/shaders/grid-material/grid-material.d.ts +0 -37
- package/shaders/mesh-distort-material/mesh-distort-material.d.ts +0 -295
- package/shaders/mesh-reflector-material/mesh-reflector-material.d.ts +0 -50
- package/shaders/mesh-refraction-material/mesh-refraction-material.d.ts +0 -4
- package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +0 -25
- package/shaders/mesh-wobble-material/mesh-wobble-material.d.ts +0 -16
- package/shaders/shader-material/shader-material.d.ts +0 -6
- package/shaders/soft-shadow-material/soft-shadow-material.d.ts +0 -19
- package/shaders/sparkles-material/sparkles-material.d.ts +0 -17
- package/shaders/spot-light-material/spot-light-material.d.ts +0 -13
- package/shaders/star-field-material/star-field-material.d.ts +0 -13
- package/shaders/wireframe-material/wireframe-material.d.ts +0 -58
- package/staging/accumulative-shadows/accumulative-shadows.d.ts +0 -146
- package/staging/accumulative-shadows/progressive-light-map.d.ts +0 -34
- package/staging/accumulative-shadows/randomized-lights.d.ts +0 -90
- package/staging/backdrop/backdrop.d.ts +0 -30
- package/staging/bb-anchor/bb-anchor.d.ts +0 -27
- package/staging/bounds/bounds.d.ts +0 -134
- package/staging/camera-shake/camera-shake.d.ts +0 -43
- package/staging/center/center.d.ts +0 -70
- package/staging/cloud/cloud.d.ts +0 -51
- package/staging/contact-shadows/contact-shadows.d.ts +0 -70
- package/staging/environment/assets.d.ts +0 -13
- package/staging/environment/environment-cube.d.ts +0 -15
- package/staging/environment/environment-ground.d.ts +0 -13
- package/staging/environment/environment-input.d.ts +0 -68
- package/staging/environment/environment-map.d.ts +0 -16
- package/staging/environment/environment-portal.d.ts +0 -18
- package/staging/environment/environment.d.ts +0 -8
- package/staging/environment/utils.d.ts +0 -7
- package/staging/float/float.d.ts +0 -31
- package/staging/matcap-texture/matcap-texture.d.ts +0 -13
- package/staging/normal-texture/normal-texture.d.ts +0 -16
- package/staging/sky/sky.d.ts +0 -48
- package/staging/sparkles/sparkles.d.ts +0 -63
- package/staging/spot-light/shadow-mesh-input.d.ts +0 -29
- package/staging/spot-light/shadow-mesh.d.ts +0 -37
- package/staging/spot-light/spot-light-input.d.ts +0 -38
- package/staging/spot-light/spot-light.d.ts +0 -39
- package/staging/spot-light/volumetric-mesh.d.ts +0 -24
- package/staging/stage/stage.d.ts +0 -130
- package/staging/stars/stars.d.ts +0 -45
- package/staging/wireframe/wireframe-input.d.ts +0 -65
- package/staging/wireframe/wireframe.d.ts +0 -28
- package/utils/README.md +0 -3
- package/utils/content/content.d.ts +0 -8
- package/utils/index.d.ts +0 -1
- /package/misc/{bake-shadows → lib}/bake-shadows.d.ts +0 -0
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { extend, signalStore } from 'angular-three';
|
|
4
|
-
import { AmbientLight, Group, PointLight } from 'three';
|
|
5
|
-
import { injectNgtsGizmoHelperApi } from '../gizmo-helper';
|
|
6
|
-
import { NgtsGizmoViewportAxis, NgtsGizmoViewportAxisHead } from './gizmo-viewport-axis';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
extend({ Group, AmbientLight, PointLight });
|
|
9
|
-
export class NgtsGizmoViewport {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.inputs = signalStore({
|
|
12
|
-
font: '18px Inter var, Arial, sans-serif',
|
|
13
|
-
axisColors: ['#ff2060', '#20df80', '#2080ff'],
|
|
14
|
-
axisHeadScale: 1,
|
|
15
|
-
labels: ['X', 'Y', 'Z'],
|
|
16
|
-
labelColor: '#000',
|
|
17
|
-
});
|
|
18
|
-
this.gizmoApi = injectNgtsGizmoHelperApi();
|
|
19
|
-
this.Math = Math;
|
|
20
|
-
this.viewportClick = new EventEmitter();
|
|
21
|
-
this.axisColors = this.inputs.select('axisColors');
|
|
22
|
-
this.axisScale = this.inputs.select('axisScale');
|
|
23
|
-
this.labels = this.inputs.select('labels');
|
|
24
|
-
this.axisHeadScale = this.inputs.select('axisHeadScale');
|
|
25
|
-
this.labelColor = this.inputs.select('labelColor');
|
|
26
|
-
this.hideNegativeAxes = this.inputs.select('hideNegativeAxes');
|
|
27
|
-
this.hideAxisHeads = this.inputs.select('hideAxisHeads');
|
|
28
|
-
this.disabled = this.inputs.select('disabled');
|
|
29
|
-
this.font = this.inputs.select('font');
|
|
30
|
-
}
|
|
31
|
-
set _axisColors(axisColors) {
|
|
32
|
-
this.inputs.set({ axisColors });
|
|
33
|
-
}
|
|
34
|
-
set _axisScale(axisScale) {
|
|
35
|
-
this.inputs.set({ axisScale });
|
|
36
|
-
}
|
|
37
|
-
set _labels(labels) {
|
|
38
|
-
this.inputs.set({ labels });
|
|
39
|
-
}
|
|
40
|
-
set _axisHeadScale(axisHeadScale) {
|
|
41
|
-
this.inputs.set({ axisHeadScale });
|
|
42
|
-
}
|
|
43
|
-
set _labelColor(labelColor) {
|
|
44
|
-
this.inputs.set({ labelColor });
|
|
45
|
-
}
|
|
46
|
-
set _hideNegativeAxes(hideNegativeAxes) {
|
|
47
|
-
this.inputs.set({ hideNegativeAxes });
|
|
48
|
-
}
|
|
49
|
-
set _hideAxisHeads(hideAxisHeads) {
|
|
50
|
-
this.inputs.set({ hideAxisHeads });
|
|
51
|
-
}
|
|
52
|
-
set _disabled(disabled) {
|
|
53
|
-
this.inputs.set({ disabled });
|
|
54
|
-
}
|
|
55
|
-
set _font(font) {
|
|
56
|
-
this.inputs.set({ font });
|
|
57
|
-
}
|
|
58
|
-
onPointerDown(event) {
|
|
59
|
-
if (!this.inputs.get('disabled')) {
|
|
60
|
-
event.stopPropagation();
|
|
61
|
-
this.gizmoApi.tweenCamera(event.object.position);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsGizmoViewport, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsGizmoViewport, isStandalone: true, selector: "ngts-gizmo-viewport", inputs: { _axisColors: ["axisColors", "_axisColors"], _axisScale: ["axisScale", "_axisScale"], _labels: ["labels", "_labels"], _axisHeadScale: ["axisHeadScale", "_axisHeadScale"], _labelColor: ["labelColor", "_labelColor"], _hideNegativeAxes: ["hideNegativeAxes", "_hideNegativeAxes"], _hideAxisHeads: ["hideAxisHeads", "_hideAxisHeads"], _disabled: ["disabled", "_disabled"], _font: ["font", "_font"] }, outputs: { viewportClick: "viewportClick" }, ngImport: i0, template: `
|
|
66
|
-
<ngt-group ngtCompound [scale]="40">
|
|
67
|
-
<ngts-gizmo-viewport-axis [color]="axisColors()[0]" [rotation]="[0, 0, 0]" [scale]="axisScale()" />
|
|
68
|
-
<ngts-gizmo-viewport-axis
|
|
69
|
-
[color]="axisColors()[1]"
|
|
70
|
-
[rotation]="[0, 0, Math.PI / 2]"
|
|
71
|
-
[scale]="axisScale()"
|
|
72
|
-
/>
|
|
73
|
-
<ngts-gizmo-viewport-axis
|
|
74
|
-
[color]="axisColors()[2]"
|
|
75
|
-
[rotation]="[0, -Math.PI / 2, 0]"
|
|
76
|
-
[scale]="axisScale()"
|
|
77
|
-
/>
|
|
78
|
-
<ng-container *ngIf="!hideAxisHeads()">
|
|
79
|
-
<ngts-gizmo-viewport-axis-head
|
|
80
|
-
[arcStyle]="axisColors()[0]"
|
|
81
|
-
[position]="[1, 0, 0]"
|
|
82
|
-
[label]="labels()[0]"
|
|
83
|
-
[font]="font()"
|
|
84
|
-
[disabled]="disabled()"
|
|
85
|
-
[labelColor]="labelColor()"
|
|
86
|
-
[viewportClickEmitter]="viewportClick"
|
|
87
|
-
[axisHeadScale]="axisHeadScale()"
|
|
88
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
89
|
-
/>
|
|
90
|
-
<ngts-gizmo-viewport-axis-head
|
|
91
|
-
[arcStyle]="axisColors()[1]"
|
|
92
|
-
[position]="[0, 1, 0]"
|
|
93
|
-
[label]="labels()[1]"
|
|
94
|
-
[font]="font()"
|
|
95
|
-
[disabled]="disabled()"
|
|
96
|
-
[labelColor]="labelColor()"
|
|
97
|
-
[viewportClickEmitter]="viewportClick"
|
|
98
|
-
[axisHeadScale]="axisHeadScale()"
|
|
99
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
100
|
-
/>
|
|
101
|
-
<ngts-gizmo-viewport-axis-head
|
|
102
|
-
[arcStyle]="axisColors()[2]"
|
|
103
|
-
[position]="[0, 0, 1]"
|
|
104
|
-
[label]="labels()[2]"
|
|
105
|
-
[font]="font()"
|
|
106
|
-
[disabled]="disabled()"
|
|
107
|
-
[labelColor]="labelColor()"
|
|
108
|
-
[viewportClickEmitter]="viewportClick"
|
|
109
|
-
[axisHeadScale]="axisHeadScale()"
|
|
110
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
111
|
-
/>
|
|
112
|
-
<ng-container *ngIf="!hideNegativeAxes()">
|
|
113
|
-
<ngts-gizmo-viewport-axis-head
|
|
114
|
-
[arcStyle]="axisColors()[0]"
|
|
115
|
-
[position]="[-1, 0, 0]"
|
|
116
|
-
[font]="font()"
|
|
117
|
-
[disabled]="disabled()"
|
|
118
|
-
[labelColor]="labelColor()"
|
|
119
|
-
[viewportClickEmitter]="viewportClick"
|
|
120
|
-
[axisHeadScale]="axisHeadScale()"
|
|
121
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
122
|
-
/>
|
|
123
|
-
<ngts-gizmo-viewport-axis-head
|
|
124
|
-
[arcStyle]="axisColors()[1]"
|
|
125
|
-
[position]="[0, -1, 0]"
|
|
126
|
-
[font]="font()"
|
|
127
|
-
[disabled]="disabled()"
|
|
128
|
-
[labelColor]="labelColor()"
|
|
129
|
-
[viewportClickEmitter]="viewportClick"
|
|
130
|
-
[axisHeadScale]="axisHeadScale()"
|
|
131
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
132
|
-
/>
|
|
133
|
-
<ngts-gizmo-viewport-axis-head
|
|
134
|
-
[arcStyle]="axisColors()[2]"
|
|
135
|
-
[position]="[0, 0, -1]"
|
|
136
|
-
[font]="font()"
|
|
137
|
-
[disabled]="disabled()"
|
|
138
|
-
[labelColor]="labelColor()"
|
|
139
|
-
[viewportClickEmitter]="viewportClick"
|
|
140
|
-
[axisHeadScale]="axisHeadScale()"
|
|
141
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
142
|
-
/>
|
|
143
|
-
</ng-container>
|
|
144
|
-
</ng-container>
|
|
145
|
-
<ngt-ambient-light [intensity]="0.5"></ngt-ambient-light>
|
|
146
|
-
<ngt-point-light [position]="10" [intensity]="0.5"></ngt-point-light>
|
|
147
|
-
</ngt-group>
|
|
148
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewportAxis, selector: "ngts-gizmo-viewport-axis", inputs: ["color", "rotation", "scale"] }, { kind: "component", type: NgtsGizmoViewportAxisHead, selector: "ngts-gizmo-viewport-axis-head", inputs: ["arcStyle", "label", "labelColor", "axisHeadScale", "disabled", "font", "viewportClickEmitter"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
149
|
-
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsGizmoViewport, decorators: [{
|
|
151
|
-
type: Component,
|
|
152
|
-
args: [{
|
|
153
|
-
selector: 'ngts-gizmo-viewport',
|
|
154
|
-
standalone: true,
|
|
155
|
-
template: `
|
|
156
|
-
<ngt-group ngtCompound [scale]="40">
|
|
157
|
-
<ngts-gizmo-viewport-axis [color]="axisColors()[0]" [rotation]="[0, 0, 0]" [scale]="axisScale()" />
|
|
158
|
-
<ngts-gizmo-viewport-axis
|
|
159
|
-
[color]="axisColors()[1]"
|
|
160
|
-
[rotation]="[0, 0, Math.PI / 2]"
|
|
161
|
-
[scale]="axisScale()"
|
|
162
|
-
/>
|
|
163
|
-
<ngts-gizmo-viewport-axis
|
|
164
|
-
[color]="axisColors()[2]"
|
|
165
|
-
[rotation]="[0, -Math.PI / 2, 0]"
|
|
166
|
-
[scale]="axisScale()"
|
|
167
|
-
/>
|
|
168
|
-
<ng-container *ngIf="!hideAxisHeads()">
|
|
169
|
-
<ngts-gizmo-viewport-axis-head
|
|
170
|
-
[arcStyle]="axisColors()[0]"
|
|
171
|
-
[position]="[1, 0, 0]"
|
|
172
|
-
[label]="labels()[0]"
|
|
173
|
-
[font]="font()"
|
|
174
|
-
[disabled]="disabled()"
|
|
175
|
-
[labelColor]="labelColor()"
|
|
176
|
-
[viewportClickEmitter]="viewportClick"
|
|
177
|
-
[axisHeadScale]="axisHeadScale()"
|
|
178
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
179
|
-
/>
|
|
180
|
-
<ngts-gizmo-viewport-axis-head
|
|
181
|
-
[arcStyle]="axisColors()[1]"
|
|
182
|
-
[position]="[0, 1, 0]"
|
|
183
|
-
[label]="labels()[1]"
|
|
184
|
-
[font]="font()"
|
|
185
|
-
[disabled]="disabled()"
|
|
186
|
-
[labelColor]="labelColor()"
|
|
187
|
-
[viewportClickEmitter]="viewportClick"
|
|
188
|
-
[axisHeadScale]="axisHeadScale()"
|
|
189
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
190
|
-
/>
|
|
191
|
-
<ngts-gizmo-viewport-axis-head
|
|
192
|
-
[arcStyle]="axisColors()[2]"
|
|
193
|
-
[position]="[0, 0, 1]"
|
|
194
|
-
[label]="labels()[2]"
|
|
195
|
-
[font]="font()"
|
|
196
|
-
[disabled]="disabled()"
|
|
197
|
-
[labelColor]="labelColor()"
|
|
198
|
-
[viewportClickEmitter]="viewportClick"
|
|
199
|
-
[axisHeadScale]="axisHeadScale()"
|
|
200
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
201
|
-
/>
|
|
202
|
-
<ng-container *ngIf="!hideNegativeAxes()">
|
|
203
|
-
<ngts-gizmo-viewport-axis-head
|
|
204
|
-
[arcStyle]="axisColors()[0]"
|
|
205
|
-
[position]="[-1, 0, 0]"
|
|
206
|
-
[font]="font()"
|
|
207
|
-
[disabled]="disabled()"
|
|
208
|
-
[labelColor]="labelColor()"
|
|
209
|
-
[viewportClickEmitter]="viewportClick"
|
|
210
|
-
[axisHeadScale]="axisHeadScale()"
|
|
211
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
212
|
-
/>
|
|
213
|
-
<ngts-gizmo-viewport-axis-head
|
|
214
|
-
[arcStyle]="axisColors()[1]"
|
|
215
|
-
[position]="[0, -1, 0]"
|
|
216
|
-
[font]="font()"
|
|
217
|
-
[disabled]="disabled()"
|
|
218
|
-
[labelColor]="labelColor()"
|
|
219
|
-
[viewportClickEmitter]="viewportClick"
|
|
220
|
-
[axisHeadScale]="axisHeadScale()"
|
|
221
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
222
|
-
/>
|
|
223
|
-
<ngts-gizmo-viewport-axis-head
|
|
224
|
-
[arcStyle]="axisColors()[2]"
|
|
225
|
-
[position]="[0, 0, -1]"
|
|
226
|
-
[font]="font()"
|
|
227
|
-
[disabled]="disabled()"
|
|
228
|
-
[labelColor]="labelColor()"
|
|
229
|
-
[viewportClickEmitter]="viewportClick"
|
|
230
|
-
[axisHeadScale]="axisHeadScale()"
|
|
231
|
-
(pointerdown)="onPointerDown($any($event))"
|
|
232
|
-
/>
|
|
233
|
-
</ng-container>
|
|
234
|
-
</ng-container>
|
|
235
|
-
<ngt-ambient-light [intensity]="0.5"></ngt-ambient-light>
|
|
236
|
-
<ngt-point-light [position]="10" [intensity]="0.5"></ngt-point-light>
|
|
237
|
-
</ngt-group>
|
|
238
|
-
`,
|
|
239
|
-
imports: [NgtsGizmoViewportAxis, NgtsGizmoViewportAxisHead, NgIf],
|
|
240
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
241
|
-
}]
|
|
242
|
-
}], propDecorators: { _axisColors: [{
|
|
243
|
-
type: Input,
|
|
244
|
-
args: [{ alias: 'axisColors' }]
|
|
245
|
-
}], _axisScale: [{
|
|
246
|
-
type: Input,
|
|
247
|
-
args: [{ alias: 'axisScale' }]
|
|
248
|
-
}], _labels: [{
|
|
249
|
-
type: Input,
|
|
250
|
-
args: [{ alias: 'labels' }]
|
|
251
|
-
}], _axisHeadScale: [{
|
|
252
|
-
type: Input,
|
|
253
|
-
args: [{ alias: 'axisHeadScale' }]
|
|
254
|
-
}], _labelColor: [{
|
|
255
|
-
type: Input,
|
|
256
|
-
args: [{ alias: 'labelColor' }]
|
|
257
|
-
}], _hideNegativeAxes: [{
|
|
258
|
-
type: Input,
|
|
259
|
-
args: [{ alias: 'hideNegativeAxes' }]
|
|
260
|
-
}], _hideAxisHeads: [{
|
|
261
|
-
type: Input,
|
|
262
|
-
args: [{ alias: 'hideAxisHeads' }]
|
|
263
|
-
}], _disabled: [{
|
|
264
|
-
type: Input,
|
|
265
|
-
args: [{ alias: 'disabled' }]
|
|
266
|
-
}], _font: [{
|
|
267
|
-
type: Input,
|
|
268
|
-
args: [{ alias: 'font' }]
|
|
269
|
-
}], viewportClick: [{
|
|
270
|
-
type: Output
|
|
271
|
-
}] } });
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8tdmlld3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvZ2l6bW9zL3NyYy9naXptby1oZWxwZXIvZ2l6bW8tdmlld3BvcnQvZ2l6bW8tdmlld3BvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFekYsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBNEY1QyxNQUFNLE9BQU8saUJBQWlCO0lBMUY5QjtRQTJGUyxXQUFNLEdBQUcsV0FBVyxDQVV6QjtZQUNGLElBQUksRUFBRSxtQ0FBbUM7WUFDekMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7WUFDN0MsYUFBYSxFQUFFLENBQUM7WUFDaEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7WUFDdkIsVUFBVSxFQUFFLE1BQU07U0FDbEIsQ0FBQyxDQUFDO1FBQ0ssYUFBUSxHQUFHLHdCQUF3QixFQUFFLENBQUM7UUFFOUMsU0FBSSxHQUFHLElBQUksQ0FBQztRQXNDRixrQkFBYSxHQUFHLElB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LDREQUNTLHFCQUFxQiw2R0FBRSx5QkFBeUIsb0xBQUUsSUFBSTs7MkZBR3BELGlCQUFpQjtrQkExRjdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtRlQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsSUFBSSxDQUFDO29CQUNqRSxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDakM7OEJBdUJvQyxXQUFXO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFJSyxVQUFVO3NCQUE1QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtnQkFJRyxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFJYSxjQUFjO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtnQkFJRyxXQUFXO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFJWSxpQkFBaUI7c0JBQTFELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7Z0JBSUcsY0FBYztzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUU7Z0JBSUMsU0FBUztzQkFBMUMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7Z0JBSUUsS0FBSztzQkFBbEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBSWQsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgc2lnbmFsU3RvcmUsIHR5cGUgTmd0VGhyZWVFdmVudCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQW1iaWVudExpZ2h0LCBHcm91cCwgUG9pbnRMaWdodCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IGluamVjdE5ndHNHaXptb0hlbHBlckFwaSB9IGZyb20gJy4uL2dpem1vLWhlbHBlcic7XG5pbXBvcnQgeyBOZ3RzR2l6bW9WaWV3cG9ydEF4aXMsIE5ndHNHaXptb1ZpZXdwb3J0QXhpc0hlYWQgfSBmcm9tICcuL2dpem1vLXZpZXdwb3J0LWF4aXMnO1xuXG5leHRlbmQoeyBHcm91cCwgQW1iaWVudExpZ2h0LCBQb2ludExpZ2h0IH0pO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWdpem1vLXZpZXdwb3J0Jyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwIG5ndENvbXBvdW5kIFtzY2FsZV09XCI0MFwiPlxuXHRcdFx0PG5ndHMtZ2l6bW8tdmlld3BvcnQtYXhpcyBbY29sb3JdPVwiYXhpc0NvbG9ycygpWzBdXCIgW3JvdGF0aW9uXT1cIlswLCAwLCAwXVwiIFtzY2FsZV09XCJheGlzU2NhbGUoKVwiIC8+XG5cdFx0XHQ8bmd0cy1naXptby12aWV3cG9ydC1heGlzXG5cdFx0XHRcdFtjb2xvcl09XCJheGlzQ29sb3JzKClbMV1cIlxuXHRcdFx0XHRbcm90YXRpb25dPVwiWzAsIDAsIE1hdGguUEkgLyAyXVwiXG5cdFx0XHRcdFtzY2FsZV09XCJheGlzU2NhbGUoKVwiXG5cdFx0XHQvPlxuXHRcdFx0PG5ndHMtZ2l6bW8tdmlld3BvcnQtYXhpc1xuXHRcdFx0XHRbY29sb3JdPVwiYXhpc0NvbG9ycygpWzJdXCJcblx0XHRcdFx0W3JvdGF0aW9uXT1cIlswLCAtTWF0aC5QSSAvIDIsIDBdXCJcblx0XHRcdFx0W3NjYWxlXT1cImF4aXNTY2FsZSgpXCJcblx0XHRcdC8+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVBeGlzSGVhZHMoKVwiPlxuXHRcdFx0XHQ8bmd0cy1naXptby12aWV3cG9ydC1heGlzLWhlYWRcblx0XHRcdFx0XHRbYXJjU3R5bGVdPVwiYXhpc0NvbG9ycygpWzBdXCJcblx0XHRcdFx0XHRbcG9zaXRpb25dPVwiWzEsIDAsIDBdXCJcblx0XHRcdFx0XHRbbGFiZWxdPVwibGFiZWxzKClbMF1cIlxuXHRcdFx0XHRcdFtmb250XT1cImZvbnQoKVwiXG5cdFx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuXHRcdFx0XHRcdFtsYWJlbENvbG9yXT1cImxhYmVsQ29sb3IoKVwiXG5cdFx0XHRcdFx0W3ZpZXdwb3J0Q2xpY2tFbWl0dGVyXT1cInZpZXdwb3J0Q2xpY2tcIlxuXHRcdFx0XHRcdFtheGlzSGVhZFNjYWxlXT1cImF4aXNIZWFkU2NhbGUoKVwiXG5cdFx0XHRcdFx0KHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGFueSgkZXZlbnQpKVwiXG5cdFx0XHRcdC8+XG5cdFx0XHRcdDxuZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZFxuXHRcdFx0XHRcdFthcmNTdHlsZV09XCJheGlzQ29sb3JzKClbMV1cIlxuXHRcdFx0XHRcdFtwb3NpdGlvbl09XCJbMCwgMSwgMF1cIlxuXHRcdFx0XHRcdFtsYWJlbF09XCJsYWJlbHMoKVsxXVwiXG5cdFx0XHRcdFx0W2ZvbnRdPVwiZm9udCgpXCJcblx0XHRcdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG5cdFx0XHRcdFx0W2xhYmVsQ29sb3JdPVwibGFiZWxDb2xvcigpXCJcblx0XHRcdFx0XHRbdmlld3BvcnRDbGlja0VtaXR0ZXJdPVwidmlld3BvcnRDbGlja1wiXG5cdFx0XHRcdFx0W2F4aXNIZWFkU2NhbGVdPVwiYXhpc0hlYWRTY2FsZSgpXCJcblx0XHRcdFx0XHQocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcblx0XHRcdFx0Lz5cblx0XHRcdFx0PG5ndHMtZ2l6bW8tdmlld3BvcnQtYXhpcy1oZWFkXG5cdFx0XHRcdFx0W2FyY1N0eWxlXT1cImF4aXNDb2xvcnMoKVsyXVwiXG5cdFx0XHRcdFx0W3Bvc2l0aW9uXT1cIlswLCAwLCAxXVwiXG5cdFx0XHRcdFx0W2xhYmVsXT1cImxhYmVscygpWzJdXCJcblx0XHRcdFx0XHRbZm9udF09XCJmb250KClcIlxuXHRcdFx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcblx0XHRcdFx0XHRbbGFiZWxDb2xvcl09XCJsYWJlbENvbG9yKClcIlxuXHRcdFx0XHRcdFt2aWV3cG9ydENsaWNrRW1pdHRlcl09XCJ2aWV3cG9ydENsaWNrXCJcblx0XHRcdFx0XHRbYXhpc0hlYWRTY2FsZV09XCJheGlzSGVhZFNjYWxlKClcIlxuXHRcdFx0XHRcdChwb2ludGVyZG93bik9XCJvblBvaW50ZXJEb3duKCRhbnkoJGV2ZW50KSlcIlxuXHRcdFx0XHQvPlxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVOZWdhdGl2ZUF4ZXMoKVwiPlxuXHRcdFx0XHRcdDxuZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZFxuXHRcdFx0XHRcdFx0W2FyY1N0eWxlXT1cImF4aXNDb2xvcnMoKVswXVwiXG5cdFx0XHRcdFx0XHRbcG9zaXRpb25dPVwiWy0xLCAwLCAwXVwiXG5cdFx0XHRcdFx0XHRbZm9udF09XCJmb250KClcIlxuXHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuXHRcdFx0XHRcdFx0W2xhYmVsQ29sb3JdPVwibGFiZWxDb2xvcigpXCJcblx0XHRcdFx0XHRcdFt2aWV3cG9ydENsaWNrRW1pdHRlcl09XCJ2aWV3cG9ydENsaWNrXCJcblx0XHRcdFx0XHRcdFtheGlzSGVhZFNjYWxlXT1cImF4aXNIZWFkU2NhbGUoKVwiXG5cdFx0XHRcdFx0XHQocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcblx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdDxuZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZFxuXHRcdFx0XHRcdFx0W2FyY1N0eWxlXT1cImF4aXNDb2xvcnMoKVsxXVwiXG5cdFx0XHRcdFx0XHRbcG9zaXRpb25dPVwiWzAsIC0xLCAwXVwiXG5cdFx0XHRcdFx0XHRbZm9udF09XCJmb250KClcIlxuXHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuXHRcdFx0XHRcdFx0W2xhYmVsQ29sb3JdPVwibGFiZWxDb2xvcigpXCJcblx0XHRcdFx0XHRcdFt2aWV3cG9ydENsaWNrRW1pdHRlcl09XCJ2aWV3cG9ydENsaWNrXCJcblx0XHRcdFx0XHRcdFtheGlzSGVhZFNjYWxlXT1cImF4aXNIZWFkU2NhbGUoKVwiXG5cdFx0XHRcdFx0XHQocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcblx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdDxuZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZFxuXHRcdFx0XHRcdFx0W2FyY1N0eWxlXT1cImF4aXNDb2xvcnMoKVsyXVwiXG5cdFx0XHRcdFx0XHRbcG9zaXRpb25dPVwiWzAsIDAsIC0xXVwiXG5cdFx0XHRcdFx0XHRbZm9udF09XCJmb250KClcIlxuXHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuXHRcdFx0XHRcdFx0W2xhYmVsQ29sb3JdPVwibGFiZWxDb2xvcigpXCJcblx0XHRcdFx0XHRcdFt2aWV3cG9ydENsaWNrRW1pdHRlcl09XCJ2aWV3cG9ydENsaWNrXCJcblx0XHRcdFx0XHRcdFtheGlzSGVhZFNjYWxlXT1cImF4aXNIZWFkU2NhbGUoKVwiXG5cdFx0XHRcdFx0XHQocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcblx0XHRcdFx0XHQvPlxuXHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0PG5ndC1hbWJpZW50LWxpZ2h0IFtpbnRlbnNpdHldPVwiMC41XCI+PC9uZ3QtYW1iaWVudC1saWdodD5cblx0XHRcdDxuZ3QtcG9pbnQtbGlnaHQgW3Bvc2l0aW9uXT1cIjEwXCIgW2ludGVuc2l0eV09XCIwLjVcIj48L25ndC1wb2ludC1saWdodD5cblx0XHQ8L25ndC1ncm91cD5cblx0YCxcblx0aW1wb3J0czogW05ndHNHaXptb1ZpZXdwb3J0QXhpcywgTmd0c0dpem1vVmlld3BvcnRBeGlzSGVhZCwgTmdJZl0sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0dpem1vVmlld3BvcnQge1xuXHRwcml2YXRlIGlucHV0cyA9IHNpZ25hbFN0b3JlPHtcblx0XHRheGlzQ29sb3JzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ107XG5cdFx0YXhpc1NjYWxlOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG5cdFx0bGFiZWxzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ107XG5cdFx0YXhpc0hlYWRTY2FsZTogbnVtYmVyO1xuXHRcdGxhYmVsQ29sb3I6IHN0cmluZztcblx0XHRoaWRlTmVnYXRpdmVBeGVzOiBib29sZWFuO1xuXHRcdGhpZGVBeGlzSGVhZHM6IGJvb2xlYW47XG5cdFx0ZGlzYWJsZWQ6IGJvb2xlYW47XG5cdFx0Zm9udDogc3RyaW5nO1xuXHR9Pih7XG5cdFx0Zm9udDogJzE4cHggSW50ZXIgdmFyLCBBcmlhbCwgc2Fucy1zZXJpZicsXG5cdFx0YXhpc0NvbG9yczogWycjZmYyMDYwJywgJyMyMGRmODAnLCAnIzIwODBmZiddLFxuXHRcdGF4aXNIZWFkU2NhbGU6IDEsXG5cdFx0bGFiZWxzOiBbJ1gnLCAnWScsICdaJ10sXG5cdFx0bGFiZWxDb2xvcjogJyMwMDAnLFxuXHR9KTtcblx0cHJpdmF0ZSBnaXptb0FwaSA9IGluamVjdE5ndHNHaXptb0hlbHBlckFwaSgpO1xuXG5cdE1hdGggPSBNYXRoO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnYXhpc0NvbG9ycycgfSkgc2V0IF9heGlzQ29sb3JzKGF4aXNDb2xvcnM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGF4aXNDb2xvcnMgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2F4aXNTY2FsZScgfSkgc2V0IF9heGlzU2NhbGUoYXhpc1NjYWxlOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBheGlzU2NhbGUgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2xhYmVscycgfSkgc2V0IF9sYWJlbHMobGFiZWxzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBsYWJlbHMgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2F4aXNIZWFkU2NhbGUnIH0pIHNldCBfYXhpc0hlYWRTY2FsZShheGlzSGVhZFNjYWxlOiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBheGlzSGVhZFNjYWxlIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdsYWJlbENvbG9yJyB9KSBzZXQgX2xhYmVsQ29sb3IobGFiZWxDb2xvcjogc3RyaW5nKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbGFiZWxDb2xvciB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnaGlkZU5lZ2F0aXZlQXhlcycgfSkgc2V0IF9oaWRlTmVnYXRpdmVBeGVzKGhpZGVOZWdhdGl2ZUF4ZXM6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBoaWRlTmVnYXRpdmVBeGVzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdoaWRlQXhpc0hlYWRzJyB9KSBzZXQgX2hpZGVBeGlzSGVhZHMoaGlkZUF4aXNIZWFkczogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGhpZGVBeGlzSGVhZHMgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2Rpc2FibGVkJyB9KSBzZXQgX2Rpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZGlzYWJsZWQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2ZvbnQnIH0pIHNldCBfZm9udChmb250OiBzdHJpbmcpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBmb250IH0pO1xuXHR9XG5cblx0QE91dHB1dCgpIHZpZXdwb3J0Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4+KCk7XG5cblx0YXhpc0NvbG9ycyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnYXhpc0NvbG9ycycpO1xuXHRheGlzU2NhbGUgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2F4aXNTY2FsZScpO1xuXHRsYWJlbHMgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2xhYmVscycpO1xuXHRheGlzSGVhZFNjYWxlID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdheGlzSGVhZFNjYWxlJyk7XG5cdGxhYmVsQ29sb3IgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2xhYmVsQ29sb3InKTtcblx0aGlkZU5lZ2F0aXZlQXhlcyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnaGlkZU5lZ2F0aXZlQXhlcycpO1xuXHRoaWRlQXhpc0hlYWRzID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdoaWRlQXhpc0hlYWRzJyk7XG5cdGRpc2FibGVkID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdkaXNhYmxlZCcpO1xuXHRmb250ID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdmb250Jyk7XG5cblx0b25Qb2ludGVyRG93bihldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0aWYgKCF0aGlzLmlucHV0cy5nZXQoJ2Rpc2FibGVkJykpIHtcblx0XHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdFx0dGhpcy5naXptb0FwaS50d2VlbkNhbWVyYShldmVudC5vYmplY3QucG9zaXRpb24pO1xuXHRcdH1cblx0fVxufVxuIl19
|
package/esm2022/gizmos/index.mjs
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './gizmo-helper/gizmo-helper';
|
|
2
|
-
export * from './gizmo-helper/gizmo-viewcube/gizmo-viewcube';
|
|
3
|
-
export * from './gizmo-helper/gizmo-viewport/gizmo-viewport';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvZ2l6bW9zL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2l6bW8taGVscGVyL2dpem1vLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2dpem1vLWhlbHBlci9naXptby12aWV3Y3ViZS9naXptby12aWV3Y3ViZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpem1vLWhlbHBlci9naXptby12aWV3cG9ydC9naXptby12aWV3cG9ydCc7XG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbG9hZGVycy9zcmMvZ2x0Zi1sb2FkZXIvZ2x0Zi1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBNEMsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBRWxGLElBQUksV0FBVyxHQUF1QixJQUFJLENBQUM7QUFFM0MsU0FBUyxXQUFXLENBQUMsUUFBMEIsRUFBRSxVQUFtQixFQUFFLFVBQXlDO0lBQzlHLE9BQU8sQ0FBQyxNQUFvQixFQUFFLEVBQUU7UUFDL0IsSUFBSSxVQUFVLEVBQUU7WUFDZixVQUFVLENBQUMsTUFBb0IsQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxRQUFRLEVBQUU7WUFDYixJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNqQixXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQzthQUNoQztZQUVELFdBQVcsQ0FBQyxjQUFjLENBQ3pCLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx5REFBeUQsQ0FDbkcsQ0FBQztZQUNELE1BQXFCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsSUFBSSxVQUFVLEVBQUU7WUFDZCxNQUFxQixDQUFDLGlCQUFpQixDQUN2QyxPQUFPLGNBQWMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQ3hFLENBQUM7U0FDRjtJQUNGLENBQUMsQ0FBQztBQUNILENBQUM7QUFJRCxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLElBQWdCLEVBQ2hCLEVBQ0MsUUFBUSxHQUFHLElBQUksRUFDZixVQUFVLEdBQUcsSUFBSSxFQUNqQixRQUFRLEVBQ1IsVUFBVSxNQU1QLEVBQUU7SUFFTixPQUFPLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFO1FBQzlDLFVBQVUsRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFDekQsUUFBUTtLQUNSLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUNqQyxJQUFnQixFQUNoQixFQUNDLFFBQVEsR0FBRyxJQUFJLEVBQ2YsVUFBVSxHQUFHLElBQUksRUFDakIsVUFBVSxNQUtQLEVBQUUsRUFDTCxFQUFFO0lBQ0YsZUFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDNUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmplY3RvciwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3ROZ3RMb2FkZXIsIHR5cGUgTmd0TG9hZGVyUmVzdWx0cywgdHlwZSBOZ3RPYmplY3RNYXAgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IERSQUNPTG9hZGVyLCBHTFRGTG9hZGVyLCBNZXNob3B0RGVjb2RlciwgdHlwZSBHTFRGIH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxubGV0IGRyYWNvTG9hZGVyOiBEUkFDT0xvYWRlciB8IG51bGwgPSBudWxsO1xuXG5mdW5jdGlvbiBfZXh0ZW5zaW9ucyh1c2VEcmFjbzogYm9vbGVhbiB8IHN0cmluZywgdXNlTWVzaE9wdDogYm9vbGVhbiwgZXh0ZW5zaW9ucz86IChsb2FkZXI6IEdMVEZMb2FkZXIpID0+IHZvaWQpIHtcblx0cmV0dXJuIChsb2FkZXI6IFRIUkVFLkxvYWRlcikgPT4ge1xuXHRcdGlmIChleHRlbnNpb25zKSB7XG5cdFx0XHRleHRlbnNpb25zKGxvYWRlciBhcyBHTFRGTG9hZGVyKTtcblx0XHR9XG5cblx0XHRpZiAodXNlRHJhY28pIHtcblx0XHRcdGlmICghZHJhY29Mb2FkZXIpIHtcblx0XHRcdFx0ZHJhY29Mb2FkZXIgPSBuZXcgRFJBQ09Mb2FkZXIoKTtcblx0XHRcdH1cblxuXHRcdFx0ZHJhY29Mb2FkZXIuc2V0RGVjb2RlclBhdGgoXG5cdFx0XHRcdHR5cGVvZiB1c2VEcmFjbyA9PT0gJ3N0cmluZycgPyB1c2VEcmFjbyA6ICdodHRwczovL3d3dy5nc3RhdGljLmNvbS9kcmFjby92ZXJzaW9uZWQvZGVjb2RlcnMvMS41LjUvJyxcblx0XHRcdCk7XG5cdFx0XHQobG9hZGVyIGFzIEdMVEZMb2FkZXIpLnNldERSQUNPTG9hZGVyKGRyYWNvTG9hZGVyKTtcblx0XHR9XG5cblx0XHRpZiAodXNlTWVzaE9wdCkge1xuXHRcdFx0KGxvYWRlciBhcyBHTFRGTG9hZGVyKS5zZXRNZXNob3B0RGVjb2Rlcihcblx0XHRcdFx0dHlwZW9mIE1lc2hvcHREZWNvZGVyID09PSAnZnVuY3Rpb24nID8gTWVzaG9wdERlY29kZXIoKSA6IE1lc2hvcHREZWNvZGVyLFxuXHRcdFx0KTtcblx0XHR9XG5cdH07XG59XG5cbmV4cG9ydCB0eXBlIE5ndHNHTFRGPFQgZXh0ZW5kcyBQYXJ0aWFsPE5ndE9iamVjdE1hcD4+ID0gR0xURiAmIE5ndE9iamVjdE1hcCAmIFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ3RzR0xURkxvYWRlcjxUVXJsIGV4dGVuZHMgc3RyaW5nIHwgc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pihcblx0cGF0aDogKCkgPT4gVFVybCxcblx0e1xuXHRcdHVzZURyYWNvID0gdHJ1ZSxcblx0XHR1c2VNZXNoT3B0ID0gdHJ1ZSxcblx0XHRpbmplY3Rvcixcblx0XHRleHRlbnNpb25zLFxuXHR9OiB7XG5cdFx0dXNlRHJhY28/OiBib29sZWFuIHwgc3RyaW5nO1xuXHRcdHVzZU1lc2hPcHQ/OiBib29sZWFuO1xuXHRcdGluamVjdG9yPzogSW5qZWN0b3I7XG5cdFx0ZXh0ZW5zaW9ucz86IChsb2FkZXI6IEdMVEZMb2FkZXIpID0+IHZvaWQ7XG5cdH0gPSB7fSxcbik6IFNpZ25hbDxOZ3RMb2FkZXJSZXN1bHRzPFRVcmwsIEdMVEYgJiBOZ3RPYmplY3RNYXA+IHwgbnVsbD4ge1xuXHRyZXR1cm4gaW5qZWN0Tmd0TG9hZGVyKCgpID0+IEdMVEZMb2FkZXIsIHBhdGgsIHtcblx0XHRleHRlbnNpb25zOiBfZXh0ZW5zaW9ucyh1c2VEcmFjbywgdXNlTWVzaE9wdCwgZXh0ZW5zaW9ucyksXG5cdFx0aW5qZWN0b3IsXG5cdH0pO1xufVxuXG5pbmplY3ROZ3RzR0xURkxvYWRlclsncHJlbG9hZCddID0gPFRVcmwgZXh0ZW5kcyBzdHJpbmcgfCBzdHJpbmdbXSB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KFxuXHRwYXRoOiAoKSA9PiBUVXJsLFxuXHR7XG5cdFx0dXNlRHJhY28gPSB0cnVlLFxuXHRcdHVzZU1lc2hPcHQgPSB0cnVlLFxuXHRcdGV4dGVuc2lvbnMsXG5cdH06IHtcblx0XHR1c2VEcmFjbz86IGJvb2xlYW4gfCBzdHJpbmc7XG5cdFx0dXNlTWVzaE9wdD86IGJvb2xlYW47XG5cdFx0ZXh0ZW5zaW9ucz86IChsb2FkZXI6IEdMVEZMb2FkZXIpID0+IHZvaWQ7XG5cdH0gPSB7fSxcbikgPT4ge1xuXHQoaW5qZWN0Tmd0TG9hZGVyIGFzIGFueSlbJ3ByZWxvYWQnXSgoKSA9PiBHTFRGTG9hZGVyLCBwYXRoLCBfZXh0ZW5zaW9ucyh1c2VEcmFjbywgdXNlTWVzaE9wdCwgZXh0ZW5zaW9ucykpO1xufTtcbiJdfQ==
|
|
@@ -1,138 +0,0 @@
|
|
|
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.2.2", ngImport: i0, type: NgtsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
75
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", 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.2.2", 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=
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, inject, runInInjectionContext, signal, untracked } 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
|
-
untracked(() => {
|
|
12
|
-
progress.update((prev) => ({
|
|
13
|
-
...prev,
|
|
14
|
-
active: true,
|
|
15
|
-
item,
|
|
16
|
-
loaded,
|
|
17
|
-
total,
|
|
18
|
-
progress: ((loaded - saveLastTotalLoaded) / (total - saveLastTotalLoaded)) * 100,
|
|
19
|
-
}));
|
|
20
|
-
});
|
|
21
|
-
safeDetectChanges(cdr);
|
|
22
|
-
};
|
|
23
|
-
THREE.DefaultLoadingManager.onLoad = () => {
|
|
24
|
-
untracked(() => {
|
|
25
|
-
progress.update((prev) => ({ ...prev, active: false }));
|
|
26
|
-
});
|
|
27
|
-
safeDetectChanges(cdr);
|
|
28
|
-
};
|
|
29
|
-
THREE.DefaultLoadingManager.onError = (url) => {
|
|
30
|
-
untracked(() => {
|
|
31
|
-
progress.update((prev) => ({ ...prev, errors: [...prev.errors, url] }));
|
|
32
|
-
});
|
|
33
|
-
safeDetectChanges(cdr);
|
|
34
|
-
};
|
|
35
|
-
THREE.DefaultLoadingManager.onProgress = (item, loaded, total) => {
|
|
36
|
-
if (loaded === total)
|
|
37
|
-
saveLastTotalLoaded = total;
|
|
38
|
-
untracked(() => {
|
|
39
|
-
progress.update((prev) => ({
|
|
40
|
-
...prev,
|
|
41
|
-
item,
|
|
42
|
-
loaded,
|
|
43
|
-
total,
|
|
44
|
-
progress: ((loaded - saveLastTotalLoaded) / (total - saveLastTotalLoaded)) * 100 || 100,
|
|
45
|
-
}));
|
|
46
|
-
});
|
|
47
|
-
safeDetectChanges(cdr);
|
|
48
|
-
};
|
|
49
|
-
return progress.asReadonly();
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbG9hZGVycy9zcmMvcHJvZ3Jlc3MvcHJvZ3Jlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFL0IsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFFBQW1CO0lBQ3JELFFBQVEsR0FBRyxzQkFBc0IsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRSxPQUFPLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDM0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQU9wQixFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU5RSxJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUU1QixLQUFLLENBQUMscUJBQXFCLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM3RCxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzFCLEdBQUcsSUFBSTtvQkFDUCxNQUFNLEVBQUUsSUFBSTtvQkFDWixJQUFJO29CQUNKLE1BQU07b0JBQ04sS0FBSztvQkFDTCxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLENBQUMsR0FBRyxHQUFHO2lCQUNoRixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUgsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDO1FBRUYsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztZQUNILGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztRQUVGLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM3QyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDekUsQ0FBQyxDQUFDLENBQUM7WUFDSCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUM7UUFFRixLQUFLLENBQUMscUJBQXFCLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNoRSxJQUFJLE1BQU0sS0FBSyxLQUFLO2dCQUFFLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUNsRCxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzFCLEdBQUcsSUFBSTtvQkFDUCxJQUFJO29CQUNKLE1BQU07b0JBQ04sS0FBSztvQkFDTCxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRztpQkFDdkYsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztRQUVGLE9BQU8sUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlCLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBpbmplY3QsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgc2lnbmFsLCB1bnRyYWNrZWQsIHR5cGUgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzc2VydEluamVjdGlvbkNvbnRleHQsIHNhZmVEZXRlY3RDaGFuZ2VzIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ3RzUHJvZ3Jlc3MoaW5qZWN0b3I/OiBJbmplY3Rvcikge1xuXHRpbmplY3RvciA9IGFzc2VydEluamVjdGlvbkNvbnRleHQoaW5qZWN0Tmd0c1Byb2dyZXNzLCBpbmplY3Rvcik7XG5cdHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG5cdFx0Y29uc3QgcHJvZ3Jlc3MgPSBzaWduYWw8e1xuXHRcdFx0ZXJyb3JzOiBzdHJpbmdbXTtcblx0XHRcdGFjdGl2ZTogYm9vbGVhbjtcblx0XHRcdHByb2dyZXNzOiBudW1iZXI7XG5cdFx0XHRpdGVtOiBzdHJpbmc7XG5cdFx0XHRsb2FkZWQ6IG51bWJlcjtcblx0XHRcdHRvdGFsOiBudW1iZXI7XG5cdFx0fT4oeyBlcnJvcnM6IFtdLCBhY3RpdmU6IGZhbHNlLCBwcm9ncmVzczogMCwgaXRlbTogJycsIGxvYWRlZDogMCwgdG90YWw6IDAgfSk7XG5cblx0XHRsZXQgc2F2ZUxhc3RUb3RhbExvYWRlZCA9IDA7XG5cblx0XHRUSFJFRS5EZWZhdWx0TG9hZGluZ01hbmFnZXIub25TdGFydCA9IChpdGVtLCBsb2FkZWQsIHRvdGFsKSA9PiB7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRwcm9ncmVzcy51cGRhdGUoKHByZXYpID0+ICh7XG5cdFx0XHRcdFx0Li4ucHJldixcblx0XHRcdFx0XHRhY3RpdmU6IHRydWUsXG5cdFx0XHRcdFx0aXRlbSxcblx0XHRcdFx0XHRsb2FkZWQsXG5cdFx0XHRcdFx0dG90YWwsXG5cdFx0XHRcdFx0cHJvZ3Jlc3M6ICgobG9hZGVkIC0gc2F2ZUxhc3RUb3RhbExvYWRlZCkgLyAodG90YWwgLSBzYXZlTGFzdFRvdGFsTG9hZGVkKSkgKiAxMDAsXG5cdFx0XHRcdH0pKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRzYWZlRGV0ZWN0Q2hhbmdlcyhjZHIpO1xuXHRcdH07XG5cblx0XHRUSFJFRS5EZWZhdWx0TG9hZGluZ01hbmFnZXIub25Mb2FkID0gKCkgPT4ge1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0cHJvZ3Jlc3MudXBkYXRlKChwcmV2KSA9PiAoeyAuLi5wcmV2LCBhY3RpdmU6IGZhbHNlIH0pKTtcblx0XHRcdH0pO1xuXHRcdFx0c2FmZURldGVjdENoYW5nZXMoY2RyKTtcblx0XHR9O1xuXG5cdFx0VEhSRUUuRGVmYXVsdExvYWRpbmdNYW5hZ2VyLm9uRXJyb3IgPSAodXJsKSA9PiB7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRwcm9ncmVzcy51cGRhdGUoKHByZXYpID0+ICh7IC4uLnByZXYsIGVycm9yczogWy4uLnByZXYuZXJyb3JzLCB1cmxdIH0pKTtcblx0XHRcdH0pO1xuXHRcdFx0c2FmZURldGVjdENoYW5nZXMoY2RyKTtcblx0XHR9O1xuXG5cdFx0VEhSRUUuRGVmYXVsdExvYWRpbmdNYW5hZ2VyLm9uUHJvZ3Jlc3MgPSAoaXRlbSwgbG9hZGVkLCB0b3RhbCkgPT4ge1xuXHRcdFx0aWYgKGxvYWRlZCA9PT0gdG90YWwpIHNhdmVMYXN0VG90YWxMb2FkZWQgPSB0b3RhbDtcblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdHByb2dyZXNzLnVwZGF0ZSgocHJldikgPT4gKHtcblx0XHRcdFx0XHQuLi5wcmV2LFxuXHRcdFx0XHRcdGl0ZW0sXG5cdFx0XHRcdFx0bG9hZGVkLFxuXHRcdFx0XHRcdHRvdGFsLFxuXHRcdFx0XHRcdHByb2dyZXNzOiAoKGxvYWRlZCAtIHNhdmVMYXN0VG90YWxMb2FkZWQpIC8gKHRvdGFsIC0gc2F2ZUxhc3RUb3RhbExvYWRlZCkpICogMTAwIHx8IDEwMCxcblx0XHRcdFx0fSkpO1xuXHRcdFx0fSk7XG5cblx0XHRcdHNhZmVEZXRlY3RDaGFuZ2VzKGNkcik7XG5cdFx0fTtcblxuXHRcdHJldHVybiBwcm9ncmVzcy5hc1JlYWRvbmx5KCk7XG5cdH0pO1xufVxuIl19
|
|
@@ -1,28 +0,0 @@
|
|
|
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=
|