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,172 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, inject, Input, signal, } from '@angular/core';
|
|
2
|
-
import { extend, injectNgtRef, NgtArgs, signalStore } from 'angular-three';
|
|
3
|
-
import { Mesh } from 'three';
|
|
4
|
-
import { Font, FontLoader, TextGeometry } from 'three-stdlib';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
extend({ Mesh, TextGeometry });
|
|
7
|
-
export class NgtsText3D {
|
|
8
|
-
set _font(font) {
|
|
9
|
-
this.inputs.set({ font });
|
|
10
|
-
}
|
|
11
|
-
set _text(text) {
|
|
12
|
-
this.inputs.set({ text });
|
|
13
|
-
}
|
|
14
|
-
set _bevelEnabled(bevelEnabled) {
|
|
15
|
-
this.inputs.set({ bevelEnabled });
|
|
16
|
-
}
|
|
17
|
-
set _bevelOffset(bevelOffset) {
|
|
18
|
-
this.inputs.set({ bevelOffset });
|
|
19
|
-
}
|
|
20
|
-
set _bevelSize(bevelSize) {
|
|
21
|
-
this.inputs.set({ bevelSize });
|
|
22
|
-
}
|
|
23
|
-
set _bevelThickness(bevelThickness) {
|
|
24
|
-
this.inputs.set({ bevelThickness });
|
|
25
|
-
}
|
|
26
|
-
set _curveSegments(curveSegments) {
|
|
27
|
-
this.inputs.set({ curveSegments });
|
|
28
|
-
}
|
|
29
|
-
set _bevelSegments(bevelSegments) {
|
|
30
|
-
this.inputs.set({ bevelSegments });
|
|
31
|
-
}
|
|
32
|
-
set _height(height) {
|
|
33
|
-
this.inputs.set({ height });
|
|
34
|
-
}
|
|
35
|
-
set _size(size) {
|
|
36
|
-
this.inputs.set({ size });
|
|
37
|
-
}
|
|
38
|
-
set _lineHeight(lineHeight) {
|
|
39
|
-
this.inputs.set({ lineHeight });
|
|
40
|
-
}
|
|
41
|
-
set _letterSpacing(letterSpacing) {
|
|
42
|
-
this.inputs.set({ letterSpacing });
|
|
43
|
-
}
|
|
44
|
-
set _smooth(smooth) {
|
|
45
|
-
this.inputs.set({ smooth });
|
|
46
|
-
}
|
|
47
|
-
constructor() {
|
|
48
|
-
this.inputs = signalStore({
|
|
49
|
-
lineHeight: 1,
|
|
50
|
-
letterSpacing: 0,
|
|
51
|
-
size: 1,
|
|
52
|
-
height: 0.2,
|
|
53
|
-
bevelThickness: 0.1,
|
|
54
|
-
bevelSize: 0.01,
|
|
55
|
-
bevelEnabled: false,
|
|
56
|
-
bevelOffset: 0,
|
|
57
|
-
bevelSegments: 4,
|
|
58
|
-
curveSegments: 8,
|
|
59
|
-
});
|
|
60
|
-
this.textRef = injectNgtRef();
|
|
61
|
-
this.cdr = inject(ChangeDetectorRef);
|
|
62
|
-
this.fontData = signal(null);
|
|
63
|
-
this.font = this.inputs.select('font');
|
|
64
|
-
this.text = this.inputs.select('text');
|
|
65
|
-
this.size = this.inputs.select('size');
|
|
66
|
-
this.height = this.inputs.select('height');
|
|
67
|
-
this.bevelThickness = this.inputs.select('bevelThickness');
|
|
68
|
-
this.bevelSize = this.inputs.select('bevelSize');
|
|
69
|
-
this.bevelEnabled = this.inputs.select('bevelEnabled');
|
|
70
|
-
this.bevelSegments = this.inputs.select('bevelSegments');
|
|
71
|
-
this.bevelOffset = this.inputs.select('bevelOffset');
|
|
72
|
-
this.curveSegments = this.inputs.select('curveSegments');
|
|
73
|
-
this.letterSpacing = this.inputs.select('letterSpacing');
|
|
74
|
-
this.lineHeight = this.inputs.select('lineHeight');
|
|
75
|
-
this.geometryArgs = computed(() => {
|
|
76
|
-
const fontData = this.fontData() || this.font();
|
|
77
|
-
if (!fontData || !fontData.data)
|
|
78
|
-
return null;
|
|
79
|
-
return [
|
|
80
|
-
this.text(),
|
|
81
|
-
{
|
|
82
|
-
font: fontData,
|
|
83
|
-
size: this.size(),
|
|
84
|
-
height: this.height(),
|
|
85
|
-
bevelThickness: this.bevelThickness(),
|
|
86
|
-
bevelSize: this.bevelSize(),
|
|
87
|
-
bevelSegments: this.bevelSegments(),
|
|
88
|
-
bevelEnabled: this.bevelEnabled(),
|
|
89
|
-
bevelOffset: this.bevelOffset(),
|
|
90
|
-
curveSegments: this.curveSegments(),
|
|
91
|
-
letterSpacing: this.letterSpacing(),
|
|
92
|
-
lineHeight: this.lineHeight(),
|
|
93
|
-
},
|
|
94
|
-
];
|
|
95
|
-
});
|
|
96
|
-
effect(() => {
|
|
97
|
-
const font = this.font();
|
|
98
|
-
if (typeof font === 'string') {
|
|
99
|
-
fetch(font)
|
|
100
|
-
.then((res) => res.json())
|
|
101
|
-
.then((fontData) => {
|
|
102
|
-
this.fontData.set(new FontLoader().parse(fontData));
|
|
103
|
-
this.cdr.detectChanges();
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsText3D, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsText3D, isStandalone: true, selector: "ngts-text-3d", inputs: { textRef: "textRef", _font: ["font", "_font"], _text: ["text", "_text"], _bevelEnabled: ["bevelEnabled", "_bevelEnabled"], _bevelOffset: ["bevelOffset", "_bevelOffset"], _bevelSize: ["bevelSize", "_bevelSize"], _bevelThickness: ["bevelThickness", "_bevelThickness"], _curveSegments: ["curveSegments", "_curveSegments"], _bevelSegments: ["bevelSegments", "_bevelSegments"], _height: ["height", "_height"], _size: ["size", "_size"], _lineHeight: ["lineHeight", "_lineHeight"], _letterSpacing: ["letterSpacing", "_letterSpacing"], _smooth: ["smooth", "_smooth"] }, ngImport: i0, template: `
|
|
110
|
-
<ngt-mesh ngtCompound [ref]="textRef">
|
|
111
|
-
<ngt-text-geometry *args="geometryArgs()" />
|
|
112
|
-
<ng-content />
|
|
113
|
-
</ngt-mesh>
|
|
114
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
115
|
-
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsText3D, decorators: [{
|
|
117
|
-
type: Component,
|
|
118
|
-
args: [{
|
|
119
|
-
selector: 'ngts-text-3d',
|
|
120
|
-
standalone: true,
|
|
121
|
-
template: `
|
|
122
|
-
<ngt-mesh ngtCompound [ref]="textRef">
|
|
123
|
-
<ngt-text-geometry *args="geometryArgs()" />
|
|
124
|
-
<ng-content />
|
|
125
|
-
</ngt-mesh>
|
|
126
|
-
`,
|
|
127
|
-
imports: [NgtArgs],
|
|
128
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
129
|
-
}]
|
|
130
|
-
}], ctorParameters: function () { return []; }, propDecorators: { textRef: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], _font: [{
|
|
133
|
-
type: Input,
|
|
134
|
-
args: [{ required: true, alias: 'font' }]
|
|
135
|
-
}], _text: [{
|
|
136
|
-
type: Input,
|
|
137
|
-
args: [{ required: true, alias: 'text' }]
|
|
138
|
-
}], _bevelEnabled: [{
|
|
139
|
-
type: Input,
|
|
140
|
-
args: [{ alias: 'bevelEnabled' }]
|
|
141
|
-
}], _bevelOffset: [{
|
|
142
|
-
type: Input,
|
|
143
|
-
args: [{ alias: 'bevelOffset' }]
|
|
144
|
-
}], _bevelSize: [{
|
|
145
|
-
type: Input,
|
|
146
|
-
args: [{ alias: 'bevelSize' }]
|
|
147
|
-
}], _bevelThickness: [{
|
|
148
|
-
type: Input,
|
|
149
|
-
args: [{ alias: 'bevelThickness' }]
|
|
150
|
-
}], _curveSegments: [{
|
|
151
|
-
type: Input,
|
|
152
|
-
args: [{ alias: 'curveSegments' }]
|
|
153
|
-
}], _bevelSegments: [{
|
|
154
|
-
type: Input,
|
|
155
|
-
args: [{ alias: 'bevelSegments' }]
|
|
156
|
-
}], _height: [{
|
|
157
|
-
type: Input,
|
|
158
|
-
args: [{ alias: 'height' }]
|
|
159
|
-
}], _size: [{
|
|
160
|
-
type: Input,
|
|
161
|
-
args: [{ alias: 'size' }]
|
|
162
|
-
}], _lineHeight: [{
|
|
163
|
-
type: Input,
|
|
164
|
-
args: [{ alias: 'lineHeight' }]
|
|
165
|
-
}], _letterSpacing: [{
|
|
166
|
-
type: Input,
|
|
167
|
-
args: [{ alias: 'letterSpacing' }]
|
|
168
|
-
}], _smooth: [{
|
|
169
|
-
type: Input,
|
|
170
|
-
args: [{ alias: 'smooth' }]
|
|
171
|
-
}] } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC0zZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9hYnN0cmFjdGlvbnMvc3JjL3RleHQtM2QvdGV4dC0zZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04saUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBK0IsTUFBTSxjQUFjLENBQUM7O0FBWTNGLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBK0IvQixNQUFNLE9BQU8sVUFBVTtJQWdCdEIsSUFBOEMsS0FBSyxDQUFDLElBQXVCO1FBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBOEMsS0FBSyxDQUFDLElBQVk7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFzQyxhQUFhLENBQUMsWUFBcUI7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFxQyxZQUFZLENBQUMsV0FBbUI7UUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFD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Szt1QkFBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7Z0JBSVcsZUFBZTtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRTtnQkFJSyxjQUFjO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtnQkFJTSxjQUFjO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtnQkFJRCxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFJSSxLQUFLO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFJWSxXQUFXO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFJUyxjQUFjO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtnQkFJRCxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRlZmZlY3QsXG5cdGluamVjdCxcblx0SW5wdXQsXG5cdHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGluamVjdE5ndFJlZiwgTmd0QXJncywgc2lnbmFsU3RvcmUsIHR5cGUgTmd0TWVzaCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTWVzaCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IEZvbnQsIEZvbnRMb2FkZXIsIFRleHRHZW9tZXRyeSwgdHlwZSBUZXh0R2VvbWV0cnlQYXJhbWV0ZXJzIH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxuZGVjbGFyZSB0eXBlIEdseXBoID0geyBfY2FjaGVkT3V0bGluZTogc3RyaW5nW107IGhhOiBudW1iZXI7IG86IHN0cmluZyB9O1xuXG5kZWNsYXJlIHR5cGUgRm9udERhdGEgPSB7XG5cdGJvdW5kaW5nQm94OiB7IHlNYXg6IG51bWJlcjsgeU1pbjogbnVtYmVyIH07XG5cdGZhbWlseU5hbWU6IHN0cmluZztcblx0Z2x5cGhzOiB7IFtrOiBzdHJpbmddOiBHbHlwaCB9O1xuXHRyZXNvbHV0aW9uOiBudW1iZXI7XG5cdHVuZGVybGluZVRoaWNrbmVzczogbnVtYmVyO1xufTtcblxuZXh0ZW5kKHsgTWVzaCwgVGV4dEdlb21ldHJ5IH0pO1xuXG5leHBvcnQgdHlwZSBOZ3RzVGV4dDNEU3RhdGUgPSB7XG5cdGZvbnQ6IEZvbnREYXRhIHwgc3RyaW5nO1xuXHR0ZXh0OiBzdHJpbmc7XG5cdGJldmVsU2VnbWVudHM/OiBudW1iZXI7XG5cdHNtb290aD86IG51bWJlcjtcbn0gJiBPbWl0PFRleHRHZW9tZXRyeVBhcmFtZXRlcnMsICdmb250Jz47XG5cbmRlY2xhcmUgZ2xvYmFsIHtcblx0aW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG5cdFx0LyoqXG5cdFx0ICogQGV4dGVuZHMgbmd0LW1lc2hcblx0XHQgKiBAZXh0ZW5kcyB0aHJlZS1zdGRsaWJ8VGV4dEdlb21ldHJ5UGFyYW1ldGVyc1xuXHRcdCAqL1xuXHRcdCduZ3RzLXRleHQtM2QnOiBOZ3RzVGV4dDNEU3RhdGUgJiBOZ3RNZXNoO1xuXHR9XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtdGV4dC0zZCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1tZXNoIG5ndENvbXBvdW5kIFtyZWZdPVwidGV4dFJlZlwiPlxuXHRcdFx0PG5ndC10ZXh0LWdlb21ldHJ5ICphcmdzPVwiZ2VvbWV0cnlBcmdzKClcIiAvPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1tZXNoPlxuXHRgLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c1RleHQzRCB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0c1RleHQzRFN0YXRlPih7XG5cdFx0bGluZUhlaWdodDogMSxcblx0XHRsZXR0ZXJTcGFjaW5nOiAwLFxuXHRcdHNpemU6IDEsXG5cdFx0aGVpZ2h0OiAwLjIsXG5cdFx0YmV2ZWxUaGlja25lc3M6IDAuMSxcblx0XHRiZXZlbFNpemU6IDAuMDEsXG5cdFx0YmV2ZWxFbmFibGVkOiBmYWxzZSxcblx0XHRiZXZlbE9mZnNldDogMCxcblx0XHRiZXZlbFNlZ21lbnRzOiA0LFxuXHRcdGN1cnZlU2VnbWVudHM6IDgsXG5cdH0pO1xuXG5cdEBJbnB1dCgpIHRleHRSZWYgPSBpbmplY3ROZ3RSZWY8TWVzaD4oKTtcblxuXHRASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSwgYWxpYXM6ICdmb250JyB9KSBzZXQgX2ZvbnQoZm9udDogRm9udERhdGEgfCBzdHJpbmcpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBmb250IH0pO1xuXHR9XG5cblx0QElucHV0KHsgcmVxdWlyZWQ6IHRydWUsIGFsaWFzOiAndGV4dCcgfSkgc2V0IF90ZXh0KHRleHQ6IHN0cmluZykge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHRleHQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2JldmVsRW5hYmxlZCcgfSkgc2V0IF9iZXZlbEVuYWJsZWQoYmV2ZWxFbmFibGVkOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgYmV2ZWxFbmFibGVkIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdiZXZlbE9mZnNldCcgfSkgc2V0IF9iZXZlbE9mZnNldChiZXZlbE9mZnNldDogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgYmV2ZWxPZmZzZXQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2JldmVsU2l6ZScgfSkgc2V0IF9iZXZlbFNpemUoYmV2ZWxTaXplOiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBiZXZlbFNpemUgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2JldmVsVGhpY2tuZXNzJyB9KSBzZXQgX2JldmVsVGhpY2tuZXNzKGJldmVsVGhpY2tuZXNzOiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBiZXZlbFRoaWNrbmVzcyB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnY3VydmVTZWdtZW50cycgfSkgc2V0IF9jdXJ2ZVNlZ21lbnRzKGN1cnZlU2VnbWVudHM6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGN1cnZlU2VnbWVudHMgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2JldmVsU2VnbWVudHMnIH0pIHNldCBfYmV2ZWxTZWdtZW50cyhiZXZlbFNlZ21lbnRzOiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBiZXZlbFNlZ21lbnRzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdoZWlnaHQnIH0pIHNldCBfaGVpZ2h0KGhlaWdodDogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgaGVpZ2h0IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdzaXplJyB9KSBzZXQgX3NpemUoc2l6ZTogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgc2l6ZSB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnbGluZUhlaWdodCcgfSkgc2V0IF9saW5lSGVpZ2h0KGxpbmVIZWlnaHQ6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGxpbmVIZWlnaHQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2xldHRlclNwYWNpbmcnIH0pIHNldCBfbGV0dGVyU3BhY2luZyhsZXR0ZXJTcGFjaW5nOiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBsZXR0ZXJTcGFjaW5nIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdzbW9vdGgnIH0pIHNldCBfc21vb3RoKHNtb290aDogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgc21vb3RoIH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG5cdHByaXZhdGUgZm9udERhdGEgPSBzaWduYWw8Rm9udCB8IG51bGw+KG51bGwpO1xuXG5cdHByaXZhdGUgZm9udCA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnZm9udCcpO1xuXHRwcml2YXRlIHRleHQgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ3RleHQnKTtcblx0cHJpdmF0ZSBzaXplID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdzaXplJyk7XG5cdHByaXZhdGUgaGVpZ2h0ID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdoZWlnaHQnKTtcblx0cHJpdmF0ZSBiZXZlbFRoaWNrbmVzcyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnYmV2ZWxUaGlja25lc3MnKTtcblx0cHJpdmF0ZSBiZXZlbFNpemUgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2JldmVsU2l6ZScpO1xuXHRwcml2YXRlIGJldmVsRW5hYmxlZCA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnYmV2ZWxFbmFibGVkJyk7XG5cdHByaXZhdGUgYmV2ZWxTZWdtZW50cyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnYmV2ZWxTZWdtZW50cycpO1xuXHRwcml2YXRlIGJldmVsT2Zmc2V0ID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdiZXZlbE9mZnNldCcpO1xuXHRwcml2YXRlIGN1cnZlU2VnbWVudHMgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2N1cnZlU2VnbWVudHMnKTtcblx0cHJpdmF0ZSBsZXR0ZXJTcGFjaW5nID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdsZXR0ZXJTcGFjaW5nJyk7XG5cdHByaXZhdGUgbGluZUhlaWdodCA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnbGluZUhlaWdodCcpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBmb250ID0gdGhpcy5mb250KCk7XG5cdFx0XHRpZiAodHlwZW9mIGZvbnQgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdGZldGNoKGZvbnQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlcykgPT4gcmVzLmpzb24oKSlcblx0XHRcdFx0XHQudGhlbigoZm9udERhdGEpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMuZm9udERhdGEuc2V0KG5ldyBGb250TG9hZGVyKCkucGFyc2UoZm9udERhdGEpKTtcblx0XHRcdFx0XHRcdHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdGdlb21ldHJ5QXJncyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBmb250RGF0YTogRm9udCA9IHRoaXMuZm9udERhdGEoKSB8fCAodGhpcy5mb250KCkgYXMgdW5rbm93biBhcyBGb250KTtcblx0XHRpZiAoIWZvbnREYXRhIHx8ICFmb250RGF0YS5kYXRhKSByZXR1cm4gbnVsbDtcblxuXHRcdHJldHVybiBbXG5cdFx0XHR0aGlzLnRleHQoKSxcblx0XHRcdHtcblx0XHRcdFx0Zm9udDogZm9udERhdGEsXG5cdFx0XHRcdHNpemU6IHRoaXMuc2l6ZSgpLFxuXHRcdFx0XHRoZWlnaHQ6IHRoaXMuaGVpZ2h0KCksXG5cdFx0XHRcdGJldmVsVGhpY2tuZXNzOiB0aGlzLmJldmVsVGhpY2tuZXNzKCksXG5cdFx0XHRcdGJldmVsU2l6ZTogdGhpcy5iZXZlbFNpemUoKSxcblx0XHRcdFx0YmV2ZWxTZWdtZW50czogdGhpcy5iZXZlbFNlZ21lbnRzKCksXG5cdFx0XHRcdGJldmVsRW5hYmxlZDogdGhpcy5iZXZlbEVuYWJsZWQoKSxcblx0XHRcdFx0YmV2ZWxPZmZzZXQ6IHRoaXMuYmV2ZWxPZmZzZXQoKSxcblx0XHRcdFx0Y3VydmVTZWdtZW50czogdGhpcy5jdXJ2ZVNlZ21lbnRzKCksXG5cdFx0XHRcdGxldHRlclNwYWNpbmc6IHRoaXMubGV0dGVyU3BhY2luZygpLFxuXHRcdFx0XHRsaW5lSGVpZ2h0OiB0aGlzLmxpbmVIZWlnaHQoKSxcblx0XHRcdH0sXG5cdFx0XTtcblx0fSk7XG59XG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Directive, inject, Input, TemplateRef } from '@angular/core';
|
|
2
|
-
import * as THREE from 'three';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NgtsCameraContent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.template = inject(TemplateRef);
|
|
7
|
-
this.ngtsCameraContent = '';
|
|
8
|
-
}
|
|
9
|
-
static ngTemplateContextGuard(_, ctx) {
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
13
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsCameraContent, isStandalone: true, selector: "ng-template[ngtsCameraContent]", inputs: { ngtsCameraContent: "ngtsCameraContent" }, ngImport: i0 }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCameraContent, decorators: [{
|
|
16
|
-
type: Directive,
|
|
17
|
-
args: [{ selector: 'ng-template[ngtsCameraContent]', standalone: true }]
|
|
18
|
-
}], propDecorators: { ngtsCameraContent: [{
|
|
19
|
-
type: Input
|
|
20
|
-
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY2FtZXJhcy9zcmMvY2FtZXJhL2NhbWVyYS1jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RCLHNCQUFpQixHQUFjLEVBQUUsQ0FBQztLQVEzQztJQU5BLE1BQU0sQ0FBQyxzQkFBc0IsQ0FDNUIsQ0FBb0IsRUFDcEIsR0FBWTtRQUVaLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQzs4R0FUVyxpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxnQ0FBZ0MsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOzhCQUdqRSxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW25ndHNDYW1lcmFDb250ZW50XScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBOZ3RzQ2FtZXJhQ29udGVudCB7XG5cdHRlbXBsYXRlID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcblx0QElucHV0KCkgbmd0c0NhbWVyYUNvbnRlbnQ6IHRydWUgfCAnJyA9ICcnO1xuXG5cdHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKFxuXHRcdF86IE5ndHNDYW1lcmFDb250ZW50LFxuXHRcdGN0eDogdW5rbm93bixcblx0KTogY3R4IGlzIHsgZmJvOiBUSFJFRS5XZWJHTFJlbmRlclRhcmdldDsgZ3JvdXA/OiBUSFJFRS5Hcm91cCB9IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuIl19
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Directive, effect, Input } from '@angular/core';
|
|
2
|
-
import { injectNgtRef, injectNgtStore, signalStore } from 'angular-three';
|
|
3
|
-
import { injectNgtsFBO } from 'angular-three-soba/misc';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class NgtsCamera {
|
|
6
|
-
set _makeDefault(makeDefault) {
|
|
7
|
-
this.inputs.set({ makeDefault });
|
|
8
|
-
}
|
|
9
|
-
set _manual(manual) {
|
|
10
|
-
this.inputs.set({ manual });
|
|
11
|
-
}
|
|
12
|
-
set _frames(frames) {
|
|
13
|
-
this.inputs.set({ frames });
|
|
14
|
-
}
|
|
15
|
-
set _resolution(resolution) {
|
|
16
|
-
this.inputs.set({ resolution });
|
|
17
|
-
}
|
|
18
|
-
set _envMap(envMap) {
|
|
19
|
-
this.inputs.set({ envMap });
|
|
20
|
-
}
|
|
21
|
-
constructor() {
|
|
22
|
-
this.inputs = signalStore({
|
|
23
|
-
resolution: 256,
|
|
24
|
-
frames: Infinity,
|
|
25
|
-
makeDefault: false,
|
|
26
|
-
manual: false,
|
|
27
|
-
});
|
|
28
|
-
this.cameraRef = injectNgtRef();
|
|
29
|
-
this.cameraResolution = this.inputs.select('resolution');
|
|
30
|
-
this.store = injectNgtStore();
|
|
31
|
-
this.fboRef = injectNgtsFBO(() => ({ width: this.cameraResolution() }));
|
|
32
|
-
this.setDefaultCamera();
|
|
33
|
-
this.updateProjectionMatrix();
|
|
34
|
-
}
|
|
35
|
-
setDefaultCamera() {
|
|
36
|
-
const makeDefault = this.inputs.select('makeDefault');
|
|
37
|
-
effect((onCleanup) => {
|
|
38
|
-
const camera = this.cameraRef.nativeElement;
|
|
39
|
-
if (camera && makeDefault()) {
|
|
40
|
-
const { camera: oldCamera } = this.store.get();
|
|
41
|
-
this.store.set({ camera });
|
|
42
|
-
onCleanup(() => this.store.set({ camera: oldCamera }));
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
updateProjectionMatrix() {
|
|
47
|
-
const manual = this.inputs.select('manual');
|
|
48
|
-
effect(() => {
|
|
49
|
-
const camera = this.cameraRef.nativeElement;
|
|
50
|
-
if (!manual() && camera)
|
|
51
|
-
camera.updateProjectionMatrix();
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCamera, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
55
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsCamera, inputs: { _makeDefault: ["makeDefault", "_makeDefault"], _manual: ["manual", "_manual"], _frames: ["frames", "_frames"], _resolution: ["resolution", "_resolution"], _envMap: ["envMap", "_envMap"], cameraRef: "cameraRef" }, ngImport: i0 }); }
|
|
56
|
-
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCamera, decorators: [{
|
|
58
|
-
type: Directive
|
|
59
|
-
}], ctorParameters: function () { return []; }, propDecorators: { _makeDefault: [{
|
|
60
|
-
type: Input,
|
|
61
|
-
args: [{ alias: 'makeDefault' }]
|
|
62
|
-
}], _manual: [{
|
|
63
|
-
type: Input,
|
|
64
|
-
args: [{ alias: 'manual' }]
|
|
65
|
-
}], _frames: [{
|
|
66
|
-
type: Input,
|
|
67
|
-
args: [{ alias: 'frames' }]
|
|
68
|
-
}], _resolution: [{
|
|
69
|
-
type: Input,
|
|
70
|
-
args: [{ alias: 'resolution' }]
|
|
71
|
-
}], _envMap: [{
|
|
72
|
-
type: Input,
|
|
73
|
-
args: [{ alias: 'envMap' }]
|
|
74
|
-
}], cameraRef: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2NhbWVyYXMvc3JjL2NhbWVyYS9jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVd4RCxNQUFNLE9BQWdCLFVBQVU7SUFRL0IsSUFBcUMsWUFBWSxDQUFDLFdBQW9CO1FBQ3JFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBZ0MsT0FBTyxDQUFDLE1BQWU7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFnQyxPQUFPLENBQUMsTUFBYztRQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQW9DLFdBQVcsQ0FBQyxVQUFrQjtRQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQWdDLE9BQU8sQ0FBQyxNQUFxQjtRQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQVNEO1FBbENVLFdBQU0sR0FBRyxXQUFXLENBQWtCO1lBQy9DLFVBQVUsRUFBRSxHQUFHO1lBQ2YsTUFBTSxFQUFFLFFBQVE7WUFDaEIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsTUFBTSxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7UUFzQk0sY0FBUyxHQUFHLFlBQVksRUFBVyxDQUFDO1FBRXJDLHFCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWxELFVBQUssR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUN6QixXQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFHNUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLGdCQUFnQjtRQUN2QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RCxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztZQUM1QyxJQUFJLE1BQU0sSUFBSSxXQUFXLEVBQUUsRUFBRTtnQkFDNUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBQzNCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdkQ7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxzQkFBc0I7UUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO1lBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxNQUFNO2dCQUFFLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0ExRG9CLFVBQVU7a0dBQVYsVUFBVTs7MkZBQVYsVUFBVTtrQkFEL0IsU0FBUzswRUFTNEIsWUFBWTtzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7Z0JBSUMsT0FBTztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0JBSU0sT0FBTztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0JBSVUsV0FBVztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7Z0JBSUUsT0FBTztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0JBSWpCLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdE5ndFJlZiwgaW5qZWN0Tmd0U3RvcmUsIHNpZ25hbFN0b3JlLCB0eXBlIE5ndENhbWVyYSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0c0ZCTyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9taXNjJztcblxuZXhwb3J0IHR5cGUgTmd0c0NhbWVyYVN0YXRlID0ge1xuXHRtYWtlRGVmYXVsdDogYm9vbGVhbjtcblx0bWFudWFsOiBib29sZWFuO1xuXHRmcmFtZXM6IG51bWJlcjtcblx0cmVzb2x1dGlvbjogbnVtYmVyO1xuXHRlbnZNYXA/OiBUSFJFRS5UZXh0dXJlO1xufTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmd0c0NhbWVyYTxUQ2FtZXJhIGV4dGVuZHMgTmd0Q2FtZXJhPiB7XG5cdHByb3RlY3RlZCBpbnB1dHMgPSBzaWduYWxTdG9yZTxOZ3RzQ2FtZXJhU3RhdGU+KHtcblx0XHRyZXNvbHV0aW9uOiAyNTYsXG5cdFx0ZnJhbWVzOiBJbmZpbml0eSxcblx0XHRtYWtlRGVmYXVsdDogZmFsc2UsXG5cdFx0bWFudWFsOiBmYWxzZSxcblx0fSk7XG5cblx0QElucHV0KHsgYWxpYXM6ICdtYWtlRGVmYXVsdCcgfSkgc2V0IF9tYWtlRGVmYXVsdChtYWtlRGVmYXVsdDogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IG1ha2VEZWZhdWx0IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdtYW51YWwnIH0pIHNldCBfbWFudWFsKG1hbnVhbDogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IG1hbnVhbCB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnZnJhbWVzJyB9KSBzZXQgX2ZyYW1lcyhmcmFtZXM6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGZyYW1lcyB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAncmVzb2x1dGlvbicgfSkgc2V0IF9yZXNvbHV0aW9uKHJlc29sdXRpb246IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHJlc29sdXRpb24gfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2Vudk1hcCcgfSkgc2V0IF9lbnZNYXAoZW52TWFwOiBUSFJFRS5UZXh0dXJlKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZW52TWFwIH0pO1xuXHR9XG5cblx0QElucHV0KCkgY2FtZXJhUmVmID0gaW5qZWN0Tmd0UmVmPFRDYW1lcmE+KCk7XG5cblx0cHJpdmF0ZSBjYW1lcmFSZXNvbHV0aW9uID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdyZXNvbHV0aW9uJyk7XG5cblx0cHJvdGVjdGVkIHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblx0cHJvdGVjdGVkIGZib1JlZiA9IGluamVjdE5ndHNGQk8oKCkgPT4gKHsgd2lkdGg6IHRoaXMuY2FtZXJhUmVzb2x1dGlvbigpIH0pKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLnNldERlZmF1bHRDYW1lcmEoKTtcblx0XHR0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0RGVmYXVsdENhbWVyYSgpIHtcblx0XHRjb25zdCBtYWtlRGVmYXVsdCA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnbWFrZURlZmF1bHQnKTtcblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgY2FtZXJhID0gdGhpcy5jYW1lcmFSZWYubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmIChjYW1lcmEgJiYgbWFrZURlZmF1bHQoKSkge1xuXHRcdFx0XHRjb25zdCB7IGNhbWVyYTogb2xkQ2FtZXJhIH0gPSB0aGlzLnN0b3JlLmdldCgpO1xuXHRcdFx0XHR0aGlzLnN0b3JlLnNldCh7IGNhbWVyYSB9KTtcblx0XHRcdFx0b25DbGVhbnVwKCgpID0+IHRoaXMuc3RvcmUuc2V0KHsgY2FtZXJhOiBvbGRDYW1lcmEgfSkpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkge1xuXHRcdGNvbnN0IG1hbnVhbCA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnbWFudWFsJyk7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGNhbWVyYSA9IHRoaXMuY2FtZXJhUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRpZiAoIW1hbnVhbCgpICYmIGNhbWVyYSkgY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTtcblx0XHR9KTtcblx0fVxufVxuIl19
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, DestroyRef, Directive, EmbeddedViewRef, Input, TemplateRef, ViewChild, ViewContainerRef, computed, effect, inject, runInInjectionContext, untracked, } from '@angular/core';
|
|
3
|
-
import { NgtArgs, assertInjectionContext, extend, injectBeforeRender, injectNgtRef, injectNgtStore, signalStore, } from 'angular-three';
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { Group } from 'three';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
const defaultCubeCameraState = {
|
|
8
|
-
resolution: 256,
|
|
9
|
-
near: 0.1,
|
|
10
|
-
far: 1000,
|
|
11
|
-
};
|
|
12
|
-
export function injectNgtsCubeCamera(cubeCameraState, { injector } = {}) {
|
|
13
|
-
injector = assertInjectionContext(injectNgtsCubeCamera, injector);
|
|
14
|
-
return runInInjectionContext(injector, () => {
|
|
15
|
-
const state = computed(() => ({ ...defaultCubeCameraState, ...cubeCameraState() }));
|
|
16
|
-
const resolution = computed(() => state().resolution);
|
|
17
|
-
const near = computed(() => state().near);
|
|
18
|
-
const far = computed(() => state().far);
|
|
19
|
-
const store = injectNgtStore();
|
|
20
|
-
const _gl = store.select('gl');
|
|
21
|
-
const _scene = store.select('scene');
|
|
22
|
-
const _fbo = computed(() => {
|
|
23
|
-
const renderTarget = new THREE.WebGLCubeRenderTarget(resolution());
|
|
24
|
-
renderTarget.texture.type = THREE.HalfFloatType;
|
|
25
|
-
return renderTarget;
|
|
26
|
-
});
|
|
27
|
-
effect((onCleanup) => {
|
|
28
|
-
const fbo = _fbo();
|
|
29
|
-
onCleanup(() => fbo.dispose());
|
|
30
|
-
});
|
|
31
|
-
const _camera = computed(() => new THREE.CubeCamera(near(), far(), _fbo()));
|
|
32
|
-
let originalFog;
|
|
33
|
-
let originalBackground;
|
|
34
|
-
const update = computed(() => {
|
|
35
|
-
const [scene, gl, camera, { envMap, fog }] = [_scene(), _gl(), _camera(), untracked(state)];
|
|
36
|
-
return () => {
|
|
37
|
-
originalFog = scene.fog;
|
|
38
|
-
originalBackground = scene.background;
|
|
39
|
-
scene.background = envMap || originalBackground;
|
|
40
|
-
scene.fog = fog || originalFog;
|
|
41
|
-
camera.update(gl, scene);
|
|
42
|
-
scene.fog = originalFog;
|
|
43
|
-
scene.background = originalBackground;
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
return { fbo: _fbo, camera: _camera, update };
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
extend({ Group });
|
|
50
|
-
export class NgtsCubeCameraContent {
|
|
51
|
-
static ngTemplateContextGuard(_, ctx) {
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCubeCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
55
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsCubeCameraContent, isStandalone: true, selector: "ng-template[ngtsCubeCameraContent]", ngImport: i0 }); }
|
|
56
|
-
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCubeCameraContent, decorators: [{
|
|
58
|
-
type: Directive,
|
|
59
|
-
args: [{ selector: 'ng-template[ngtsCubeCameraContent]', standalone: true }]
|
|
60
|
-
}] });
|
|
61
|
-
export class NgtsCubeCamera {
|
|
62
|
-
/** Resolution of the FBO, 256 */
|
|
63
|
-
set _resolution(resolution) {
|
|
64
|
-
this.inputs.set({ resolution });
|
|
65
|
-
}
|
|
66
|
-
/** Camera near, 0.1 */
|
|
67
|
-
set _near(near) {
|
|
68
|
-
this.inputs.set({ near });
|
|
69
|
-
}
|
|
70
|
-
/** Camera far, 1000 */
|
|
71
|
-
set _far(far) {
|
|
72
|
-
this.inputs.set({ far });
|
|
73
|
-
}
|
|
74
|
-
/** Custom environment map that is temporarily set as the scenes background */
|
|
75
|
-
set _envMap(envMap) {
|
|
76
|
-
this.inputs.set({ envMap });
|
|
77
|
-
}
|
|
78
|
-
/** Custom fog that is temporarily set as the scenes fog */
|
|
79
|
-
set _fog(fog) {
|
|
80
|
-
this.inputs.set({ fog });
|
|
81
|
-
}
|
|
82
|
-
constructor() {
|
|
83
|
-
this.inputs = signalStore({ frames: Infinity });
|
|
84
|
-
this.cameraRef = injectNgtRef();
|
|
85
|
-
this.cubeCamera = injectNgtsCubeCamera(this.inputs.state);
|
|
86
|
-
this.texture = computed(() => this.cubeCamera.fbo().texture);
|
|
87
|
-
this.beforeRender();
|
|
88
|
-
inject(DestroyRef).onDestroy(() => {
|
|
89
|
-
this.contentRef?.destroy();
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
ngOnInit() {
|
|
93
|
-
this.contentRef = this.anchor.createEmbeddedView(this.cameraContent, { texture: this.texture });
|
|
94
|
-
}
|
|
95
|
-
beforeRender() {
|
|
96
|
-
let count = 0;
|
|
97
|
-
injectBeforeRender(() => {
|
|
98
|
-
const camera = this.cameraRef.nativeElement;
|
|
99
|
-
if (!camera)
|
|
100
|
-
return;
|
|
101
|
-
const update = this.cubeCamera.update();
|
|
102
|
-
const frames = this.inputs.get('frames');
|
|
103
|
-
if (frames === Infinity || count < frames) {
|
|
104
|
-
camera.visible = false;
|
|
105
|
-
update();
|
|
106
|
-
camera.visible = true;
|
|
107
|
-
count++;
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCubeCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
112
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsCubeCamera, isStandalone: true, selector: "ngts-cube-camera", inputs: { cameraRef: "cameraRef", _resolution: ["resolution", "_resolution"], _near: ["near", "_near"], _far: ["far", "_far"], _envMap: ["envMap", "_envMap"], _fog: ["fog", "_fog"] }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCubeCameraContent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
|
|
113
|
-
<ngt-group ngtCompound>
|
|
114
|
-
<ngt-primitive *args="[cubeCamera.camera()]" />
|
|
115
|
-
<ngt-group [ref]="cameraRef">
|
|
116
|
-
<ng-container #anchor />
|
|
117
|
-
</ngt-group>
|
|
118
|
-
</ngt-group>
|
|
119
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
120
|
-
}
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCubeCamera, decorators: [{
|
|
122
|
-
type: Component,
|
|
123
|
-
args: [{
|
|
124
|
-
selector: 'ngts-cube-camera',
|
|
125
|
-
standalone: true,
|
|
126
|
-
template: `
|
|
127
|
-
<ngt-group ngtCompound>
|
|
128
|
-
<ngt-primitive *args="[cubeCamera.camera()]" />
|
|
129
|
-
<ngt-group [ref]="cameraRef">
|
|
130
|
-
<ng-container #anchor />
|
|
131
|
-
</ngt-group>
|
|
132
|
-
</ngt-group>
|
|
133
|
-
`,
|
|
134
|
-
imports: [NgtArgs, NgTemplateOutlet],
|
|
135
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
136
|
-
}]
|
|
137
|
-
}], ctorParameters: function () { return []; }, propDecorators: { cameraRef: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], cameraContent: [{
|
|
140
|
-
type: ContentChild,
|
|
141
|
-
args: [NgtsCubeCameraContent, { static: true, read: TemplateRef }]
|
|
142
|
-
}], anchor: [{
|
|
143
|
-
type: ViewChild,
|
|
144
|
-
args: ['anchor', { static: true, read: ViewContainerRef }]
|
|
145
|
-
}], _resolution: [{
|
|
146
|
-
type: Input,
|
|
147
|
-
args: [{ alias: 'resolution' }]
|
|
148
|
-
}], _near: [{
|
|
149
|
-
type: Input,
|
|
150
|
-
args: [{ alias: 'near' }]
|
|
151
|
-
}], _far: [{
|
|
152
|
-
type: Input,
|
|
153
|
-
args: [{ alias: 'far' }]
|
|
154
|
-
}], _envMap: [{
|
|
155
|
-
type: Input,
|
|
156
|
-
args: [{ alias: 'envMap' }]
|
|
157
|
-
}], _fog: [{
|
|
158
|
-
type: Input,
|
|
159
|
-
args: [{ alias: 'fog' }]
|
|
160
|
-
}] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS1jYW1lcmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY2FtZXJhcy9zcmMvY3ViZS1jYW1lcmEvY3ViZS1jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNOLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsZUFBZSxFQUNmLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixxQkFBcUIsRUFDckIsU0FBUyxHQUlULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTixPQUFPLEVBQ1Asc0JBQXNCLEVBQ3RCLE1BQU0sRUFDTixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGNBQWMsRUFDZCxXQUFXLEdBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQzs7QUFlOUIsTUFBTSxzQkFBc0IsR0FBRztJQUM5QixVQUFVLEVBQUUsR0FBRztJQUNmLElBQUksRUFBRSxHQUFHO0lBQ1QsR0FBRyxFQUFFLElBQUk7Q0FDcUIsQ0FBQztBQUVoQyxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLGVBQW1ELEVBQ25ELEVBQUUsUUFBUSxLQUE4QixFQUFFO0lBRTFDLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsRSxPQUFPLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDM0MsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLHNCQUFzQixF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QWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7O0VBT1Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDakM7MEVBSVMsU0FBUztzQkFBakIsS0FBSztnQkFHRSxhQUFhO3NCQURwQixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUloRSxNQUFNO3NCQURiLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXpCLFdBQVc7c0JBQTlDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO2dCQUtBLEtBQUs7c0JBQWxDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQUtLLElBQUk7c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO2dCQUtTLE9BQU87c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2dCQUtHLElBQUk7c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRDb21wb25lbnQsXG5cdENvbnRlbnRDaGlsZCxcblx0RGVzdHJveVJlZixcblx0RGlyZWN0aXZlLFxuXHRFbWJlZGRlZFZpZXdSZWYsXG5cdElucHV0LFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxuXHRjb21wdXRlZCxcblx0ZWZmZWN0LFxuXHRpbmplY3QsXG5cdHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcblx0dW50cmFja2VkLFxuXHR0eXBlIEluamVjdG9yLFxuXHR0eXBlIE9uSW5pdCxcblx0dHlwZSBTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcblx0Tmd0QXJncyxcblx0YXNzZXJ0SW5qZWN0aW9uQ29udGV4dCxcblx0ZXh0ZW5kLFxuXHRpbmplY3RCZWZvcmVSZW5kZXIsXG5cdGluamVjdE5ndFJlZixcblx0aW5qZWN0Tmd0U3RvcmUsXG5cdHNpZ25hbFN0b3JlLFxuXHR0eXBlIE5ndEdyb3VwLFxufSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAndGhyZWUnO1xuXG5leHBvcnQgdHlwZSBOZ3RzQ3ViZUNhbWVyYVN0YXRlID0ge1xuXHQvKiogUmVzb2x1dGlvbiBvZiB0aGUgRkJPLCAyNTYgKi9cblx0cmVzb2x1dGlvbjogbnVtYmVyO1xuXHQvKiogQ2FtZXJhIG5lYXIsIDAuMSAqL1xuXHRuZWFyOiBudW1iZXI7XG5cdC8qKiBDYW1lcmEgZmFyLCAxMDAwICovXG5cdGZhcjogbnVtYmVyO1xuXHQvKiogQ3VzdG9tIGVudmlyb25tZW50IG1hcCB0aGF0IGlzIHRlbXBvcmFyaWx5IHNldCBhcyB0aGUgc2NlbmVzIGJhY2tncm91bmQgKi9cblx0ZW52TWFwPzogVEhSRUUuVGV4dHVyZTtcblx0LyoqIEN1c3RvbSBmb2cgdGhhdCBpcyB0ZW1wb3JhcmlseSBzZXQgYXMgdGhlIHNjZW5lcyBmb2cgKi9cblx0Zm9nPzogVEhSRUUuRm9nIHwgVEhSRUUuRm9nRXhwMjtcbn07XG5cbmNvbnN0IGRlZmF1bHRDdWJlQ2FtZXJhU3RhdGUgPSB7XG5cdHJlc29sdXRpb246IDI1Nixcblx0bmVhcjogMC4xLFxuXHRmYXI6IDEwMDAsXG59IHNhdGlzZmllcyBOZ3RzQ3ViZUNhbWVyYVN0YXRlO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tmd0c0N1YmVDYW1lcmEoXG5cdGN1YmVDYW1lcmFTdGF0ZTogKCkgPT4gUGFydGlhbDxOZ3RzQ3ViZUNhbWVyYVN0YXRlPixcblx0eyBpbmplY3RvciB9OiB7IGluamVjdG9yPzogSW5qZWN0b3IgfSA9IHt9LFxuKSB7XG5cdGluamVjdG9yID0gYXNzZXJ0SW5qZWN0aW9uQ29udGV4dChpbmplY3ROZ3RzQ3ViZUNhbWVyYSwgaW5qZWN0b3IpO1xuXHRyZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiB7XG5cdFx0Y29uc3Qgc3RhdGUgPSBjb21wdXRlZCgoKSA9PiAoeyAuLi5kZWZhdWx0Q3ViZUNhbWVyYVN0YXRlLCAuLi5jdWJlQ2FtZXJhU3RhdGUoKSB9KSk7XG5cdFx0Y29uc3QgcmVzb2x1dGlvbiA9IGNvbXB1dGVkKCgpID0+IHN0YXRlKCkucmVzb2x1dGlvbik7XG5cdFx0Y29uc3QgbmVhciA9IGNvbXB1dGVkKCgpID0+IHN0YXRlKCkubmVhcik7XG5cdFx0Y29uc3QgZmFyID0gY29tcHV0ZWQoKCkgPT4gc3RhdGUoKS5mYXIpO1xuXG5cdFx0Y29uc3Qgc3RvcmUgPSBpbmplY3ROZ3RTdG9yZSgpO1xuXG5cdFx0Y29uc3QgX2dsID0gc3RvcmUuc2VsZWN0KCdnbCcpO1xuXHRcdGNvbnN0IF9zY2VuZSA9IHN0b3JlLnNlbGVjdCgnc2NlbmUnKTtcblxuXHRcdGNvbnN0IF9mYm8gPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0XHRjb25zdCByZW5kZXJUYXJnZXQgPSBuZXcgVEhSRUUuV2ViR0xDdWJlUmVuZGVyVGFyZ2V0KHJlc29sdXRpb24oKSk7XG5cdFx0XHRyZW5kZXJUYXJnZXQudGV4dHVyZS50eXBlID0gVEhSRUUuSGFsZkZsb2F0VHlwZTtcblx0XHRcdHJldHVybiByZW5kZXJUYXJnZXQ7XG5cdFx0fSk7XG5cblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgZmJvID0gX2ZibygpO1xuXHRcdFx0b25DbGVhbnVwKCgpID0+IGZiby5kaXNwb3NlKCkpO1xuXHRcdH0pO1xuXG5cdFx0Y29uc3QgX2NhbWVyYSA9IGNvbXB1dGVkKCgpID0+IG5ldyBUSFJFRS5DdWJlQ2FtZXJhKG5lYXIoKSwgZmFyKCksIF9mYm8oKSkpO1xuXG5cdFx0bGV0IG9yaWdpbmFsRm9nOiBUSFJFRS5TY2VuZVsnZm9nJ107XG5cdFx0bGV0IG9yaWdpbmFsQmFja2dyb3VuZDogVEhSRUUuU2NlbmVbJ2JhY2tncm91bmQnXTtcblxuXHRcdGNvbnN0IHVwZGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IFtzY2VuZSwgZ2wsIGNhbWVyYSwgeyBlbnZNYXAsIGZvZyB9XSA9IFtfc2NlbmUoKSwgX2dsKCksIF9jYW1lcmEoKSwgdW50cmFja2VkKHN0YXRlKV07XG5cblx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdG9yaWdpbmFsRm9nID0gc2NlbmUuZm9nO1xuXHRcdFx0XHRvcmlnaW5hbEJhY2tncm91bmQgPSBzY2VuZS5iYWNrZ3JvdW5kO1xuXHRcdFx0XHRzY2VuZS5iYWNrZ3JvdW5kID0gZW52TWFwIHx8IG9yaWdpbmFsQmFja2dyb3VuZDtcblx0XHRcdFx0c2NlbmUuZm9nID0gZm9nIHx8IG9yaWdpbmFsRm9nO1xuXHRcdFx0XHRjYW1lcmEudXBkYXRlKGdsLCBzY2VuZSk7XG5cdFx0XHRcdHNjZW5lLmZvZyA9IG9yaWdpbmFsRm9nO1xuXHRcdFx0XHRzY2VuZS5iYWNrZ3JvdW5kID0gb3JpZ2luYWxCYWNrZ3JvdW5kO1xuXHRcdFx0fTtcblx0XHR9KTtcblxuXHRcdHJldHVybiB7IGZibzogX2ZibywgY2FtZXJhOiBfY2FtZXJhLCB1cGRhdGUgfTtcblx0fSk7XG59XG5cbmV4dGVuZCh7IEdyb3VwIH0pO1xuXG5leHBvcnQgdHlwZSBOZ3RzQ3ViZUNhbWVyYUNvbXBvbmVudFN0YXRlID0gTmd0c0N1YmVDYW1lcmFTdGF0ZSAmIHtcblx0ZnJhbWVzOiBudW1iZXI7XG59O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdC8qKlxuXHRcdCAqIEBleHRlbmRzIG5ndC1ncm91cFxuXHRcdCAqL1xuXHRcdCduZ3RzLWN1YmUtY2FtZXJhJzogTmd0c0N1YmVDYW1lcmFDb21wb25lbnRTdGF0ZSAmIE5ndEdyb3VwO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW25ndHNDdWJlQ2FtZXJhQ29udGVudF0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0c0N1YmVDYW1lcmFDb250ZW50IHtcblx0c3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoXG5cdFx0XzogTmd0c0N1YmVDYW1lcmFDb250ZW50LFxuXHRcdGN0eDogdW5rbm93bixcblx0KTogY3R4IGlzIHsgdGV4dHVyZTogU2lnbmFsPFRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0Wyd0ZXh0dXJlJ10+IH0ge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtY3ViZS1jYW1lcmEnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtZ3JvdXAgbmd0Q29tcG91bmQ+XG5cdFx0XHQ8bmd0LXByaW1pdGl2ZSAqYXJncz1cIltjdWJlQ2FtZXJhLmNhbWVyYSgpXVwiIC8+XG5cdFx0XHQ8bmd0LWdyb3VwIFtyZWZdPVwiY2FtZXJhUmVmXCI+XG5cdFx0XHRcdDxuZy1jb250YWluZXIgI2FuY2hvciAvPlxuXHRcdFx0PC9uZ3QtZ3JvdXA+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RBcmdzLCBOZ1RlbXBsYXRlT3V0bGV0XSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzQ3ViZUNhbWVyYSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0c0N1YmVDYW1lcmFDb21wb25lbnRTdGF0ZT4oeyBmcmFtZXM6IEluZmluaXR5IH0pO1xuXG5cdEBJbnB1dCgpIGNhbWVyYVJlZiA9IGluamVjdE5ndFJlZjxHcm91cD4oKTtcblxuXHRAQ29udGVudENoaWxkKE5ndHNDdWJlQ2FtZXJhQ29udGVudCwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG5cdHByaXZhdGUgY2FtZXJhQ29udGVudCE6IFRlbXBsYXRlUmVmPHsgdGV4dHVyZTogU2lnbmFsPFRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0Wyd0ZXh0dXJlJ10+IH0+O1xuXG5cdEBWaWV3Q2hpbGQoJ2FuY2hvcicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXG5cdHByaXZhdGUgYW5jaG9yITogVmlld0NvbnRhaW5lclJlZjtcblxuXHQvKiogUmVzb2x1dGlvbiBvZiB0aGUgRkJPLCAyNTYgKi9cblx0QElucHV0KHsgYWxpYXM6ICdyZXNvbHV0aW9uJyB9KSBzZXQgX3Jlc29sdXRpb24ocmVzb2x1dGlvbjogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgcmVzb2x1dGlvbiB9KTtcblx0fVxuXG5cdC8qKiBDYW1lcmEgbmVhciwgMC4xICovXG5cdEBJbnB1dCh7IGFsaWFzOiAnbmVhcicgfSkgc2V0IF9uZWFyKG5lYXI6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IG5lYXIgfSk7XG5cdH1cblxuXHQvKiogQ2FtZXJhIGZhciwgMTAwMCAqL1xuXHRASW5wdXQoeyBhbGlhczogJ2ZhcicgfSkgc2V0IF9mYXIoZmFyOiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBmYXIgfSk7XG5cdH1cblxuXHQvKiogQ3VzdG9tIGVudmlyb25tZW50IG1hcCB0aGF0IGlzIHRlbXBvcmFyaWx5IHNldCBhcyB0aGUgc2NlbmVzIGJhY2tncm91bmQgKi9cblx0QElucHV0KHsgYWxpYXM6ICdlbnZNYXAnIH0pIHNldCBfZW52TWFwKGVudk1hcDogVEhSRUUuVGV4dHVyZSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGVudk1hcCB9KTtcblx0fVxuXG5cdC8qKiBDdXN0b20gZm9nIHRoYXQgaXMgdGVtcG9yYXJpbHkgc2V0IGFzIHRoZSBzY2VuZXMgZm9nICovXG5cdEBJbnB1dCh7IGFsaWFzOiAnZm9nJyB9KSBzZXQgX2ZvZyhmb2c6IFRIUkVFLkZvZyB8IFRIUkVFLkZvZ0V4cDIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBmb2cgfSk7XG5cdH1cblxuXHRjdWJlQ2FtZXJhID0gaW5qZWN0Tmd0c0N1YmVDYW1lcmEodGhpcy5pbnB1dHMuc3RhdGUpO1xuXHRwcml2YXRlIHRleHR1cmUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmN1YmVDYW1lcmEuZmJvKCkudGV4dHVyZSk7XG5cdHByaXZhdGUgY29udGVudFJlZj86IEVtYmVkZGVkVmlld1JlZjx1bmtub3duPjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLmJlZm9yZVJlbmRlcigpO1xuXHRcdGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuXHRcdFx0dGhpcy5jb250ZW50UmVmPy5kZXN0cm95KCk7XG5cdFx0fSk7XG5cdH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHR0aGlzLmNvbnRlbnRSZWYgPSB0aGlzLmFuY2hvci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5jYW1lcmFDb250ZW50LCB7IHRleHR1cmU6IHRoaXMudGV4dHVyZSB9KTtcblx0fVxuXG5cdHByaXZhdGUgYmVmb3JlUmVuZGVyKCkge1xuXHRcdGxldCBjb3VudCA9IDA7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCgpID0+IHtcblx0XHRcdGNvbnN0IGNhbWVyYSA9IHRoaXMuY2FtZXJhUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRpZiAoIWNhbWVyYSkgcmV0dXJuO1xuXHRcdFx0Y29uc3QgdXBkYXRlID0gdGhpcy5jdWJlQ2FtZXJhLnVwZGF0ZSgpO1xuXHRcdFx0Y29uc3QgZnJhbWVzID0gdGhpcy5pbnB1dHMuZ2V0KCdmcmFtZXMnKTtcblx0XHRcdGlmIChmcmFtZXMgPT09IEluZmluaXR5IHx8IGNvdW50IDwgZnJhbWVzKSB7XG5cdFx0XHRcdGNhbWVyYS52aXNpYmxlID0gZmFsc2U7XG5cdFx0XHRcdHVwZGF0ZSgpO1xuXHRcdFx0XHRjYW1lcmEudmlzaWJsZSA9IHRydWU7XG5cdFx0XHRcdGNvdW50Kys7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, Input, computed } from '@angular/core';
|
|
3
|
-
import { extend, signalStore } from 'angular-three';
|
|
4
|
-
import { Group, OrthographicCamera } from 'three';
|
|
5
|
-
import { NgtsCamera } from '../camera/camera';
|
|
6
|
-
import { NgtsCameraContent } from '../camera/camera-content';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
extend({ OrthographicCamera, Group });
|
|
9
|
-
export class NgtsOrthographicCamera extends NgtsCamera {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.orthographicInputs = signalStore({
|
|
13
|
-
left: 0,
|
|
14
|
-
right: 0,
|
|
15
|
-
top: 0,
|
|
16
|
-
bottom: 0,
|
|
17
|
-
});
|
|
18
|
-
this.left = this.orthographicInputs.select('left');
|
|
19
|
-
this.right = this.orthographicInputs.select('right');
|
|
20
|
-
this.top = this.orthographicInputs.select('top');
|
|
21
|
-
this.bottom = this.orthographicInputs.select('bottom');
|
|
22
|
-
this.size = this.store.select('size');
|
|
23
|
-
this.cameraLeft = computed(() => this.left() || this.size().width / -2);
|
|
24
|
-
this.cameraRight = computed(() => this.right() || this.size().width / 2);
|
|
25
|
-
this.cameraTop = computed(() => this.top() || this.size().height / 2);
|
|
26
|
-
this.cameraBottom = computed(() => this.bottom() || this.size().height / -2);
|
|
27
|
-
}
|
|
28
|
-
set _left(left) {
|
|
29
|
-
this.orthographicInputs.set({ left });
|
|
30
|
-
}
|
|
31
|
-
set _right(right) {
|
|
32
|
-
this.orthographicInputs.set({ right });
|
|
33
|
-
}
|
|
34
|
-
set _top(top) {
|
|
35
|
-
this.orthographicInputs.set({ top });
|
|
36
|
-
}
|
|
37
|
-
set _bottom(bottom) {
|
|
38
|
-
this.orthographicInputs.set({ bottom });
|
|
39
|
-
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsOrthographicCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsOrthographicCamera, isStandalone: true, selector: "ngts-orthographic-camera", inputs: { _left: ["left", "_left"], _right: ["right", "_right"], _top: ["top", "_top"], _bottom: ["bottom", "_bottom"] }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
42
|
-
<ngt-orthographic-camera
|
|
43
|
-
ngtCompound
|
|
44
|
-
[ref]="cameraRef"
|
|
45
|
-
[left]="cameraLeft()"
|
|
46
|
-
[right]="cameraRight()"
|
|
47
|
-
[top]="cameraTop()"
|
|
48
|
-
[bottom]="cameraBottom()"
|
|
49
|
-
>
|
|
50
|
-
<ng-container
|
|
51
|
-
*ngIf="cameraContent && !cameraContent.ngtsCameraContent"
|
|
52
|
-
[ngTemplateOutlet]="cameraContent.template"
|
|
53
|
-
/>
|
|
54
|
-
</ngt-orthographic-camera>
|
|
55
|
-
<ngt-group #group *ngIf="cameraContent && cameraContent.ngtsCameraContent">
|
|
56
|
-
<ng-container *ngTemplateOutlet="cameraContent.template; context: { fbo: fboRef.nativeElement, group }" />
|
|
57
|
-
</ngt-group>
|
|
58
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsOrthographicCamera, decorators: [{
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{
|
|
63
|
-
selector: 'ngts-orthographic-camera',
|
|
64
|
-
standalone: true,
|
|
65
|
-
template: `
|
|
66
|
-
<ngt-orthographic-camera
|
|
67
|
-
ngtCompound
|
|
68
|
-
[ref]="cameraRef"
|
|
69
|
-
[left]="cameraLeft()"
|
|
70
|
-
[right]="cameraRight()"
|
|
71
|
-
[top]="cameraTop()"
|
|
72
|
-
[bottom]="cameraBottom()"
|
|
73
|
-
>
|
|
74
|
-
<ng-container
|
|
75
|
-
*ngIf="cameraContent && !cameraContent.ngtsCameraContent"
|
|
76
|
-
[ngTemplateOutlet]="cameraContent.template"
|
|
77
|
-
/>
|
|
78
|
-
</ngt-orthographic-camera>
|
|
79
|
-
<ngt-group #group *ngIf="cameraContent && cameraContent.ngtsCameraContent">
|
|
80
|
-
<ng-container *ngTemplateOutlet="cameraContent.template; context: { fbo: fboRef.nativeElement, group }" />
|
|
81
|
-
</ngt-group>
|
|
82
|
-
`,
|
|
83
|
-
imports: [NgIf, NgTemplateOutlet],
|
|
84
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
85
|
-
}]
|
|
86
|
-
}], propDecorators: { cameraContent: [{
|
|
87
|
-
type: ContentChild,
|
|
88
|
-
args: [NgtsCameraContent]
|
|
89
|
-
}], _left: [{
|
|
90
|
-
type: Input,
|
|
91
|
-
args: [{ alias: 'left' }]
|
|
92
|
-
}], _right: [{
|
|
93
|
-
type: Input,
|
|
94
|
-
args: [{ alias: 'right' }]
|
|
95
|
-
}], _top: [{
|
|
96
|
-
type: Input,
|
|
97
|
-
args: [{ alias: 'top' }]
|
|
98
|
-
}], _bottom: [{
|
|
99
|
-
type: Input,
|
|
100
|
-
args: [{ alias: 'bottom' }]
|
|
101
|
-
}] } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3J0aG9ncmFwaGljLWNhbWVyYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9jYW1lcmFzL3NyYy9vcnRob2dyYXBoaWMtY2FtZXJhL29ydGhvZ3JhcGhpYy1jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQThCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFN0QsTUFBTSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQTBDdEMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFVBQW9DO0lBeEJoRjs7UUF5QlMsdUJBQWtCLEdBQUcsV0FBVyxDQUE4QjtZQUNyRSxJQUFJLEVBQUUsQ0FBQztZQUNQLEtBQUssRUFBRSxDQUFDO1lBQ1IsR0FBRyxFQUFFLENBQUM7WUFDTixNQUFNLEVBQUUsQ0FBQztTQUNULENBQUMsQ0FBQztRQW9CSyxTQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxVQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxRQUFHLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxXQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekMsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakUsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN4RTtJQTFCQSxJQUE4QixLQUFLLENBQUMsSUFBWTtRQUMvQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBK0IsTUFBTSxDQUFDLEtBQWE7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQTZCLElBQUksQ0FBQyxHQUFXO1FBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFnQyxPQUFPLENBQUMsTUFBYztRQUNyRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDOzhHQXhCVyxzQkFBc0I7a0dBQXRCLHNCQUFzQix5UEFRcEIsaUJBQWlCLHVFQTdCckI7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJULDREQUNTLElBQUksNkZBQUUsZ0JBQWdCOzsyRkFHcEIsc0JBQXNCO2tCQXhCbEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQzs4QkFTaUMsYUFBYTtzQkFBN0MsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBRUQsS0FBSztzQkFBbEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBSU8sTUFBTTtzQkFBcEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBSUksSUFBSTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7Z0JBSVMsT0FBTztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgc2lnbmFsU3RvcmUsIHR5cGUgTmd0T3J0aG9ncmFwaGljQ2FtZXJhIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBHcm91cCwgT3J0aG9ncmFwaGljQ2FtZXJhIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0c0NhbWVyYSwgdHlwZSBOZ3RzQ2FtZXJhU3RhdGUgfSBmcm9tICcuLi9jYW1lcmEvY2FtZXJhJztcbmltcG9ydCB7IE5ndHNDYW1lcmFDb250ZW50IH0gZnJvbSAnLi4vY2FtZXJhL2NhbWVyYS1jb250ZW50JztcblxuZXh0ZW5kKHsgT3J0aG9ncmFwaGljQ2FtZXJhLCBHcm91cCB9KTtcblxuZXhwb3J0IHR5cGUgTmd0c09ydGhvZ3JhcGhpY0NhbWVyYVN0YXRlID0ge1xuXHRsZWZ0OiBudW1iZXI7XG5cdHRvcDogbnVtYmVyO1xuXHRyaWdodDogbnVtYmVyO1xuXHRib3R0b206IG51bWJlcjtcbn07XG5cbmRlY2xhcmUgZ2xvYmFsIHtcblx0aW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG5cdFx0LyoqXG5cdFx0ICogQGV4dGVuZHMgbmd0LW9ydGhvZ3JhcGhpYy1jYW1lcmFcblx0XHQgKi9cblx0XHQnbmd0cy1vcnRob2dyYXBoaWMtY2FtZXJhJzogTmd0c0NhbWVyYVN0YXRlICYgTmd0c09ydGhvZ3JhcGhpY0NhbWVyYVN0YXRlICYgTmd0T3J0aG9ncmFwaGljQ2FtZXJhO1xuXHR9XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtb3J0aG9ncmFwaGljLWNhbWVyYScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1vcnRob2dyYXBoaWMtY2FtZXJhXG5cdFx0XHRuZ3RDb21wb3VuZFxuXHRcdFx0W3JlZl09XCJjYW1lcmFSZWZcIlxuXHRcdFx0W2xlZnRdPVwiY2FtZXJhTGVmdCgpXCJcblx0XHRcdFtyaWdodF09XCJjYW1lcmFSaWdodCgpXCJcblx0XHRcdFt0b3BdPVwiY2FtZXJhVG9wKClcIlxuXHRcdFx0W2JvdHRvbV09XCJjYW1lcmFCb3R0b20oKVwiXG5cdFx0PlxuXHRcdFx0PG5nLWNvbnRhaW5lclxuXHRcdFx0XHQqbmdJZj1cImNhbWVyYUNvbnRlbnQgJiYgIWNhbWVyYUNvbnRlbnQubmd0c0NhbWVyYUNvbnRlbnRcIlxuXHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJjYW1lcmFDb250ZW50LnRlbXBsYXRlXCJcblx0XHRcdC8+XG5cdFx0PC9uZ3Qtb3J0aG9ncmFwaGljLWNhbWVyYT5cblx0XHQ8bmd0LWdyb3VwICNncm91cCAqbmdJZj1cImNhbWVyYUNvbnRlbnQgJiYgY2FtZXJhQ29udGVudC5uZ3RzQ2FtZXJhQ29udGVudFwiPlxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNhbWVyYUNvbnRlbnQudGVtcGxhdGU7IGNvbnRleHQ6IHsgZmJvOiBmYm9SZWYubmF0aXZlRWxlbWVudCwgZ3JvdXAgfVwiIC8+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0XSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzT3J0aG9ncmFwaGljQ2FtZXJhIGV4dGVuZHMgTmd0c0NhbWVyYTxUSFJFRS5PcnRob2dyYXBoaWNDYW1lcmE+IHtcblx0cHJpdmF0ZSBvcnRob2dyYXBoaWNJbnB1dHMgPSBzaWduYWxTdG9yZTxOZ3RzT3J0aG9ncmFwaGljQ2FtZXJhU3RhdGU+KHtcblx0XHRsZWZ0OiAwLFxuXHRcdHJpZ2h0OiAwLFxuXHRcdHRvcDogMCxcblx0XHRib3R0b206IDAsXG5cdH0pO1xuXG5cdEBDb250ZW50Q2hpbGQoTmd0c0NhbWVyYUNvbnRlbnQpIGNhbWVyYUNvbnRlbnQ/OiBOZ3RzQ2FtZXJhQ29udGVudDtcblxuXHRASW5wdXQoeyBhbGlhczogJ2xlZnQnIH0pIHNldCBfbGVmdChsZWZ0OiBudW1iZXIpIHtcblx0XHR0aGlzLm9ydGhvZ3JhcGhpY0lucHV0cy5zZXQoeyBsZWZ0IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdyaWdodCcgfSkgc2V0IF9yaWdodChyaWdodDogbnVtYmVyKSB7XG5cdFx0dGhpcy5vcnRob2dyYXBoaWNJbnB1dHMuc2V0KHsgcmlnaHQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ3RvcCcgfSkgc2V0IF90b3AodG9wOiBudW1iZXIpIHtcblx0XHR0aGlzLm9ydGhvZ3JhcGhpY0lucHV0cy5zZXQoeyB0b3AgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2JvdHRvbScgfSkgc2V0IF9ib3R0b20oYm90dG9tOiBudW1iZXIpIHtcblx0XHR0aGlzLm9ydGhvZ3JhcGhpY0lucHV0cy5zZXQoeyBib3R0b20gfSk7XG5cdH1cblxuXHRwcml2YXRlIGxlZnQgPSB0aGlzLm9ydGhvZ3JhcGhpY0lucHV0cy5zZWxlY3QoJ2xlZnQnKTtcblx0cHJpdmF0ZSByaWdodCA9IHRoaXMub3J0aG9ncmFwaGljSW5wdXRzLnNlbGVjdCgncmlnaHQnKTtcblx0cHJpdmF0ZSB0b3AgPSB0aGlzLm9ydGhvZ3JhcGhpY0lucHV0cy5zZWxlY3QoJ3RvcCcpO1xuXHRwcml2YXRlIGJvdHRvbSA9IHRoaXMub3J0aG9ncmFwaGljSW5wdXRzLnNlbGVjdCgnYm90dG9tJyk7XG5cdHByaXZhdGUgc2l6ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzaXplJyk7XG5cblx0Y2FtZXJhTGVmdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMubGVmdCgpIHx8IHRoaXMuc2l6ZSgpLndpZHRoIC8gLTIpO1xuXHRjYW1lcmFSaWdodCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmlnaHQoKSB8fCB0aGlzLnNpemUoKS53aWR0aCAvIDIpO1xuXHRjYW1lcmFUb3AgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRvcCgpIHx8IHRoaXMuc2l6ZSgpLmhlaWdodCAvIDIpO1xuXHRjYW1lcmFCb3R0b20gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJvdHRvbSgpIHx8IHRoaXMuc2l6ZSgpLmhlaWdodCAvIC0yKTtcbn1cbiJdfQ==
|