angular-three-soba 1.14.0 → 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 +38 -27
- 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,13 @@
|
|
|
1
|
+
export const ENVIRONMENT_PRESETS = {
|
|
2
|
+
apartment: 'lebombo_1k.hdr',
|
|
3
|
+
city: 'potsdamer_platz_1k.hdr',
|
|
4
|
+
dawn: 'kiara_1_dawn_1k.hdr',
|
|
5
|
+
forest: 'forest_slope_1k.hdr',
|
|
6
|
+
lobby: 'st_fagans_interior_1k.hdr',
|
|
7
|
+
night: 'dikhololo_night_1k.hdr',
|
|
8
|
+
park: 'rooitou_park_1k.hdr',
|
|
9
|
+
studio: 'studio_small_03_1k.hdr',
|
|
10
|
+
sunset: 'venice_sunset_1k.hdr',
|
|
11
|
+
warehouse: 'empty_warehouse_01_1k.hdr',
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2Vudmlyb25tZW50L2Fzc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNsQyxTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsSUFBSSxFQUFFLHFCQUFxQjtJQUMzQixNQUFNLEVBQUUscUJBQXFCO0lBQzdCLEtBQUssRUFBRSwyQkFBMkI7SUFDbEMsS0FBSyxFQUFFLHdCQUF3QjtJQUMvQixJQUFJLEVBQUUscUJBQXFCO0lBQzNCLE1BQU0sRUFBRSx3QkFBd0I7SUFDaEMsTUFBTSxFQUFFLHNCQUFzQjtJQUM5QixTQUFTLEVBQUUsMkJBQTJCO0NBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRU5WSVJPTk1FTlRfUFJFU0VUUyA9IHtcblx0YXBhcnRtZW50OiAnbGVib21ib18xay5oZHInLFxuXHRjaXR5OiAncG90c2RhbWVyX3BsYXR6XzFrLmhkcicsXG5cdGRhd246ICdraWFyYV8xX2Rhd25fMWsuaGRyJyxcblx0Zm9yZXN0OiAnZm9yZXN0X3Nsb3BlXzFrLmhkcicsXG5cdGxvYmJ5OiAnc3RfZmFnYW5zX2ludGVyaW9yXzFrLmhkcicsXG5cdG5pZ2h0OiAnZGlraG9sb2xvX25pZ2h0XzFrLmhkcicsXG5cdHBhcms6ICdyb29pdG91X3BhcmtfMWsuaGRyJyxcblx0c3R1ZGlvOiAnc3R1ZGlvX3NtYWxsXzAzXzFrLmhkcicsXG5cdHN1bnNldDogJ3ZlbmljZV9zdW5zZXRfMWsuaGRyJyxcblx0d2FyZWhvdXNlOiAnZW1wdHlfd2FyZWhvdXNlXzAxXzFrLmhkcicsXG59O1xuXG5leHBvcnQgdHlwZSBOZ3RzRW52aXJvbm1lbnRQcmVzZXRzVHlwZSA9IGtleW9mIHR5cGVvZiBFTlZJUk9OTUVOVF9QUkVTRVRTO1xuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Directive, Input, effect, inject } from '@angular/core';
|
|
2
|
+
import { injectNgtStore, signalStore } from 'angular-three';
|
|
3
|
+
import { NgtsEnvironmentInput } from './environment-input';
|
|
4
|
+
import { injectNgtsEnvironment, setEnvProps } from './utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NgtsEnvironmentCube {
|
|
7
|
+
set _background(background) {
|
|
8
|
+
this.inputs.set({ background });
|
|
9
|
+
}
|
|
10
|
+
constructor() {
|
|
11
|
+
this.environmentInput = inject(NgtsEnvironmentInput);
|
|
12
|
+
this.inputs = signalStore({ background: false });
|
|
13
|
+
this.store = injectNgtStore();
|
|
14
|
+
this.scene = this.store.select('scene');
|
|
15
|
+
this.background = this.inputs.select('background');
|
|
16
|
+
this.textureRef = injectNgtsEnvironment(this.environmentInput.params);
|
|
17
|
+
this.setEnvProps();
|
|
18
|
+
}
|
|
19
|
+
setEnvProps() {
|
|
20
|
+
effect((onCleanup) => {
|
|
21
|
+
const [defaultScene, scene, background, blur, texture] = [
|
|
22
|
+
this.scene(),
|
|
23
|
+
this.environmentInput.scene(),
|
|
24
|
+
this.background(),
|
|
25
|
+
this.environmentInput.blur(),
|
|
26
|
+
this.textureRef.nativeElement,
|
|
27
|
+
];
|
|
28
|
+
if (!texture)
|
|
29
|
+
return;
|
|
30
|
+
const cleanUp = setEnvProps(background, scene, defaultScene, texture, blur);
|
|
31
|
+
onCleanup(cleanUp);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironmentCube, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: NgtsEnvironmentCube, isStandalone: true, selector: "ngts-environment-cube", inputs: { _background: ["background", "_background"] }, ngImport: i0 }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironmentCube, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{
|
|
40
|
+
selector: 'ngts-environment-cube',
|
|
41
|
+
standalone: true,
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: function () { return []; }, propDecorators: { _background: [{
|
|
44
|
+
type: Input,
|
|
45
|
+
args: [{ alias: 'background' }]
|
|
46
|
+
}] } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtY3ViZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9zdGFnaW5nL3NyYy9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC1jdWJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUE2QixNQUFNLHFCQUFxQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBTTdELE1BQU0sT0FBTyxtQkFBbUI7SUFLL0IsSUFBb0MsV0FBVyxDQUFDLFVBQW1CO1FBQ2xFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBUUQ7UUFkQSxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV4QyxXQUFNLEdBQUcsV0FBVyxDQUFnRCxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBTTNGLFVBQUssR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUN6QixVQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsZUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLGVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFHeEUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxXQUFXO1FBQ2xCLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUc7Z0JBQ3hELElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhO2FBQzdCLENBQUM7WUFDRixJQUFJLENBQUMsT0FBTztnQkFBRSxPQUFPO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxVQUFXLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0UsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0FoQ1csbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ2hCOzBFQU1vQyxXQUFXO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGVmZmVjdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3ROZ3RTdG9yZSwgc2lnbmFsU3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndHNFbnZpcm9ubWVudElucHV0LCBOZ3RzRW52aXJvbm1lbnRJbnB1dFN0YXRlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC1pbnB1dCc7XG5pbXBvcnQgeyBpbmplY3ROZ3RzRW52aXJvbm1lbnQsIHNldEVudlByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndHMtZW52aXJvbm1lbnQtY3ViZScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNFbnZpcm9ubWVudEN1YmUge1xuXHRlbnZpcm9ubWVudElucHV0ID0gaW5qZWN0KE5ndHNFbnZpcm9ubWVudElucHV0KTtcblxuXHRwcml2YXRlIGlucHV0cyA9IHNpZ25hbFN0b3JlPFBpY2s8Tmd0c0Vudmlyb25tZW50SW5wdXRTdGF0ZSwgJ2JhY2tncm91bmQnPj4oeyBiYWNrZ3JvdW5kOiBmYWxzZSB9KTtcblxuXHRASW5wdXQoeyBhbGlhczogJ2JhY2tncm91bmQnIH0pIHNldCBfYmFja2dyb3VuZChiYWNrZ3JvdW5kOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgYmFja2dyb3VuZCB9KTtcblx0fVxuXG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3ROZ3RTdG9yZSgpO1xuXHRwcml2YXRlIHNjZW5lID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3NjZW5lJyk7XG5cblx0cHJpdmF0ZSBiYWNrZ3JvdW5kID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdiYWNrZ3JvdW5kJyk7XG5cdHByaXZhdGUgdGV4dHVyZVJlZiA9IGluamVjdE5ndHNFbnZpcm9ubWVudCh0aGlzLmVudmlyb25tZW50SW5wdXQucGFyYW1zKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLnNldEVudlByb3BzKCk7XG5cdH1cblxuXHRwcml2YXRlIHNldEVudlByb3BzKCkge1xuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBbZGVmYXVsdFNjZW5lLCBzY2VuZSwgYmFja2dyb3VuZCwgYmx1ciwgdGV4dHVyZV0gPSBbXG5cdFx0XHRcdHRoaXMuc2NlbmUoKSxcblx0XHRcdFx0dGhpcy5lbnZpcm9ubWVudElucHV0LnNjZW5lKCksXG5cdFx0XHRcdHRoaXMuYmFja2dyb3VuZCgpLFxuXHRcdFx0XHR0aGlzLmVudmlyb25tZW50SW5wdXQuYmx1cigpLFxuXHRcdFx0XHR0aGlzLnRleHR1cmVSZWYubmF0aXZlRWxlbWVudCxcblx0XHRcdF07XG5cdFx0XHRpZiAoIXRleHR1cmUpIHJldHVybjtcblx0XHRcdGNvbnN0IGNsZWFuVXAgPSBzZXRFbnZQcm9wcyhiYWNrZ3JvdW5kISwgc2NlbmUsIGRlZmF1bHRTY2VuZSwgdGV4dHVyZSwgYmx1cik7XG5cdFx0XHRvbkNsZWFudXAoY2xlYW5VcCk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, inject } from '@angular/core';
|
|
2
|
+
import { extend, NgtArgs } from 'angular-three';
|
|
3
|
+
import { GroundProjectedEnv } from 'three-stdlib';
|
|
4
|
+
import { NgtsEnvironmentInput } from './environment-input';
|
|
5
|
+
import { NgtsEnvironmentMap } from './environment-map';
|
|
6
|
+
import { injectNgtsEnvironment } from './utils';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
extend({ GroundProjectedEnv });
|
|
9
|
+
export class NgtsEnvironmentGround {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.environmentInput = inject(NgtsEnvironmentInput);
|
|
12
|
+
this.defaultTexture = injectNgtsEnvironment(this.environmentInput.params);
|
|
13
|
+
this.texture = computed(() => {
|
|
14
|
+
const defaultTexture = this.defaultTexture.nativeElement;
|
|
15
|
+
return this.environmentInput.map() || defaultTexture;
|
|
16
|
+
});
|
|
17
|
+
this.groundArgs = computed(() => (this.texture() ? [this.texture()] : []));
|
|
18
|
+
this.height = computed(() => this.environmentInput.ground()?.height);
|
|
19
|
+
this.radius = computed(() => this.environmentInput.ground()?.radius);
|
|
20
|
+
this.scale = computed(() => this.environmentInput.ground()?.scale ?? 1000);
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironmentGround, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtsEnvironmentGround, isStandalone: true, selector: "ngts-environment-ground", ngImport: i0, template: `
|
|
24
|
+
<ngts-environment-map [map]="texture()" [background]="!!environmentInput.background()" />
|
|
25
|
+
<ngt-ground-projected-env *args="groundArgs()" [scale]="scale()" [height]="height()" [radius]="radius()" />
|
|
26
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgtsEnvironmentMap, selector: "ngts-environment-map", inputs: ["map", "background"] }, { kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironmentGround, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{
|
|
31
|
+
selector: 'ngts-environment-ground',
|
|
32
|
+
standalone: true,
|
|
33
|
+
template: `
|
|
34
|
+
<ngts-environment-map [map]="texture()" [background]="!!environmentInput.background()" />
|
|
35
|
+
<ngt-ground-projected-env *args="groundArgs()" [scale]="scale()" [height]="height()" [radius]="radius()" />
|
|
36
|
+
`,
|
|
37
|
+
imports: [NgtsEnvironmentMap, NgtArgs],
|
|
38
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
39
|
+
}]
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtZ3JvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2Vudmlyb25tZW50L2Vudmlyb25tZW50LWdyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFaEQsTUFBTSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0FBWS9CLE1BQU0sT0FBTyxxQkFBcUI7SUFWbEM7UUFXQyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN4QyxtQkFBYyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3RSxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQztZQUN6RCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxjQUFjLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pFLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pFLFVBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBVSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQztLQUMvRTs4R0FiWSxxQkFBcUI7a0dBQXJCLHFCQUFxQixtRkFQdkI7OztFQUdULDREQUNTLGtCQUFrQixnR0FBRSxPQUFPOzsyRkFHekIscUJBQXFCO2tCQVZqQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7OztFQUdUO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIE5ndEFyZ3MgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEdyb3VuZFByb2plY3RlZEVudiB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5pbXBvcnQgeyBOZ3RzRW52aXJvbm1lbnRJbnB1dCB9IGZyb20gJy4vZW52aXJvbm1lbnQtaW5wdXQnO1xuaW1wb3J0IHsgTmd0c0Vudmlyb25tZW50TWFwIH0gZnJvbSAnLi9lbnZpcm9ubWVudC1tYXAnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0c0Vudmlyb25tZW50IH0gZnJvbSAnLi91dGlscyc7XG5cbmV4dGVuZCh7IEdyb3VuZFByb2plY3RlZEVudiB9KTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1lbnZpcm9ubWVudC1ncm91bmQnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3RzLWVudmlyb25tZW50LW1hcCBbbWFwXT1cInRleHR1cmUoKVwiIFtiYWNrZ3JvdW5kXT1cIiEhZW52aXJvbm1lbnRJbnB1dC5iYWNrZ3JvdW5kKClcIiAvPlxuXHRcdDxuZ3QtZ3JvdW5kLXByb2plY3RlZC1lbnYgKmFyZ3M9XCJncm91bmRBcmdzKClcIiBbc2NhbGVdPVwic2NhbGUoKVwiIFtoZWlnaHRdPVwiaGVpZ2h0KClcIiBbcmFkaXVzXT1cInJhZGl1cygpXCIgLz5cblx0YCxcblx0aW1wb3J0czogW05ndHNFbnZpcm9ubWVudE1hcCwgTmd0QXJnc10sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0Vudmlyb25tZW50R3JvdW5kIHtcblx0ZW52aXJvbm1lbnRJbnB1dCA9IGluamVjdChOZ3RzRW52aXJvbm1lbnRJbnB1dCk7XG5cdHByaXZhdGUgZGVmYXVsdFRleHR1cmUgPSBpbmplY3ROZ3RzRW52aXJvbm1lbnQodGhpcy5lbnZpcm9ubWVudElucHV0LnBhcmFtcyk7XG5cblx0dGV4dHVyZSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBkZWZhdWx0VGV4dHVyZSA9IHRoaXMuZGVmYXVsdFRleHR1cmUubmF0aXZlRWxlbWVudDtcblx0XHRyZXR1cm4gdGhpcy5lbnZpcm9ubWVudElucHV0Lm1hcCgpIHx8IGRlZmF1bHRUZXh0dXJlO1xuXHR9KTtcblxuXHRncm91bmRBcmdzID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMudGV4dHVyZSgpID8gW3RoaXMudGV4dHVyZSgpXSA6IFtdKSk7XG5cdGhlaWdodCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmVudmlyb25tZW50SW5wdXQuZ3JvdW5kKCkgYXMgYW55KT8uaGVpZ2h0KTtcblx0cmFkaXVzID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuZW52aXJvbm1lbnRJbnB1dC5ncm91bmQoKSBhcyBhbnkpPy5yYWRpdXMpO1xuXHRzY2FsZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmVudmlyb25tZW50SW5wdXQuZ3JvdW5kKCkgYXMgYW55KT8uc2NhbGUgPz8gMTAwMCk7XG59XG4iXX0=
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { Directive, Input, computed } from '@angular/core';
|
|
2
|
+
import { signalStore } from 'angular-three';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class NgtsEnvironmentInput {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.inputs = signalStore({});
|
|
7
|
+
this.frames = this.inputs.select('frames');
|
|
8
|
+
this.near = this.inputs.select('near');
|
|
9
|
+
this.far = this.inputs.select('far');
|
|
10
|
+
this.resolution = this.inputs.select('resolution');
|
|
11
|
+
this.background = this.inputs.select('background');
|
|
12
|
+
this.blur = this.inputs.select('blur');
|
|
13
|
+
this.map = this.inputs.select('map');
|
|
14
|
+
this.files = this.inputs.select('files');
|
|
15
|
+
this.path = this.inputs.select('path');
|
|
16
|
+
this.preset = this.inputs.select('preset');
|
|
17
|
+
this.scene = this.inputs.select('scene');
|
|
18
|
+
this.extensions = this.inputs.select('extensions');
|
|
19
|
+
this.ground = this.inputs.select('ground');
|
|
20
|
+
this.encoding = this.inputs.select('encoding');
|
|
21
|
+
this.params = computed(() => ({
|
|
22
|
+
files: this.files(),
|
|
23
|
+
path: this.path(),
|
|
24
|
+
preset: this.preset(),
|
|
25
|
+
extensions: this.extensions(),
|
|
26
|
+
encoding: this.encoding(),
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
set _frames(frames) {
|
|
30
|
+
this.inputs.set({ frames });
|
|
31
|
+
}
|
|
32
|
+
set _near(near) {
|
|
33
|
+
this.inputs.set({ near });
|
|
34
|
+
}
|
|
35
|
+
set _far(far) {
|
|
36
|
+
this.inputs.set({ far });
|
|
37
|
+
}
|
|
38
|
+
set _resolution(resolution) {
|
|
39
|
+
this.inputs.set({ resolution });
|
|
40
|
+
}
|
|
41
|
+
set _background(background) {
|
|
42
|
+
this.inputs.set({ background });
|
|
43
|
+
}
|
|
44
|
+
set _blur(blur) {
|
|
45
|
+
this.inputs.set({ blur });
|
|
46
|
+
}
|
|
47
|
+
set _map(map) {
|
|
48
|
+
this.inputs.set({ map });
|
|
49
|
+
}
|
|
50
|
+
set _files(files) {
|
|
51
|
+
this.inputs.set({ files });
|
|
52
|
+
}
|
|
53
|
+
set _path(path) {
|
|
54
|
+
this.inputs.set({ path });
|
|
55
|
+
}
|
|
56
|
+
set _preset(preset) {
|
|
57
|
+
this.inputs.set({ preset });
|
|
58
|
+
}
|
|
59
|
+
set _scene(scene) {
|
|
60
|
+
this.inputs.set({ scene });
|
|
61
|
+
}
|
|
62
|
+
set _extensions(extensions) {
|
|
63
|
+
this.inputs.set({ extensions });
|
|
64
|
+
}
|
|
65
|
+
set _ground(ground) {
|
|
66
|
+
this.inputs.set({ ground });
|
|
67
|
+
}
|
|
68
|
+
set _encoding(encoding) {
|
|
69
|
+
this.inputs.set({ encoding });
|
|
70
|
+
}
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironmentInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
72
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: NgtsEnvironmentInput, inputs: { _frames: ["frames", "_frames"], _near: ["near", "_near"], _far: ["far", "_far"], _resolution: ["resolution", "_resolution"], _background: ["background", "_background"], _blur: ["blur", "_blur"], _map: ["map", "_map"], _files: ["files", "_files"], _path: ["path", "_path"], _preset: ["preset", "_preset"], _scene: ["scene", "_scene"], _extensions: ["extensions", "_extensions"], _ground: ["ground", "_ground"], _encoding: ["encoding", "_encoding"] }, ngImport: i0 }); }
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironmentInput, decorators: [{
|
|
75
|
+
type: Directive
|
|
76
|
+
}], propDecorators: { _frames: [{
|
|
77
|
+
type: Input,
|
|
78
|
+
args: [{ alias: 'frames' }]
|
|
79
|
+
}], _near: [{
|
|
80
|
+
type: Input,
|
|
81
|
+
args: [{ alias: 'near' }]
|
|
82
|
+
}], _far: [{
|
|
83
|
+
type: Input,
|
|
84
|
+
args: [{ alias: 'far' }]
|
|
85
|
+
}], _resolution: [{
|
|
86
|
+
type: Input,
|
|
87
|
+
args: [{ alias: 'resolution' }]
|
|
88
|
+
}], _background: [{
|
|
89
|
+
type: Input,
|
|
90
|
+
args: [{ alias: 'background' }]
|
|
91
|
+
}], _blur: [{
|
|
92
|
+
type: Input,
|
|
93
|
+
args: [{ alias: 'blur' }]
|
|
94
|
+
}], _map: [{
|
|
95
|
+
type: Input,
|
|
96
|
+
args: [{ alias: 'map' }]
|
|
97
|
+
}], _files: [{
|
|
98
|
+
type: Input,
|
|
99
|
+
args: [{ alias: 'files' }]
|
|
100
|
+
}], _path: [{
|
|
101
|
+
type: Input,
|
|
102
|
+
args: [{ alias: 'path' }]
|
|
103
|
+
}], _preset: [{
|
|
104
|
+
type: Input,
|
|
105
|
+
args: [{ alias: 'preset' }]
|
|
106
|
+
}], _scene: [{
|
|
107
|
+
type: Input,
|
|
108
|
+
args: [{ alias: 'scene' }]
|
|
109
|
+
}], _extensions: [{
|
|
110
|
+
type: Input,
|
|
111
|
+
args: [{ alias: 'extensions' }]
|
|
112
|
+
}], _ground: [{
|
|
113
|
+
type: Input,
|
|
114
|
+
args: [{ alias: 'ground' }]
|
|
115
|
+
}], _encoding: [{
|
|
116
|
+
type: Input,
|
|
117
|
+
args: [{ alias: 'encoding' }]
|
|
118
|
+
}] } });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvZW52aXJvbm1lbnQvZW52aXJvbm1lbnQtaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBc0I1QyxNQUFNLE9BQWdCLG9CQUFvQjtJQUQxQztRQUVDLFdBQU0sR0FBRyxXQUFXLENBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBMERwRCxXQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsU0FBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLFFBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxlQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUMsZUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxRQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxXQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxXQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsYUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTFDLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtTQUN6QixDQUFDLENBQUMsQ0FBQztLQUNKO0lBOUVBLElBQWdDLE9BQU8sQ0FBQyxNQUEyQztRQUNsRixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQThCLEtBQUssQ0FBQyxJQUF1QztRQUMxRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQTZCLElBQUksQ0FBQyxHQUFxQztRQUN0RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQW9DLFdBQVcsQ0FBQyxVQUFtRDtRQUNsRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQW9DLFdBQVcsQ0FBQyxVQUFtRDtRQUNsRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQThCLEtBQUssQ0FBQyxJQUF1QztRQUMxRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQTZCLElBQUksQ0FBQyxHQUFxQztRQUN0RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQStCLE1BQU0sQ0FBQyxLQUF5QztRQUM5RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQThCLEtBQUssQ0FBQyxJQUF1QztRQUMxRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQWdDLE9BQU8sQ0FBQyxNQUEyQztRQUNsRixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQStCLE1BQU0sQ0FBQyxLQUF5QztRQUM5RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQW9DLFdBQVcsQ0FBQyxVQUFtRDtRQUNsRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQWdDLE9BQU8sQ0FBQyxNQUEyQztRQUNsRixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQWtDLFNBQVMsQ0FBQyxRQUErQztRQUMxRixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0F6RG9CLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUR6QyxTQUFTOzhCQUl1QixPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFJSSxLQUFLO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFJSyxJQUFJO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtnQkFJYSxXQUFXO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFJTSxXQUFXO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFJQSxLQUFLO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFJSyxJQUFJO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtnQkFJUSxNQUFNO3NCQUFwQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFJSyxLQUFLO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFJUSxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFJSyxNQUFNO3NCQUFwQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFJVyxXQUFXO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFJRSxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFJUSxTQUFTO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzaWduYWxTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHR5cGUgeyBMb2FkZXIsIFNjZW5lLCBUZXh0dXJlLCBUZXh0dXJlRW5jb2RpbmcgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RzRW52aXJvbm1lbnRQcmVzZXRzVHlwZSB9IGZyb20gJy4vYXNzZXRzJztcblxuZXhwb3J0IHR5cGUgTmd0c0Vudmlyb25tZW50SW5wdXRTdGF0ZSA9IHtcblx0ZnJhbWVzPzogbnVtYmVyO1xuXHRuZWFyPzogbnVtYmVyO1xuXHRmYXI/OiBudW1iZXI7XG5cdHJlc29sdXRpb24/OiBudW1iZXI7XG5cdGJhY2tncm91bmQ/OiBib29sZWFuIHwgJ29ubHknO1xuXHRibHVyPzogbnVtYmVyO1xuXHRtYXA/OiBUZXh0dXJlO1xuXHRmaWxlcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXHRwYXRoPzogc3RyaW5nO1xuXHRwcmVzZXQ/OiBOZ3RzRW52aXJvbm1lbnRQcmVzZXRzVHlwZTtcblx0c2NlbmU/OiBTY2VuZSB8IEVsZW1lbnRSZWY8U2NlbmU+O1xuXHRleHRlbnNpb25zPzogKGxvYWRlcjogTG9hZGVyKSA9PiB2b2lkO1xuXHRncm91bmQ/OiBib29sZWFuIHwgeyByYWRpdXM/OiBudW1iZXI7IGhlaWdodD86IG51bWJlcjsgc2NhbGU/OiBudW1iZXIgfTtcblx0ZW5jb2Rpbmc/OiBUZXh0dXJlRW5jb2Rpbmc7XG59O1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOZ3RzRW52aXJvbm1lbnRJbnB1dCB7XG5cdGlucHV0cyA9IHNpZ25hbFN0b3JlPE5ndHNFbnZpcm9ubWVudElucHV0U3RhdGU+KHt9KTtcblxuXHRASW5wdXQoeyBhbGlhczogJ2ZyYW1lcycgfSkgc2V0IF9mcmFtZXMoZnJhbWVzOiBOZ3RzRW52aXJvbm1lbnRJbnB1dFN0YXRlWydmcmFtZXMnXSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGZyYW1lcyB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnbmVhcicgfSkgc2V0IF9uZWFyKG5lYXI6IE5ndHNFbnZpcm9ubWVudElucHV0U3RhdGVbJ25lYXInXSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IG5lYXIgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2ZhcicgfSkgc2V0IF9mYXIoZmFyOiBOZ3RzRW52aXJvbm1lbnRJbnB1dFN0YXRlWydmYXInXSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGZhciB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAncmVzb2x1dGlvbicgfSkgc2V0IF9yZXNvbHV0aW9uKHJlc29sdXRpb246IE5ndHNFbnZpcm9ubWVudElucHV0U3RhdGVbJ3Jlc29sdXRpb24nXSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHJlc29sdXRpb24gfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2JhY2tncm91bmQnIH0pIHNldCBfYmFja2dyb3VuZChiYWNrZ3JvdW5kOiBOZ3RzRW52aXJvbm1lbnRJbnB1dFN0YXRlWydiYWNrZ3JvdW5kJ10pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBiYWNrZ3JvdW5kIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdibHVyJyB9KSBzZXQgX2JsdXIoYmx1cjogTmd0c0Vudmlyb25tZW50SW5wdXRTdGF0ZVsnYmx1ciddKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgYmx1ciB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnbWFwJyB9KSBzZXQgX21hcChtYXA6IE5ndHNFbnZpcm9ubWVudElucHV0U3RhdGVbJ21hcCddKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbWFwIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdmaWxlcycgfSkgc2V0IF9maWxlcyhmaWxlczogTmd0c0Vudmlyb25tZW50SW5wdXRTdGF0ZVsnZmlsZXMnXSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGZpbGVzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdwYXRoJyB9KSBzZXQgX3BhdGgocGF0aDogTmd0c0Vudmlyb25tZW50SW5wdXRTdGF0ZVsncGF0aCddKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgcGF0aCB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAncHJlc2V0JyB9KSBzZXQgX3ByZXNldChwcmVzZXQ6IE5ndHNFbnZpcm9ubWVudElucHV0U3RhdGVbJ3ByZXNldCddKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgcHJlc2V0IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdzY2VuZScgfSkgc2V0IF9zY2VuZShzY2VuZTogTmd0c0Vudmlyb25tZW50SW5wdXRTdGF0ZVsnc2NlbmUnXSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHNjZW5lIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdleHRlbnNpb25zJyB9KSBzZXQgX2V4dGVuc2lvbnMoZXh0ZW5zaW9uczogTmd0c0Vudmlyb25tZW50SW5wdXRTdGF0ZVsnZXh0ZW5zaW9ucyddKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZXh0ZW5zaW9ucyB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnZ3JvdW5kJyB9KSBzZXQgX2dyb3VuZChncm91bmQ6IE5ndHNFbnZpcm9ubWVudElucHV0U3RhdGVbJ2dyb3VuZCddKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZ3JvdW5kIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdlbmNvZGluZycgfSkgc2V0IF9lbmNvZGluZyhlbmNvZGluZzogTmd0c0Vudmlyb25tZW50SW5wdXRTdGF0ZVsnZW5jb2RpbmcnXSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGVuY29kaW5nIH0pO1xuXHR9XG5cblx0ZnJhbWVzID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdmcmFtZXMnKTtcblx0bmVhciA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnbmVhcicpO1xuXHRmYXIgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2ZhcicpO1xuXHRyZXNvbHV0aW9uID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdyZXNvbHV0aW9uJyk7XG5cdGJhY2tncm91bmQgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2JhY2tncm91bmQnKTtcblx0Ymx1ciA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnYmx1cicpO1xuXHRtYXAgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ21hcCcpO1xuXHRmaWxlcyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnZmlsZXMnKTtcblx0cGF0aCA9IHRoaXMuaW5wdXRzLnNlbGVjdCgncGF0aCcpO1xuXHRwcmVzZXQgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ3ByZXNldCcpO1xuXHRzY2VuZSA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnc2NlbmUnKTtcblx0ZXh0ZW5zaW9ucyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnZXh0ZW5zaW9ucycpO1xuXHRncm91bmQgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2dyb3VuZCcpO1xuXHRlbmNvZGluZyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnZW5jb2RpbmcnKTtcblxuXHRwYXJhbXMgPSBjb21wdXRlZCgoKSA9PiAoe1xuXHRcdGZpbGVzOiB0aGlzLmZpbGVzKCksXG5cdFx0cGF0aDogdGhpcy5wYXRoKCksXG5cdFx0cHJlc2V0OiB0aGlzLnByZXNldCgpLFxuXHRcdGV4dGVuc2lvbnM6IHRoaXMuZXh0ZW5zaW9ucygpLFxuXHRcdGVuY29kaW5nOiB0aGlzLmVuY29kaW5nKCksXG5cdH0pKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Directive, Input, effect, inject } from '@angular/core';
|
|
2
|
+
import { injectNgtStore, signalStore } from 'angular-three';
|
|
3
|
+
import { NgtsEnvironmentInput } from './environment-input';
|
|
4
|
+
import { setEnvProps } from './utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NgtsEnvironmentMap {
|
|
7
|
+
set _map(map) {
|
|
8
|
+
this.inputs.set({ map });
|
|
9
|
+
}
|
|
10
|
+
set _background(background) {
|
|
11
|
+
this.inputs.set({ background });
|
|
12
|
+
}
|
|
13
|
+
constructor() {
|
|
14
|
+
this.environmentInput = inject(NgtsEnvironmentInput);
|
|
15
|
+
this.store = injectNgtStore();
|
|
16
|
+
this.inputs = signalStore({ background: false });
|
|
17
|
+
this.scene = this.store.select('scene');
|
|
18
|
+
this.background = this.inputs.select('background');
|
|
19
|
+
this.map = this.inputs.select('map');
|
|
20
|
+
this.setEnvProps();
|
|
21
|
+
}
|
|
22
|
+
setEnvProps() {
|
|
23
|
+
effect((onCleanup) => {
|
|
24
|
+
const [defaultScene, scene, background, blur, texture] = [
|
|
25
|
+
this.scene(),
|
|
26
|
+
this.environmentInput.scene(),
|
|
27
|
+
this.background(),
|
|
28
|
+
this.environmentInput.blur(),
|
|
29
|
+
this.map(),
|
|
30
|
+
];
|
|
31
|
+
if (!texture)
|
|
32
|
+
return;
|
|
33
|
+
const cleanUp = setEnvProps(background, scene, defaultScene, texture, blur);
|
|
34
|
+
onCleanup(cleanUp);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironmentMap, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
38
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: NgtsEnvironmentMap, isStandalone: true, selector: "ngts-environment-map", inputs: { _map: ["map", "_map"], _background: ["background", "_background"] }, ngImport: i0 }); }
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironmentMap, decorators: [{
|
|
41
|
+
type: Directive,
|
|
42
|
+
args: [{
|
|
43
|
+
selector: 'ngts-environment-map',
|
|
44
|
+
standalone: true,
|
|
45
|
+
}]
|
|
46
|
+
}], ctorParameters: function () { return []; }, propDecorators: { _map: [{
|
|
47
|
+
type: Input,
|
|
48
|
+
args: [{ alias: 'map' }]
|
|
49
|
+
}], _background: [{
|
|
50
|
+
type: Input,
|
|
51
|
+
args: [{ alias: 'background' }]
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtbWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2Vudmlyb25tZW50L2Vudmlyb25tZW50LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBNkIsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQU10QyxNQUFNLE9BQU8sa0JBQWtCO0lBTTlCLElBQTZCLElBQUksQ0FBQyxHQUFrQjtRQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQW9DLFdBQVcsQ0FBQyxVQUFtQjtRQUNsRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEO1FBYkEscUJBQWdCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEMsVUFBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRXpCLFdBQU0sR0FBRyxXQUFXLENBQXdELEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFjbkcsVUFBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLGVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxRQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFMdkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFNTyxXQUFXO1FBQ2xCLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUc7Z0JBQ3hELElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRTtnQkFDNUIsSUFBSSxDQUFDLEdBQUcsRUFBRTthQUNWLENBQUM7WUFDRixJQUFJLENBQUMsT0FBTztnQkFBRSxPQUFPO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxVQUFXLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0UsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0FuQ1csa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7aUJBQ2hCOzBFQU82QixJQUFJO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtnQkFJYSxXQUFXO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGVmZmVjdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3ROZ3RTdG9yZSwgc2lnbmFsU3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndHNFbnZpcm9ubWVudElucHV0LCBOZ3RzRW52aXJvbm1lbnRJbnB1dFN0YXRlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC1pbnB1dCc7XG5pbXBvcnQgeyBzZXRFbnZQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICduZ3RzLWVudmlyb25tZW50LW1hcCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNFbnZpcm9ubWVudE1hcCB7XG5cdGVudmlyb25tZW50SW5wdXQgPSBpbmplY3QoTmd0c0Vudmlyb25tZW50SW5wdXQpO1xuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblxuXHRwcml2YXRlIGlucHV0cyA9IHNpZ25hbFN0b3JlPFBpY2s8Tmd0c0Vudmlyb25tZW50SW5wdXRTdGF0ZSwgJ21hcCcgfCAnYmFja2dyb3VuZCc+Pih7IGJhY2tncm91bmQ6IGZhbHNlIH0pO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnbWFwJyB9KSBzZXQgX21hcChtYXA6IFRIUkVFLlRleHR1cmUpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBtYXAgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2JhY2tncm91bmQnIH0pIHNldCBfYmFja2dyb3VuZChiYWNrZ3JvdW5kOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgYmFja2dyb3VuZCB9KTtcblx0fVxuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMuc2V0RW52UHJvcHMoKTtcblx0fVxuXG5cdHByaXZhdGUgc2NlbmUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnc2NlbmUnKTtcblx0cHJpdmF0ZSBiYWNrZ3JvdW5kID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdiYWNrZ3JvdW5kJyk7XG5cdHByaXZhdGUgbWFwID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdtYXAnKTtcblxuXHRwcml2YXRlIHNldEVudlByb3BzKCkge1xuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBbZGVmYXVsdFNjZW5lLCBzY2VuZSwgYmFja2dyb3VuZCwgYmx1ciwgdGV4dHVyZV0gPSBbXG5cdFx0XHRcdHRoaXMuc2NlbmUoKSxcblx0XHRcdFx0dGhpcy5lbnZpcm9ubWVudElucHV0LnNjZW5lKCksXG5cdFx0XHRcdHRoaXMuYmFja2dyb3VuZCgpLFxuXHRcdFx0XHR0aGlzLmVudmlyb25tZW50SW5wdXQuYmx1cigpLFxuXHRcdFx0XHR0aGlzLm1hcCgpLFxuXHRcdFx0XTtcblx0XHRcdGlmICghdGV4dHVyZSkgcmV0dXJuO1xuXHRcdFx0Y29uc3QgY2xlYW5VcCA9IHNldEVudlByb3BzKGJhY2tncm91bmQhLCBzY2VuZSwgZGVmYXVsdFNjZW5lLCB0ZXh0dXJlLCBibHVyKTtcblx0XHRcdG9uQ2xlYW51cChjbGVhblVwKTtcblx0XHR9KTtcblx0fVxufVxuIl19
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { NgIf } from '@angular/common';
|
|
2
|
+
import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, inject } from '@angular/core';
|
|
3
|
+
import { extend, injectBeforeRender, injectNgtRef, injectNgtStore, NgtArgs, NgtPortal, NgtPortalContent, prepare, } from 'angular-three';
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
import { CubeCamera } from 'three';
|
|
6
|
+
import { NgtsEnvironmentCube } from './environment-cube';
|
|
7
|
+
import { NgtsEnvironmentInput } from './environment-input';
|
|
8
|
+
import { NgtsEnvironmentMap } from './environment-map';
|
|
9
|
+
import { setEnvProps } from './utils';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
extend({ CubeCamera });
|
|
12
|
+
export class NgtsEnvironmentPortal {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.environmentInput = inject(NgtsEnvironmentInput);
|
|
15
|
+
this.store = injectNgtStore();
|
|
16
|
+
this.gl = this.store.select('gl');
|
|
17
|
+
this.scene = this.store.select('scene');
|
|
18
|
+
this.virtualSceneRef = injectNgtRef(prepare(new THREE.Scene()));
|
|
19
|
+
this.cubeCameraRef = injectNgtRef();
|
|
20
|
+
this.fbo = computed(() => {
|
|
21
|
+
const fbo = new THREE.WebGLCubeRenderTarget(this.environmentInput.resolution());
|
|
22
|
+
fbo.texture.type = THREE.HalfFloatType;
|
|
23
|
+
return fbo;
|
|
24
|
+
});
|
|
25
|
+
this.cameraArgs = computed(() => [this.environmentInput.near(), this.environmentInput.far(), this.fbo()]);
|
|
26
|
+
effect(() => {
|
|
27
|
+
this.environmentInput.inputs.patch({
|
|
28
|
+
near: 1,
|
|
29
|
+
far: 1000,
|
|
30
|
+
resolution: 256,
|
|
31
|
+
frames: 1,
|
|
32
|
+
background: false,
|
|
33
|
+
preset: undefined,
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
this.setEnvProps();
|
|
37
|
+
this.beforeRender();
|
|
38
|
+
}
|
|
39
|
+
setEnvProps() {
|
|
40
|
+
effect((onCleanup) => {
|
|
41
|
+
const [virtualScene, blur, frames, background, scene, fbo, defaultScene, gl, cubeCamera] = [
|
|
42
|
+
this.virtualSceneRef.nativeElement,
|
|
43
|
+
this.environmentInput.blur(),
|
|
44
|
+
this.environmentInput.frames(),
|
|
45
|
+
this.environmentInput.background(),
|
|
46
|
+
this.environmentInput.scene(),
|
|
47
|
+
this.fbo(),
|
|
48
|
+
this.scene(),
|
|
49
|
+
this.gl(),
|
|
50
|
+
this.cubeCameraRef.nativeElement,
|
|
51
|
+
];
|
|
52
|
+
if (!cubeCamera || !virtualScene)
|
|
53
|
+
return;
|
|
54
|
+
if (frames === 1)
|
|
55
|
+
cubeCamera.update(gl, virtualScene);
|
|
56
|
+
const cleanUp = setEnvProps(background, scene, defaultScene, fbo.texture, blur);
|
|
57
|
+
onCleanup(cleanUp);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
beforeRender() {
|
|
61
|
+
let count = 1;
|
|
62
|
+
injectBeforeRender(({ gl }) => {
|
|
63
|
+
const { frames } = this.environmentInput.inputs.get();
|
|
64
|
+
if (frames === Infinity || count < frames) {
|
|
65
|
+
const camera = this.cubeCameraRef.nativeElement;
|
|
66
|
+
const virtualScene = this.virtualSceneRef.nativeElement;
|
|
67
|
+
if (camera && virtualScene) {
|
|
68
|
+
camera.update(gl, virtualScene);
|
|
69
|
+
count++;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironmentPortal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
75
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtsEnvironmentPortal, isStandalone: true, selector: "ngts-environment-portal", ngImport: i0, template: `
|
|
76
|
+
<ngt-portal [container]="virtualSceneRef">
|
|
77
|
+
<ng-template ngtPortalContent>
|
|
78
|
+
<ng-content />
|
|
79
|
+
<ngt-cube-camera *args="cameraArgs()" [ref]="cubeCameraRef" />
|
|
80
|
+
<ng-container *ngIf="environmentInput.files() || environmentInput.preset(); else environmentMap">
|
|
81
|
+
<ngts-environment-cube [background]="true" />
|
|
82
|
+
</ng-container>
|
|
83
|
+
<ng-template #environmentMap>
|
|
84
|
+
<ngts-environment-map *ngIf="environmentInput.map() as map" [background]="true" [map]="map" />
|
|
85
|
+
</ng-template>
|
|
86
|
+
</ng-template>
|
|
87
|
+
</ngt-portal>
|
|
88
|
+
`, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "state", "autoRender", "autoRenderPriority"], outputs: ["beforeRender"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[ngtPortalContent]" }, { kind: "directive", type: NgtsEnvironmentMap, selector: "ngts-environment-map", inputs: ["map", "background"] }, { kind: "directive", type: NgtsEnvironmentCube, selector: "ngts-environment-cube", inputs: ["background"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
89
|
+
}
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironmentPortal, decorators: [{
|
|
91
|
+
type: Component,
|
|
92
|
+
args: [{
|
|
93
|
+
selector: 'ngts-environment-portal',
|
|
94
|
+
standalone: true,
|
|
95
|
+
template: `
|
|
96
|
+
<ngt-portal [container]="virtualSceneRef">
|
|
97
|
+
<ng-template ngtPortalContent>
|
|
98
|
+
<ng-content />
|
|
99
|
+
<ngt-cube-camera *args="cameraArgs()" [ref]="cubeCameraRef" />
|
|
100
|
+
<ng-container *ngIf="environmentInput.files() || environmentInput.preset(); else environmentMap">
|
|
101
|
+
<ngts-environment-cube [background]="true" />
|
|
102
|
+
</ng-container>
|
|
103
|
+
<ng-template #environmentMap>
|
|
104
|
+
<ngts-environment-map *ngIf="environmentInput.map() as map" [background]="true" [map]="map" />
|
|
105
|
+
</ng-template>
|
|
106
|
+
</ng-template>
|
|
107
|
+
</ngt-portal>
|
|
108
|
+
`,
|
|
109
|
+
imports: [NgtPortal, NgtPortalContent, NgtsEnvironmentMap, NgtsEnvironmentCube, NgIf, NgtArgs],
|
|
110
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
111
|
+
}]
|
|
112
|
+
}], ctorParameters: function () { return []; } });
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtcG9ydGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2Vudmlyb25tZW50L2Vudmlyb25tZW50LXBvcnRhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQ04sTUFBTSxFQUNOLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osY0FBYyxFQUNkLE9BQU8sRUFDUCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE9BQU8sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRXRDLE1BQU0sQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFzQnZCLE1BQU0sT0FBTyxxQkFBcUI7SUFnQmpDO1FBZkEscUJBQWdCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEMsVUFBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBQ3pCLE9BQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixVQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0Msb0JBQWUsR0FBRyxZQUFZLENBQWMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RSxrQkFBYSxHQUFHLFlBQVksRUFBb0IsQ0FBQztRQUV6QyxRQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUNoRixHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQ3ZDLE9BQU8sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7UUFDSCxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBR3RHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDbEMsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsVUFBVSxFQUFFLEdBQUc7Z0JBQ2YsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsVUFBVSxFQUFFLEtBQUs7Z0JBQ2pCLE1BQU0sRUFBRSxTQUFTO2FBQ2pCLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sV0FBVztRQUNsQixNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNwQixNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsR0FBRztnQkFDMUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhO2dCQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO2dCQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFO2dCQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFO2dCQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO2dCQUM3QixJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWE7YUFDaEMsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxZQUFZO2dCQUFFLE9BQU87WUFDekMsSUFBSSxNQUFNLEtBQUssQ0FBQztnQkFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN0RCxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsVUFBVyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sWUFBWTtRQUNuQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUM3QixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN0RCxJQUFJLE1BQU0sS0FBSyxRQUFRLElBQUksS0FBSyxHQUFHLE1BQU8sRUFBRTtnQkFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7Z0JBQ2hELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO2dCQUN4RCxJQUFJLE1BQU0sSUFBSSxZQUFZLEVBQUU7b0JBQzNCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO29CQUNoQyxLQUFLLEVBQUUsQ0FBQztpQkFDUjthQUNEO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzhHQWhFVyxxQkFBcUI7a0dBQXJCLHFCQUFxQixtRkFqQnZCOzs7Ozs7Ozs7Ozs7O0VBYVQsNERBQ1MsU0FBUyxzSkFBRSxnQkFBZ0IsMEVBQUUsa0JBQWtCLGdHQUFFLG1CQUFtQiwwRkFBRSxJQUFJLDZGQUFFLE9BQU87OzJGQUdqRixxQkFBcUI7a0JBcEJqQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7RUFhVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQztvQkFDOUYsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBlZmZlY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcblx0ZXh0ZW5kLFxuXHRpbmplY3RCZWZvcmVSZW5kZXIsXG5cdGluamVjdE5ndFJlZixcblx0aW5qZWN0Tmd0U3RvcmUsXG5cdE5ndEFyZ3MsXG5cdE5ndFBvcnRhbCxcblx0Tmd0UG9ydGFsQ29udGVudCxcblx0cHJlcGFyZSxcbn0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBDdWJlQ2FtZXJhIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0c0Vudmlyb25tZW50Q3ViZSB9IGZyb20gJy4vZW52aXJvbm1lbnQtY3ViZSc7XG5pbXBvcnQgeyBOZ3RzRW52aXJvbm1lbnRJbnB1dCB9IGZyb20gJy4vZW52aXJvbm1lbnQtaW5wdXQnO1xuaW1wb3J0IHsgTmd0c0Vudmlyb25tZW50TWFwIH0gZnJvbSAnLi9lbnZpcm9ubWVudC1tYXAnO1xuaW1wb3J0IHsgc2V0RW52UHJvcHMgfSBmcm9tICcuL3V0aWxzJztcblxuZXh0ZW5kKHsgQ3ViZUNhbWVyYSB9KTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1lbnZpcm9ubWVudC1wb3J0YWwnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcG9ydGFsIFtjb250YWluZXJdPVwidmlydHVhbFNjZW5lUmVmXCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgbmd0UG9ydGFsQ29udGVudD5cblx0XHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHRcdFx0PG5ndC1jdWJlLWNhbWVyYSAqYXJncz1cImNhbWVyYUFyZ3MoKVwiIFtyZWZdPVwiY3ViZUNhbWVyYVJlZlwiIC8+XG5cdFx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJlbnZpcm9ubWVudElucHV0LmZpbGVzKCkgfHwgZW52aXJvbm1lbnRJbnB1dC5wcmVzZXQoKTsgZWxzZSBlbnZpcm9ubWVudE1hcFwiPlxuXHRcdFx0XHRcdDxuZ3RzLWVudmlyb25tZW50LWN1YmUgW2JhY2tncm91bmRdPVwidHJ1ZVwiIC8+XG5cdFx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgI2Vudmlyb25tZW50TWFwPlxuXHRcdFx0XHRcdDxuZ3RzLWVudmlyb25tZW50LW1hcCAqbmdJZj1cImVudmlyb25tZW50SW5wdXQubWFwKCkgYXMgbWFwXCIgW2JhY2tncm91bmRdPVwidHJ1ZVwiIFttYXBdPVwibWFwXCIgLz5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PC9uZ3QtcG9ydGFsPlxuXHRgLFxuXHRpbXBvcnRzOiBbTmd0UG9ydGFsLCBOZ3RQb3J0YWxDb250ZW50LCBOZ3RzRW52aXJvbm1lbnRNYXAsIE5ndHNFbnZpcm9ubWVudEN1YmUsIE5nSWYsIE5ndEFyZ3NdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNFbnZpcm9ubWVudFBvcnRhbCB7XG5cdGVudmlyb25tZW50SW5wdXQgPSBpbmplY3QoTmd0c0Vudmlyb25tZW50SW5wdXQpO1xuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblx0cHJpdmF0ZSBnbCA9IHRoaXMuc3RvcmUuc2VsZWN0KCdnbCcpO1xuXHRwcml2YXRlIHNjZW5lID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3NjZW5lJyk7XG5cblx0dmlydHVhbFNjZW5lUmVmID0gaW5qZWN0Tmd0UmVmPFRIUkVFLlNjZW5lPihwcmVwYXJlKG5ldyBUSFJFRS5TY2VuZSgpKSk7XG5cdGN1YmVDYW1lcmFSZWYgPSBpbmplY3ROZ3RSZWY8VEhSRUUuQ3ViZUNhbWVyYT4oKTtcblxuXHRwcml2YXRlIGZibyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBmYm8gPSBuZXcgVEhSRUUuV2ViR0xDdWJlUmVuZGVyVGFyZ2V0KHRoaXMuZW52aXJvbm1lbnRJbnB1dC5yZXNvbHV0aW9uKCkpO1xuXHRcdGZiby50ZXh0dXJlLnR5cGUgPSBUSFJFRS5IYWxmRmxvYXRUeXBlO1xuXHRcdHJldHVybiBmYm87XG5cdH0pO1xuXHRjYW1lcmFBcmdzID0gY29tcHV0ZWQoKCkgPT4gW3RoaXMuZW52aXJvbm1lbnRJbnB1dC5uZWFyKCkhLCB0aGlzLmVudmlyb25tZW50SW5wdXQuZmFyKCkhLCB0aGlzLmZibygpXSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdHRoaXMuZW52aXJvbm1lbnRJbnB1dC5pbnB1dHMucGF0Y2goe1xuXHRcdFx0XHRuZWFyOiAxLFxuXHRcdFx0XHRmYXI6IDEwMDAsXG5cdFx0XHRcdHJlc29sdXRpb246IDI1Nixcblx0XHRcdFx0ZnJhbWVzOiAxLFxuXHRcdFx0XHRiYWNrZ3JvdW5kOiBmYWxzZSxcblx0XHRcdFx0cHJlc2V0OiB1bmRlZmluZWQsXG5cdFx0XHR9KTtcblx0XHR9KTtcblx0XHR0aGlzLnNldEVudlByb3BzKCk7XG5cdFx0dGhpcy5iZWZvcmVSZW5kZXIoKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0RW52UHJvcHMoKSB7XG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IFt2aXJ0dWFsU2NlbmUsIGJsdXIsIGZyYW1lcywgYmFja2dyb3VuZCwgc2NlbmUsIGZibywgZGVmYXVsdFNjZW5lLCBnbCwgY3ViZUNhbWVyYV0gPSBbXG5cdFx0XHRcdHRoaXMudmlydHVhbFNjZW5lUmVmLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMuZW52aXJvbm1lbnRJbnB1dC5ibHVyKCksXG5cdFx0XHRcdHRoaXMuZW52aXJvbm1lbnRJbnB1dC5mcmFtZXMoKSxcblx0XHRcdFx0dGhpcy5lbnZpcm9ubWVudElucHV0LmJhY2tncm91bmQoKSxcblx0XHRcdFx0dGhpcy5lbnZpcm9ubWVudElucHV0LnNjZW5lKCksXG5cdFx0XHRcdHRoaXMuZmJvKCksXG5cdFx0XHRcdHRoaXMuc2NlbmUoKSxcblx0XHRcdFx0dGhpcy5nbCgpLFxuXHRcdFx0XHR0aGlzLmN1YmVDYW1lcmFSZWYubmF0aXZlRWxlbWVudCxcblx0XHRcdF07XG5cdFx0XHRpZiAoIWN1YmVDYW1lcmEgfHwgIXZpcnR1YWxTY2VuZSkgcmV0dXJuO1xuXHRcdFx0aWYgKGZyYW1lcyA9PT0gMSkgY3ViZUNhbWVyYS51cGRhdGUoZ2wsIHZpcnR1YWxTY2VuZSk7XG5cdFx0XHRjb25zdCBjbGVhblVwID0gc2V0RW52UHJvcHMoYmFja2dyb3VuZCEsIHNjZW5lLCBkZWZhdWx0U2NlbmUsIGZiby50ZXh0dXJlLCBibHVyKTtcblx0XHRcdG9uQ2xlYW51cChjbGVhblVwKTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgYmVmb3JlUmVuZGVyKCkge1xuXHRcdGxldCBjb3VudCA9IDE7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGdsIH0pID0+IHtcblx0XHRcdGNvbnN0IHsgZnJhbWVzIH0gPSB0aGlzLmVudmlyb25tZW50SW5wdXQuaW5wdXRzLmdldCgpO1xuXHRcdFx0aWYgKGZyYW1lcyA9PT0gSW5maW5pdHkgfHwgY291bnQgPCBmcmFtZXMhKSB7XG5cdFx0XHRcdGNvbnN0IGNhbWVyYSA9IHRoaXMuY3ViZUNhbWVyYVJlZi5uYXRpdmVFbGVtZW50O1xuXHRcdFx0XHRjb25zdCB2aXJ0dWFsU2NlbmUgPSB0aGlzLnZpcnR1YWxTY2VuZVJlZi5uYXRpdmVFbGVtZW50O1xuXHRcdFx0XHRpZiAoY2FtZXJhICYmIHZpcnR1YWxTY2VuZSkge1xuXHRcdFx0XHRcdGNhbWVyYS51cGRhdGUoZ2wsIHZpcnR1YWxTY2VuZSk7XG5cdFx0XHRcdFx0Y291bnQrKztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, TemplateRef } from '@angular/core';
|
|
3
|
+
import { NgtsSobaContent } from 'angular-three-soba/utils';
|
|
4
|
+
import { NgtsEnvironmentCube } from './environment-cube';
|
|
5
|
+
import { NgtsEnvironmentGround } from './environment-ground';
|
|
6
|
+
import { NgtsEnvironmentInput } from './environment-input';
|
|
7
|
+
import { NgtsEnvironmentMap } from './environment-map';
|
|
8
|
+
import { NgtsEnvironmentPortal } from './environment-portal';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class NgtsEnvironment extends NgtsEnvironmentInput {
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironment, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtsEnvironment, isStandalone: true, selector: "ngts-environment", providers: [{ provide: NgtsEnvironmentInput, useExisting: NgtsEnvironment }], queries: [{ propertyName: "content", first: true, predicate: NgtsSobaContent, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: `
|
|
13
|
+
<ngts-environment-ground *ngIf="ground(); else noGround" />
|
|
14
|
+
<ng-template #noGround>
|
|
15
|
+
<ngts-environment-map *ngIf="map() as map; else noMap" [map]="map" [background]="!!background()" />
|
|
16
|
+
<ng-template #noMap>
|
|
17
|
+
<ngts-environment-portal *ngIf="content; else noPortal">
|
|
18
|
+
<ng-container *ngTemplateOutlet="content" />
|
|
19
|
+
</ngts-environment-portal>
|
|
20
|
+
<ng-template #noPortal>
|
|
21
|
+
<ngts-environment-cube [background]="!!background()" />
|
|
22
|
+
</ng-template>
|
|
23
|
+
</ng-template>
|
|
24
|
+
</ng-template>
|
|
25
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgtsEnvironmentMap, selector: "ngts-environment-map", inputs: ["map", "background"] }, { kind: "component", type: NgtsEnvironmentGround, selector: "ngts-environment-ground" }, { kind: "directive", type: NgtsEnvironmentCube, selector: "ngts-environment-cube", inputs: ["background"] }, { kind: "component", type: NgtsEnvironmentPortal, selector: "ngts-environment-portal" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsEnvironment, decorators: [{
|
|
28
|
+
type: Component,
|
|
29
|
+
args: [{
|
|
30
|
+
selector: 'ngts-environment',
|
|
31
|
+
standalone: true,
|
|
32
|
+
template: `
|
|
33
|
+
<ngts-environment-ground *ngIf="ground(); else noGround" />
|
|
34
|
+
<ng-template #noGround>
|
|
35
|
+
<ngts-environment-map *ngIf="map() as map; else noMap" [map]="map" [background]="!!background()" />
|
|
36
|
+
<ng-template #noMap>
|
|
37
|
+
<ngts-environment-portal *ngIf="content; else noPortal">
|
|
38
|
+
<ng-container *ngTemplateOutlet="content" />
|
|
39
|
+
</ngts-environment-portal>
|
|
40
|
+
<ng-template #noPortal>
|
|
41
|
+
<ngts-environment-cube [background]="!!background()" />
|
|
42
|
+
</ng-template>
|
|
43
|
+
</ng-template>
|
|
44
|
+
</ng-template>
|
|
45
|
+
`,
|
|
46
|
+
imports: [
|
|
47
|
+
NgtsEnvironmentMap,
|
|
48
|
+
NgtsEnvironmentGround,
|
|
49
|
+
NgtsEnvironmentCube,
|
|
50
|
+
NgtsEnvironmentPortal,
|
|
51
|
+
NgIf,
|
|
52
|
+
NgTemplateOutlet,
|
|
53
|
+
],
|
|
54
|
+
providers: [{ provide: NgtsEnvironmentInput, useExisting: NgtsEnvironment }],
|
|
55
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
56
|
+
}]
|
|
57
|
+
}], propDecorators: { content: [{
|
|
58
|
+
type: ContentChild,
|
|
59
|
+
args: [NgtsSobaContent, { read: TemplateRef }]
|
|
60
|
+
}] } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvZW52aXJvbm1lbnQvZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBOEI3RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxvQkFBb0I7OEdBQTVDLGVBQWU7a0dBQWYsZUFBZSwrREFIaEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLENBQUMsK0RBSTlELGVBQWUsMkJBQVUsV0FBVyxvREExQnhDOzs7Ozs7Ozs7Ozs7O0VBYVQsNERBRUEsa0JBQWtCLGdHQUNsQixxQkFBcUIsb0VBQ3JCLG1CQUFtQiwwRkFDbkIscUJBQXFCLG9FQUNyQixJQUFJLDZGQUNKLGdCQUFnQjs7MkZBS0wsZUFBZTtrQkE1QjNCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztFQWFUO29CQUNELE9BQU8sRUFBRTt3QkFDUixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLElBQUk7d0JBQ0osZ0JBQWdCO3FCQUNoQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLGlCQUFpQixFQUFFLENBQUM7b0JBQzVFLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQzs4QkFFc0QsT0FBTztzQkFBNUQsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndHNTb2JhQ29udGVudCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS91dGlscyc7XG5pbXBvcnQgeyBOZ3RzRW52aXJvbm1lbnRDdWJlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC1jdWJlJztcbmltcG9ydCB7IE5ndHNFbnZpcm9ubWVudEdyb3VuZCB9IGZyb20gJy4vZW52aXJvbm1lbnQtZ3JvdW5kJztcbmltcG9ydCB7IE5ndHNFbnZpcm9ubWVudElucHV0IH0gZnJvbSAnLi9lbnZpcm9ubWVudC1pbnB1dCc7XG5pbXBvcnQgeyBOZ3RzRW52aXJvbm1lbnRNYXAgfSBmcm9tICcuL2Vudmlyb25tZW50LW1hcCc7XG5pbXBvcnQgeyBOZ3RzRW52aXJvbm1lbnRQb3J0YWwgfSBmcm9tICcuL2Vudmlyb25tZW50LXBvcnRhbCc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtZW52aXJvbm1lbnQnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3RzLWVudmlyb25tZW50LWdyb3VuZCAqbmdJZj1cImdyb3VuZCgpOyBlbHNlIG5vR3JvdW5kXCIgLz5cblx0XHQ8bmctdGVtcGxhdGUgI25vR3JvdW5kPlxuXHRcdFx0PG5ndHMtZW52aXJvbm1lbnQtbWFwICpuZ0lmPVwibWFwKCkgYXMgbWFwOyBlbHNlIG5vTWFwXCIgW21hcF09XCJtYXBcIiBbYmFja2dyb3VuZF09XCIhIWJhY2tncm91bmQoKVwiIC8+XG5cdFx0XHQ8bmctdGVtcGxhdGUgI25vTWFwPlxuXHRcdFx0XHQ8bmd0cy1lbnZpcm9ubWVudC1wb3J0YWwgKm5nSWY9XCJjb250ZW50OyBlbHNlIG5vUG9ydGFsXCI+XG5cdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIiAvPlxuXHRcdFx0XHQ8L25ndHMtZW52aXJvbm1lbnQtcG9ydGFsPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgI25vUG9ydGFsPlxuXHRcdFx0XHRcdDxuZ3RzLWVudmlyb25tZW50LWN1YmUgW2JhY2tncm91bmRdPVwiISFiYWNrZ3JvdW5kKClcIiAvPlxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRgLFxuXHRpbXBvcnRzOiBbXG5cdFx0Tmd0c0Vudmlyb25tZW50TWFwLFxuXHRcdE5ndHNFbnZpcm9ubWVudEdyb3VuZCxcblx0XHROZ3RzRW52aXJvbm1lbnRDdWJlLFxuXHRcdE5ndHNFbnZpcm9ubWVudFBvcnRhbCxcblx0XHROZ0lmLFxuXHRcdE5nVGVtcGxhdGVPdXRsZXQsXG5cdF0sXG5cdHByb3ZpZGVyczogW3sgcHJvdmlkZTogTmd0c0Vudmlyb25tZW50SW5wdXQsIHVzZUV4aXN0aW5nOiBOZ3RzRW52aXJvbm1lbnQgfV0sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0Vudmlyb25tZW50IGV4dGVuZHMgTmd0c0Vudmlyb25tZW50SW5wdXQge1xuXHRAQ29udGVudENoaWxkKE5ndHNTb2JhQ29udGVudCwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBjb250ZW50PzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG59XG4iXX0=
|