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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-three-soba-abstractions.mjs","sources":["../../../../libs/soba/abstractions/src/billboard/billboard.ts","../../../../libs/soba/abstractions/src/detailed/detailed.ts","../../../../libs/soba/abstractions/src/edges/edges.ts","../../../../libs/soba/abstractions/src/grid/grid.ts","../../../../libs/soba/abstractions/src/text-3d/text-3d.ts","../../../../libs/soba/abstractions/src/text/text.ts","../../../../libs/soba/abstractions/src/angular-three-soba-abstractions.ts"],"sourcesContent":["import { CUSTOM_ELEMENTS_SCHEMA, Component, Input } from '@angular/core';\nimport { extend, injectBeforeRender, injectNgtRef, signalStore, type NgtGroup } from 'angular-three';\nimport { Group } from 'three';\n\nextend({ Group });\n\nexport type NgtsBillboardState = {\n\tfollow?: boolean;\n\tlockX?: boolean;\n\tlockY?: boolean;\n\tlockZ?: boolean;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-group\n\t\t */\n\t\t'ngts-billboard': NgtsBillboardState & NgtGroup;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-billboard',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-group ngtCompound [ref]=\"billboardRef\">\n\t\t\t<ng-content />\n\t\t</ngt-group>\n\t`,\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsBillboard {\n\tprivate inputs = signalStore<NgtsBillboardState>({ follow: true, lockX: false, lockY: false, lockZ: false });\n\n\t@Input() billboardRef = injectNgtRef<Group>();\n\n\t@Input({ alias: 'follow' }) set _follow(follow: boolean) {\n\t\tthis.inputs.set({ follow });\n\t}\n\n\t@Input({ alias: 'lockX' }) set _lockX(lockX: boolean) {\n\t\tthis.inputs.set({ lockX });\n\t}\n\n\t@Input({ alias: 'lockY' }) set _lockY(lockY: boolean) {\n\t\tthis.inputs.set({ lockY });\n\t}\n\n\t@Input({ alias: 'lockZ' }) set _lockZ(lockZ: boolean) {\n\t\tthis.inputs.set({ lockZ });\n\t}\n\n\tconstructor() {\n\t\tinjectBeforeRender(({ camera }) => {\n\t\t\tconst ref = this.billboardRef.untracked;\n\t\t\tconst { follow, lockX, lockY, lockZ } = this.inputs.get();\n\t\t\tif (!ref || !follow) return;\n\t\t\t// save previous rotation in case we're locking an axis\n\t\t\tconst prevRotation = ref.rotation.clone();\n\n\t\t\t// always face the camera\n\t\t\tcamera.getWorldQuaternion(ref.quaternion);\n\n\t\t\t// re-adjust any axis that is locked\n\t\t\tif (lockX) ref.rotation.x = prevRotation.x;\n\t\t\tif (lockY) ref.rotation.y = prevRotation.y;\n\t\t\tif (lockZ) ref.rotation.z = prevRotation.z;\n\t\t});\n\t}\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, Component, Input, effect } from '@angular/core';\nimport { extend, injectNgtRef, signalStore, type NgtBeforeRenderEvent, type NgtLOD } from 'angular-three';\nimport { LOD } from 'three';\n\nextend({ LOD });\n\nexport type NgtsDetailedState = {\n\thysteresis: number;\n\tdistances: number[];\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-lOD\n\t\t */\n\t\t'ngts-detailed': NgtsDetailedState & NgtLOD;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-detailed',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-lOD ngtCompound [ref]=\"lodRef\" (beforeRender)=\"onBeforeRender($event)\">\n\t\t\t<ng-content />\n\t\t</ngt-lOD>\n\t`,\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsDetailed {\n\tprivate inputs = signalStore<NgtsDetailedState>({ hysteresis: 0 });\n\n\t@Input() lodRef = injectNgtRef<LOD>();\n\n\t@Input({ required: true, alias: 'distances' }) set _distances(distances: number[]) {\n\t\tthis.inputs.set({ distances });\n\t}\n\n\t@Input({ alias: 'hysteresis' }) set _hysteresis(hysteresis: number) {\n\t\tthis.inputs.set({ hysteresis });\n\t}\n\n\tconstructor() {\n\t\tthis.updateChildren();\n\t}\n\n\tonBeforeRender({ object, state }: NgtBeforeRenderEvent<LOD>) {\n\t\tobject.update(state.camera);\n\t}\n\n\tprivate updateChildren() {\n\t\tconst lodChildren = this.lodRef.children();\n\t\tconst _distances = this.inputs.select('distances');\n\t\tconst _hysteresis = this.inputs.select('hysteresis');\n\n\t\teffect(() => {\n\t\t\tconst lod = this.lodRef.nativeElement;\n\t\t\tif (!lod) return;\n\t\t\tconst [distances, hysteresis, children] = [_distances(), _hysteresis(), lodChildren()];\n\t\t\tlod.levels.length = 0;\n\t\t\tchildren.forEach((child, index) => {\n\t\t\t\tlod.addLevel(child, distances[index], hysteresis);\n\t\t\t});\n\t\t});\n\t}\n}\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, Input, TemplateRef, effect } from '@angular/core';\nimport { extend, injectNgtRef, signalStore, type NgtAnyRecord, type NgtLineSegments } from 'angular-three';\nimport { NgtsSobaContent } from 'angular-three-soba/utils';\nimport * as THREE from 'three';\nimport { LineBasicMaterial, LineSegments } from 'three';\n\nexport type NgtsEdgesState = {\n\tthreshold: number;\n\tcolor: THREE.ColorRepresentation;\n\tgeometry: THREE.BufferGeometry;\n\tuserData: NgtAnyRecord;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-line-segments\n\t\t */\n\t\t'ngts-edges': NgtsEdgesState & NgtLineSegments;\n\t}\n}\n\nextend({ LineSegments, LineBasicMaterial });\n\n@Component({\n\tselector: 'ngts-edges',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-line-segments [ref]=\"edgesRef\" [raycast]=\"nullRaycast\" ngtCompound>\n\t\t\t<ng-container *ngIf=\"content; else defaultMaterial\" [ngTemplateOutlet]=\"content\" />\n\t\t\t<ng-template #defaultMaterial>\n\t\t\t\t<ngt-line-basic-material [color]=\"color()\" />\n\t\t\t</ng-template>\n\t\t</ngt-line-segments>\n\t`,\n\timports: [NgIf, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsEdges {\n\tnullRaycast = () => null;\n\n\t@ContentChild(NgtsSobaContent, { read: TemplateRef }) content?: TemplateRef<unknown>;\n\n\tprivate inputs = signalStore<NgtsEdgesState>({ threshold: 15, color: 'black' });\n\n\t@Input() edgesRef = injectNgtRef<LineSegments>();\n\n\t@Input({ alias: 'threshold' }) set _threshold(threshold: number) {\n\t\tthis.inputs.set({ threshold });\n\t}\n\n\t@Input({ alias: 'color' }) set _color(color: THREE.ColorRepresentation) {\n\t\tthis.inputs.set({ color });\n\t}\n\n\t@Input({ alias: 'geometry' }) set _geometry(geometry: THREE.BufferGeometry) {\n\t\tthis.inputs.set({ geometry });\n\t}\n\n\t@Input({ alias: 'userData' }) set _userData(userData: NgtAnyRecord) {\n\t\tthis.inputs.set({ userData });\n\t}\n\n\tprivate geometry = this.inputs.select('geometry');\n\tprivate threshold = this.inputs.select('threshold');\n\n\tcolor = this.inputs.select('color');\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst edges = this.edgesRef.nativeElement;\n\t\t\tif (!edges) return;\n\t\t\tconst parent = this.edgesRef.nativeElement.parent as THREE.Mesh;\n\t\t\tif (parent) {\n\t\t\t\tconst [geometry, threshold] = [this.geometry() || parent.geometry, this.threshold()];\n\t\t\t\tif (geometry !== edges.userData['currentGeom'] || threshold !== edges.userData['currentThreshold']) {\n\t\t\t\t\tedges.userData['currentGeom'] = geometry;\n\t\t\t\t\tedges.userData['currentThreshold'] = threshold;\n\t\t\t\t\tedges.geometry = new THREE.EdgesGeometry(geometry, threshold);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, Component, Input } from '@angular/core';\nimport { NgtArgs, extend, injectBeforeRender, injectNgtRef, signalStore, type NgtMesh } from 'angular-three';\nimport { GridMaterial, type NgtGridMaterialState } from 'angular-three-soba/shaders';\nimport * as THREE from 'three';\nimport { Mesh, PlaneGeometry } from 'three';\n\nextend({ GridMaterial, Mesh, PlaneGeometry });\n\nexport type NgtsGridState = {\n\t/** Default plane-geometry arguments */\n\targs: ConstructorParameters<typeof THREE.PlaneGeometry>;\n} & NgtGridMaterialState;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-mesh\n\t\t */\n\t\t'ngts-grid': NgtsGridState & NgtMesh;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-grid',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-mesh ngtCompound [ref]=\"gridRef\" [frustumCulled]=\"false\">\n\t\t\t<ngt-plane-geometry *args=\"args()\" />\n\t\t\t<ngt-grid-material\n\t\t\t\t[transparent]=\"true\"\n\t\t\t\t[side]=\"side()\"\n\t\t\t\t[cellSize]=\"cellSize()\"\n\t\t\t\t[cellColor]=\"cellColor()\"\n\t\t\t\t[cellThickness]=\"cellThickness()\"\n\t\t\t\t[sectionSize]=\"sectionSize()\"\n\t\t\t\t[sectionColor]=\"sectionColor()\"\n\t\t\t\t[sectionThickness]=\"sectionThickness()\"\n\t\t\t\t[fadeDistance]=\"fadeDistance()\"\n\t\t\t\t[fadeStrength]=\"fadeStrength()\"\n\t\t\t\t[infiniteGrid]=\"infiniteGrid()\"\n\t\t\t\t[followCamera]=\"followCamera()\"\n\t\t\t>\n\t\t\t\t<ngt-value attach=\"extensions.derivatives\" [rawValue]=\"false\" />\n\t\t\t</ngt-grid-material>\n\t\t\t<ng-content />\n\t\t</ngt-mesh>\n\t`,\n\timports: [NgtArgs],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsGrid {\n\tprivate inputs = signalStore<NgtsGridState>({\n\t\tcellColor: '#000000',\n\t\tsectionColor: '#2080ff',\n\t\tcellSize: 0.5,\n\t\tsectionSize: 1,\n\t\tfollowCamera: false,\n\t\tinfiniteGrid: false,\n\t\tfadeDistance: 100,\n\t\tfadeStrength: 1,\n\t\tcellThickness: 0.5,\n\t\tsectionThickness: 1,\n\t\tside: THREE.BackSide,\n\t\targs: [1, 1, 1, 1],\n\t});\n\n\t@Input() gridRef = injectNgtRef<THREE.Mesh>();\n\t@Input({ alias: 'cellSize' }) set _cellSize(cellSize: NgtsGridState['cellSize']) {\n\t\tthis.inputs.set({ cellSize });\n\t}\n\n\t@Input({ alias: 'cellThickness' }) set _cellThickness(cellThickness: NgtsGridState['cellThickness']) {\n\t\tthis.inputs.set({ cellThickness });\n\t}\n\n\t@Input({ alias: 'cellColor' }) set _cellColor(cellColor: NgtsGridState['cellColor']) {\n\t\tthis.inputs.set({ cellColor });\n\t}\n\n\t@Input({ alias: 'sectionSize' }) set _sectionSize(sectionSize: NgtsGridState['sectionSize']) {\n\t\tthis.inputs.set({ sectionSize });\n\t}\n\n\t@Input({ alias: 'sectionThickness' }) set _sectionThickness(sectionThickness: NgtsGridState['sectionThickness']) {\n\t\tthis.inputs.set({ sectionThickness });\n\t}\n\n\t@Input({ alias: 'sectionColor' }) set _sectionColor(sectionColor: NgtsGridState['sectionColor']) {\n\t\tthis.inputs.set({ sectionColor });\n\t}\n\n\t@Input({ alias: 'followCamera' }) set _followCamera(followCamera: NgtsGridState['followCamera']) {\n\t\tthis.inputs.set({ followCamera });\n\t}\n\n\t@Input({ alias: 'infiniteGrid' }) set _infiniteGrid(infiniteGrid: NgtsGridState['infiniteGrid']) {\n\t\tthis.inputs.set({ infiniteGrid });\n\t}\n\n\t@Input({ alias: 'fadeDistance' }) set _fadeDistance(fadeDistance: NgtsGridState['fadeDistance']) {\n\t\tthis.inputs.set({ fadeDistance });\n\t}\n\n\t@Input({ alias: 'fadeStrength' }) set _fadeStrength(fadeStrength: NgtsGridState['fadeStrength']) {\n\t\tthis.inputs.set({ fadeStrength });\n\t}\n\n\t@Input({ alias: 'side' }) set _side(side: NgtsGridState['side']) {\n\t\tthis.inputs.set({ side });\n\t}\n\n\t@Input({ alias: 'args' }) set _args(args: NgtsGridState['args']) {\n\t\tthis.inputs.set({ args });\n\t}\n\n\tcellSize = this.inputs.select('cellSize');\n\tsectionSize = this.inputs.select('sectionSize');\n\tfadeDistance = this.inputs.select('fadeDistance');\n\tfadeStrength = this.inputs.select('fadeStrength');\n\tcellThickness = this.inputs.select('cellThickness');\n\tsectionThickness = this.inputs.select('sectionThickness');\n\tinfiniteGrid = this.inputs.select('infiniteGrid');\n\tfollowCamera = this.inputs.select('followCamera');\n\tcellColor = this.inputs.select('cellColor');\n\tsectionColor = this.inputs.select('sectionColor');\n\tside = this.inputs.select('side');\n\targs = this.inputs.select('args');\n\n\tprivate plane = new THREE.Plane();\n\tprivate upVector = new THREE.Vector3(0, 1, 0);\n\tprivate zeroVector = new THREE.Vector3(0, 0, 0);\n\n\tconstructor() {\n\t\tinjectBeforeRender(({ camera }) => {\n\t\t\tthis.plane\n\t\t\t\t.setFromNormalAndCoplanarPoint(this.upVector, this.zeroVector)\n\t\t\t\t.applyMatrix4(this.gridRef.nativeElement.matrixWorld);\n\n\t\t\tconst gridMaterial = this.gridRef.nativeElement.material as THREE.ShaderMaterial;\n\t\t\tconst worldCamProjPosition = gridMaterial.uniforms['worldCamProjPosition'] as THREE.Uniform<THREE.Vector3>;\n\t\t\tconst worldPlanePosition = gridMaterial.uniforms['worldPlanePosition'] as THREE.Uniform<THREE.Vector3>;\n\n\t\t\tthis.plane.projectPoint(camera.position, worldCamProjPosition.value);\n\t\t\tworldPlanePosition.value.set(0, 0, 0).applyMatrix4(this.gridRef.nativeElement.matrixWorld);\n\t\t});\n\t}\n}\n","import {\n\tChangeDetectorRef,\n\tComponent,\n\tcomputed,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\teffect,\n\tinject,\n\tInput,\n\tsignal,\n} from '@angular/core';\nimport { extend, injectNgtRef, NgtArgs, signalStore, type NgtMesh } from 'angular-three';\nimport { Mesh } from 'three';\nimport { Font, FontLoader, TextGeometry, type TextGeometryParameters } from 'three-stdlib';\n\ndeclare type Glyph = { _cachedOutline: string[]; ha: number; o: string };\n\ndeclare type FontData = {\n\tboundingBox: { yMax: number; yMin: number };\n\tfamilyName: string;\n\tglyphs: { [k: string]: Glyph };\n\tresolution: number;\n\tunderlineThickness: number;\n};\n\nextend({ Mesh, TextGeometry });\n\nexport type NgtsText3DState = {\n\tfont: FontData | string;\n\ttext: string;\n\tbevelSegments?: number;\n\tsmooth?: number;\n} & Omit<TextGeometryParameters, 'font'>;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-mesh\n\t\t * @extends three-stdlib|TextGeometryParameters\n\t\t */\n\t\t'ngts-text-3d': NgtsText3DState & NgtMesh;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-text-3d',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-mesh ngtCompound [ref]=\"textRef\">\n\t\t\t<ngt-text-geometry *args=\"geometryArgs()\" />\n\t\t\t<ng-content />\n\t\t</ngt-mesh>\n\t`,\n\timports: [NgtArgs],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsText3D {\n\tprivate inputs = signalStore<NgtsText3DState>({\n\t\tlineHeight: 1,\n\t\tletterSpacing: 0,\n\t\tsize: 1,\n\t\theight: 0.2,\n\t\tbevelThickness: 0.1,\n\t\tbevelSize: 0.01,\n\t\tbevelEnabled: false,\n\t\tbevelOffset: 0,\n\t\tbevelSegments: 4,\n\t\tcurveSegments: 8,\n\t});\n\n\t@Input() textRef = injectNgtRef<Mesh>();\n\n\t@Input({ required: true, alias: 'font' }) set _font(font: FontData | string) {\n\t\tthis.inputs.set({ font });\n\t}\n\n\t@Input({ required: true, alias: 'text' }) set _text(text: string) {\n\t\tthis.inputs.set({ text });\n\t}\n\n\t@Input({ alias: 'bevelEnabled' }) set _bevelEnabled(bevelEnabled: boolean) {\n\t\tthis.inputs.set({ bevelEnabled });\n\t}\n\n\t@Input({ alias: 'bevelOffset' }) set _bevelOffset(bevelOffset: number) {\n\t\tthis.inputs.set({ bevelOffset });\n\t}\n\n\t@Input({ alias: 'bevelSize' }) set _bevelSize(bevelSize: number) {\n\t\tthis.inputs.set({ bevelSize });\n\t}\n\n\t@Input({ alias: 'bevelThickness' }) set _bevelThickness(bevelThickness: number) {\n\t\tthis.inputs.set({ bevelThickness });\n\t}\n\n\t@Input({ alias: 'curveSegments' }) set _curveSegments(curveSegments: number) {\n\t\tthis.inputs.set({ curveSegments });\n\t}\n\n\t@Input({ alias: 'bevelSegments' }) set _bevelSegments(bevelSegments: number) {\n\t\tthis.inputs.set({ bevelSegments });\n\t}\n\n\t@Input({ alias: 'height' }) set _height(height: number) {\n\t\tthis.inputs.set({ height });\n\t}\n\n\t@Input({ alias: 'size' }) set _size(size: number) {\n\t\tthis.inputs.set({ size });\n\t}\n\n\t@Input({ alias: 'lineHeight' }) set _lineHeight(lineHeight: number) {\n\t\tthis.inputs.set({ lineHeight });\n\t}\n\n\t@Input({ alias: 'letterSpacing' }) set _letterSpacing(letterSpacing: number) {\n\t\tthis.inputs.set({ letterSpacing });\n\t}\n\n\t@Input({ alias: 'smooth' }) set _smooth(smooth: number) {\n\t\tthis.inputs.set({ smooth });\n\t}\n\n\tprivate cdr = inject(ChangeDetectorRef);\n\n\tprivate fontData = signal<Font | null>(null);\n\n\tprivate font = this.inputs.select('font');\n\tprivate text = this.inputs.select('text');\n\tprivate size = this.inputs.select('size');\n\tprivate height = this.inputs.select('height');\n\tprivate bevelThickness = this.inputs.select('bevelThickness');\n\tprivate bevelSize = this.inputs.select('bevelSize');\n\tprivate bevelEnabled = this.inputs.select('bevelEnabled');\n\tprivate bevelSegments = this.inputs.select('bevelSegments');\n\tprivate bevelOffset = this.inputs.select('bevelOffset');\n\tprivate curveSegments = this.inputs.select('curveSegments');\n\tprivate letterSpacing = this.inputs.select('letterSpacing');\n\tprivate lineHeight = this.inputs.select('lineHeight');\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst font = this.font();\n\t\t\tif (typeof font === 'string') {\n\t\t\t\tfetch(font)\n\t\t\t\t\t.then((res) => res.json())\n\t\t\t\t\t.then((fontData) => {\n\t\t\t\t\t\tthis.fontData.set(new FontLoader().parse(fontData));\n\t\t\t\t\t\tthis.cdr.detectChanges();\n\t\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tgeometryArgs = computed(() => {\n\t\tconst fontData: Font = this.fontData() || (this.font() as unknown as Font);\n\t\tif (!fontData || !fontData.data) return null;\n\n\t\treturn [\n\t\t\tthis.text(),\n\t\t\t{\n\t\t\t\tfont: fontData,\n\t\t\t\tsize: this.size(),\n\t\t\t\theight: this.height(),\n\t\t\t\tbevelThickness: this.bevelThickness(),\n\t\t\t\tbevelSize: this.bevelSize(),\n\t\t\t\tbevelSegments: this.bevelSegments(),\n\t\t\t\tbevelEnabled: this.bevelEnabled(),\n\t\t\t\tbevelOffset: this.bevelOffset(),\n\t\t\t\tcurveSegments: this.curveSegments(),\n\t\t\t\tletterSpacing: this.letterSpacing(),\n\t\t\t\tlineHeight: this.lineHeight(),\n\t\t\t},\n\t\t];\n\t});\n}\n","import {\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tComponent,\n\tDestroyRef,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\teffect,\n\tinject,\n} from '@angular/core';\nimport { NgtArgs, injectNgtRef, injectNgtStore, signalStore, type NgtMesh } from 'angular-three';\n\n// @ts-expect-error: no type def for troika-three-text\nimport { Text, preloadFont } from 'troika-three-text';\n\nexport type NgtsTextState = {\n\ttext: string;\n\t/** Font size, default: 1 */\n\tfontSize: number;\n\tanchorX: number | 'left' | 'center' | 'right';\n\tanchorY: number | 'top' | 'top-baseline' | 'middle' | 'bottom-baseline' | 'bottom';\n\tsdfGlyphSize: number;\n\tfont?: string;\n\tcharacters?: string;\n\tcolor?: THREE.ColorRepresentation;\n\tmaxWidth?: number;\n\tlineHeight?: number;\n\tletterSpacing?: number;\n\ttextAlign?: 'left' | 'right' | 'center' | 'justify';\n\tclipRect?: [number, number, number, number];\n\tdepthOffset?: number;\n\tdirection?: 'auto' | 'ltr' | 'rtl';\n\toverflowWrap?: 'normal' | 'break-word';\n\twhiteSpace?: 'normal' | 'overflowWrap' | 'nowrap';\n\toutlineWidth?: number | string;\n\toutlineOffsetX?: number | string;\n\toutlineOffsetY?: number | string;\n\toutlineBlur?: number | string;\n\toutlineColor?: THREE.ColorRepresentation;\n\toutlineOpacity?: number;\n\tstrokeWidth?: number | string;\n\tstrokeColor?: THREE.ColorRepresentation;\n\tstrokeOpacity?: number;\n\tfillOpacity?: number;\n\tdebugSDF?: boolean;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-mesh\n\t\t */\n\t\t'ngts-text': NgtsTextState & NgtMesh;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-text',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-primitive\n\t\t\tngtCompound\n\t\t\t*args=\"[troikaText]\"\n\t\t\t[ref]=\"textRef\"\n\t\t\t[text]=\"inputs.state().text\"\n\t\t\t[anchorX]=\"inputs.state().anchorX\"\n\t\t\t[anchorY]=\"inputs.state().anchorY\"\n\t\t\t[font]=\"inputs.state().font\"\n\t\t\t[fontSize]=\"inputs.state().fontSize\"\n\t\t\t[sdfGlyphSize]=\"inputs.state().sdfGlyphSize\"\n\t\t\t[characters]=\"inputs.state().characters\"\n\t\t\t[color]=\"inputs.state().color\"\n\t\t\t[maxWidth]=\"inputs.state().maxWidth\"\n\t\t\t[lineHeight]=\"inputs.state().lineHeight\"\n\t\t\t[letterSpacing]=\"inputs.state().letterSpacing\"\n\t\t\t[textAlign]=\"inputs.state().textAlign\"\n\t\t\t[clipRect]=\"inputs.state().clipRect\"\n\t\t\t[depthOffset]=\"inputs.state().depthOffset\"\n\t\t\t[direction]=\"inputs.state().direction\"\n\t\t\t[overflowWrap]=\"inputs.state().overflowWrap\"\n\t\t\t[whiteSpace]=\"inputs.state().whiteSpace\"\n\t\t\t[outlineWidth]=\"inputs.state().outlineWidth\"\n\t\t\t[outlineOffsetX]=\"inputs.state().outlineOffsetX\"\n\t\t\t[outlineOffsetY]=\"inputs.state().outlineOffsetY\"\n\t\t\t[outlineBlur]=\"inputs.state().outlineBlur\"\n\t\t\t[outlineColor]=\"inputs.state().outlineColor\"\n\t\t\t[outlineOpacity]=\"inputs.state().outlineOpacity\"\n\t\t\t[strokeWidth]=\"inputs.state().strokeWidth\"\n\t\t\t[strokeColor]=\"inputs.state().strokeColor\"\n\t\t\t[strokeOpacity]=\"inputs.state().strokeOpacity\"\n\t\t\t[fillOpacity]=\"inputs.state().fillOpacity\"\n\t\t\t[debugSDF]=\"inputs.state().debugSDF\"\n\t\t>\n\t\t\t<ng-content />\n\t\t</ngt-primitive>\n\t`,\n\timports: [NgtArgs],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsText {\n\tprotected inputs = signalStore<NgtsTextState>({\n\t\tfontSize: 1,\n\t\tsdfGlyphSize: 64,\n\t\tanchorX: 'center',\n\t\tanchorY: 'middle',\n\t});\n\n\t@Input() textRef = injectNgtRef<Text>();\n\n\t@Input({ required: true }) set text(text: string) {\n\t\tthis.inputs.set({ text });\n\t}\n\n\t@Input() set font(font: string) {\n\t\tthis.inputs.set({ font });\n\t}\n\n\t@Input() set fontSize(fontSize: number) {\n\t\tthis.inputs.set({ fontSize });\n\t}\n\n\t@Input() set anchorX(anchorX: number | 'left' | 'center' | 'right') {\n\t\tthis.inputs.set({ anchorX });\n\t}\n\n\t@Input() set anchorY(anchorY: number | 'top' | 'top-baseline' | 'middle' | 'bottom-baseline' | 'bottom') {\n\t\tthis.inputs.set({ anchorY });\n\t}\n\n\t@Input() set sdfGlyphSize(sdfGlyphSize: number) {\n\t\tthis.inputs.set({ sdfGlyphSize });\n\t}\n\n\t@Input() set characters(characters: string) {\n\t\tthis.inputs.set({ characters });\n\t}\n\n\t@Input() set color(color: THREE.ColorRepresentation) {\n\t\tthis.inputs.set({ color });\n\t}\n\n\t@Input() set maxWidth(maxWidth: number) {\n\t\tthis.inputs.set({ maxWidth });\n\t}\n\n\t@Input() set lineHeight(lineHeight: number) {\n\t\tthis.inputs.set({ lineHeight });\n\t}\n\n\t@Input() set letterSpacing(letterSpacing: number) {\n\t\tthis.inputs.set({ letterSpacing });\n\t}\n\n\t@Input() set textAlign(textAlign: 'left' | 'right' | 'center' | 'justify') {\n\t\tthis.inputs.set({ textAlign });\n\t}\n\n\t@Input() set clipRect(clipRect: [number, number, number, number]) {\n\t\tthis.inputs.set({ clipRect });\n\t}\n\n\t@Input() set depthOffset(depthOffset: number) {\n\t\tthis.inputs.set({ depthOffset });\n\t}\n\n\t@Input() set direction(direction: 'auto' | 'ltr' | 'rtl') {\n\t\tthis.inputs.set({ direction });\n\t}\n\n\t@Input() set overflowWrap(overflowWrap: 'normal' | 'break-word') {\n\t\tthis.inputs.set({ overflowWrap });\n\t}\n\n\t@Input() set whiteSpace(whiteSpace: 'normal' | 'overflowWrap' | 'nowrap') {\n\t\tthis.inputs.set({ whiteSpace });\n\t}\n\n\t@Input() set outlineWidth(outlineWidth: number | string) {\n\t\tthis.inputs.set({ outlineWidth });\n\t}\n\n\t@Input() set outlineOffsetX(outlineOffsetX: number | string) {\n\t\tthis.inputs.set({ outlineOffsetX });\n\t}\n\n\t@Input() set outlineOffsetY(outlineOffsetY: number | string) {\n\t\tthis.inputs.set({ outlineOffsetY });\n\t}\n\n\t@Input() set outlineBlur(outlineBlur: number | string) {\n\t\tthis.inputs.set({ outlineBlur });\n\t}\n\n\t@Input() set outlineColor(outlineColor: THREE.ColorRepresentation) {\n\t\tthis.inputs.set({ outlineColor });\n\t}\n\n\t@Input() set outlineOpacity(outlineOpacity: number) {\n\t\tthis.inputs.set({ outlineOpacity });\n\t}\n\n\t@Input() set strokeWidth(strokeWidth: number | string) {\n\t\tthis.inputs.set({ strokeWidth });\n\t}\n\n\t@Input() set strokeColor(strokeColor: THREE.ColorRepresentation) {\n\t\tthis.inputs.set({ strokeColor });\n\t}\n\n\t@Input() set strokeOpacity(strokeOpacity: number) {\n\t\tthis.inputs.set({ strokeOpacity });\n\t}\n\n\t@Input() set fillOpacity(fillOpacity: number) {\n\t\tthis.inputs.set({ fillOpacity });\n\t}\n\n\t@Input() set debugSDF(debugSDF: boolean) {\n\t\tthis.inputs.set({ debugSDF });\n\t}\n\n\t@Output() sync = new EventEmitter<Text>();\n\n\ttroikaText = new Text();\n\n\tprivate store = injectNgtStore();\n\n\tconstructor() {\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.troikaText.dispose();\n\t\t});\n\t\tthis.preloadFont();\n\t\tthis.syncText();\n\t}\n\n\tprivate preloadFont() {\n\t\tconst _font = this.inputs.select('font');\n\t\tconst _characters = this.inputs.select('characters');\n\n\t\teffect(() => {\n\t\t\tconst [font, characters] = [_font(), _characters()];\n\t\t\tconst invalidate = this.store.get('invalidate');\n\t\t\tpreloadFont({ font, characters }, () => invalidate());\n\t\t});\n\t}\n\n\tprivate syncText() {\n\t\teffect(() => {\n\t\t\tconst [invalidate] = [this.store.get('invalidate'), this.inputs.state()];\n\t\t\tthis.troikaText.sync(() => {\n\t\t\t\tinvalidate();\n\t\t\t\tif (this.sync.observed) {\n\t\t\t\t\tthis.sync.emit(this.troikaText);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-three-soba-abstractions.mjs","sources":["../../../../libs/soba/abstractions/src/lib/line.ts","../../../../libs/soba/abstractions/src/lib/catmull-rom-line.ts","../../../../libs/soba/abstractions/src/lib/cubic-bezier-line.ts","../../../../libs/soba/abstractions/src/lib/edges.ts","../../../../libs/soba/abstractions/src/lib/gradient-texture.ts","../../../../libs/soba/abstractions/src/lib/grid.ts","../../../../libs/soba/abstractions/src/lib/helper.ts","../../../../libs/soba/abstractions/src/lib/prism-geometry.ts","../../../../libs/soba/abstractions/src/lib/quadratic-bezier-line.ts","../../../../libs/soba/abstractions/src/lib/text.ts","../../../../libs/soba/abstractions/src/lib/text-3d.ts","../../../../libs/soba/abstractions/src/angular-three-soba-abstractions.ts"],"sourcesContent":["import {\n\tafterNextRender,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tElementRef,\n\tinput,\n\tviewChild,\n} from '@angular/core';\nimport { checkNeedsUpdate, injectStore, NgtAfterAttach, NgtArgs, NgtObject3DNode, omit, pick } from 'angular-three';\nimport { injectAutoEffect } from 'ngxtension/auto-effect';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { Color, ColorRepresentation, Vector2, Vector3, Vector4 } from 'three';\nimport {\n\tLine2,\n\tLineGeometry,\n\tLineMaterial,\n\tLineMaterialParameters,\n\tLineSegments2,\n\tLineSegmentsGeometry,\n} from 'three-stdlib';\n\nexport type NgtLine2 = NgtObject3DNode<Line2, typeof Line2>;\nexport type NgtLineMaterial = NgtObject3DNode<LineMaterial, [LineMaterialParameters]>;\n\nexport type NgtsLineOptions = Omit<LineMaterialParameters, 'vertexColors' | 'color'> &\n\tOmit<Partial<NgtLine2>, '__ngt_args__'> &\n\tOmit<Partial<NgtLineMaterial>, 'color' | 'vertexColors' | '__ngt_args__'> & {\n\t\t/** Array of colors, [0, 0, 0] */\n\t\tvertexColors?: Array<ColorRepresentation | [number, number, number] | [number, number, number, number]>;\n\t\t/** Line width, 1 */\n\t\tlineWidth: number;\n\t\t/** Segments, false */\n\t\tsegments: boolean;\n\t\t/** Color */\n\t\tcolor?: ColorRepresentation;\n\t};\n\nconst defaultOptions: NgtsLineOptions = {\n\tlineWidth: 1,\n\tsegments: false,\n\tcolor: 0xffffff,\n};\n\n@Component({\n\tselector: 'ngts-line',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-primitive *args=\"[line2()]\" #line [parameters]=\"parameters()\">\n\t\t\t<ngt-primitive *args=\"[lineGeometry()]\" attach=\"geometry\" (attached)=\"onGeometryAttached($any($event))\" />\n\t\t\t<ngt-primitive\n\t\t\t\t*args=\"[lineMaterial()]\"\n\t\t\t\tattach=\"material\"\n\t\t\t\t[color]=\"color()\"\n\t\t\t\t[vertexColors]=\"vertex()\"\n\t\t\t\t[resolution]=\"resolution()\"\n\t\t\t\t[linewidth]=\"linewidth() ?? lineWidth() ?? 1\"\n\t\t\t\t[dashed]=\"dashed()\"\n\t\t\t\t[transparent]=\"itemSize() === 4\"\n\t\t\t\t[parameters]=\"parameters()\"\n\t\t\t/>\n\t\t\t<ng-content />\n\t\t</ngt-primitive>\n\t`,\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgtArgs],\n})\nexport class NgtsLine {\n\tpoints = input.required<Array<Vector3 | Vector2 | [number, number, number] | [number, number] | number>>();\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, ['color', 'vertexColors', 'lineWidth', 'segments', 'linewidth', 'dashed']);\n\n\tline = viewChild<ElementRef<Line2 | LineSegments2>>('line');\n\n\tprivate store = injectStore();\n\tprivate size = this.store.select('size');\n\n\tprivate segments = pick(this.options, 'segments');\n\tprivate vertexColors = pick(this.options, 'vertexColors');\n\n\tdashed = pick(this.options, 'dashed');\n\tcolor = pick(this.options, 'color');\n\tlineWidth = pick(this.options, 'lineWidth');\n\tlinewidth = pick(this.options, 'linewidth');\n\tvertex = computed(() => Boolean(this.vertexColors()));\n\tresolution = computed(() => [this.size().width, this.size().height]);\n\n\tline2 = computed(() => (this.segments() ? new LineSegments2() : new Line2()));\n\tlineMaterial = computed(() => new LineMaterial());\n\n\titemSize = computed(() => ((this.vertexColors()?.[0] as number[] | undefined)?.length === 4 ? 4 : 3));\n\n\tlineGeometry = computed(() => {\n\t\tconst geom = this.segments() ? new LineSegmentsGeometry() : new LineGeometry();\n\t\tconst pValues = this.points().map((p) => {\n\t\t\tconst isArray = Array.isArray(p);\n\t\t\treturn p instanceof Vector3 || p instanceof Vector4\n\t\t\t\t? [p.x, p.y, p.z]\n\t\t\t\t: p instanceof Vector2\n\t\t\t\t\t? [p.x, p.y, 0]\n\t\t\t\t\t: isArray && p.length === 3\n\t\t\t\t\t\t? [p[0], p[1], p[2]]\n\t\t\t\t\t\t: isArray && p.length === 2\n\t\t\t\t\t\t\t? [p[0], p[1], 0]\n\t\t\t\t\t\t\t: p;\n\t\t});\n\n\t\tgeom.setPositions(pValues.flat());\n\n\t\tconst vertexColors = this.vertexColors();\n\n\t\tif (vertexColors) {\n\t\t\tconst cValues = vertexColors.map((c) => (c instanceof Color ? c.toArray() : c));\n\t\t\t// @ts-expect-error - flat() isn't defined\n\t\t\tgeom.setColors(cValues.flat(), this.itemSize());\n\t\t}\n\n\t\treturn geom;\n\t});\n\n\t// NOTE: use attached event to call computeLineDistances to ensure the geometry has been attached\n\tonGeometryAttached({ parent }: NgtAfterAttach<LineGeometry, Line2 | LineSegments2>) {\n\t\tparent.computeLineDistances();\n\t}\n\n\tconstructor() {\n\t\tconst autoEffect = injectAutoEffect();\n\n\t\tafterNextRender(() => {\n\t\t\tautoEffect(() => {\n\t\t\t\tconst [lineMaterial, dashed] = [this.lineMaterial(), this.dashed()];\n\t\t\t\tif (dashed) {\n\t\t\t\t\tlineMaterial.defines['USE_DASH'] = '';\n\t\t\t\t} else {\n\t\t\t\t\tdelete lineMaterial.defines['USE_DASH'];\n\t\t\t\t}\n\t\t\t\tcheckNeedsUpdate(lineMaterial);\n\t\t\t});\n\n\t\t\tautoEffect(() => {\n\t\t\t\tconst lineGeometry = this.lineGeometry();\n\t\t\t\treturn () => lineGeometry.dispose();\n\t\t\t});\n\t\t});\n\t}\n}\n","import { ChangeDetectionStrategy, Component, computed, input, untracked, viewChild } from '@angular/core';\nimport { omit, pick } from 'angular-three';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { CatmullRomCurve3, Color, Vector3 } from 'three';\nimport { NgtsLine, NgtsLineOptions } from './line';\n\nexport interface NgtsCatmullRomLineOptions extends Omit<NgtsLineOptions, 'segments'> {\n\tcurveType: 'centripetal' | 'chordal' | 'catmullrom';\n\ttension: number;\n\tsegments: number;\n\tclosed: boolean;\n}\n\nconst defaultOptions: NgtsCatmullRomLineOptions = {\n\tcurveType: 'centripetal',\n\ttension: 0.5,\n\tsegments: 20,\n\tclosed: false,\n\tlineWidth: 1,\n};\n\n@Component({\n\tselector: 'ngts-catmull-rom-line',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngts-line [points]=\"segmentedPoints()\" [options]=\"lineOptions()\">\n\t\t\t<ng-content />\n\t\t</ngts-line>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgtsLine],\n})\nexport class NgtsCatmullRomLine {\n\tpoints = input.required<Array<Vector3 | [number, number, number]>>();\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, ['curveType', 'tension', 'segments', 'closed', 'vertexColors']);\n\n\tline = viewChild.required(NgtsLine);\n\n\tprivate closed = pick(this.options, 'closed');\n\tprivate curveType = pick(this.options, 'curveType');\n\tprivate tension = pick(this.options, 'tension');\n\tprivate segments = pick(this.options, 'segments');\n\tprivate vertexColors = pick(this.options, 'vertexColors');\n\n\tprivate curve = computed(() => {\n\t\tconst [points, closed, curveType, tension] = [this.points(), this.closed(), this.curveType(), this.tension()];\n\n\t\tconst mappedPoints = points.map((pt) =>\n\t\t\tpt instanceof Vector3 ? pt : new Vector3(...(pt as [number, number, number])),\n\t\t);\n\n\t\treturn new CatmullRomCurve3(mappedPoints, closed, curveType, tension);\n\t});\n\n\tsegmentedPoints = computed(() => {\n\t\tconst [curve, segments] = [this.curve(), this.segments()];\n\t\treturn curve.getPoints(segments);\n\t});\n\n\tprivate interpolatedVertexColors = computed(() => {\n\t\tconst [vertexColors, segments] = [this.vertexColors(), this.segments()];\n\t\tif (!vertexColors || vertexColors.length < 2) return undefined;\n\n\t\tif (vertexColors.length === segments + 1) return vertexColors;\n\n\t\tconst mappedColors = vertexColors.map((color) =>\n\t\t\tcolor instanceof Color ? color : new Color(...(color as [number, number, number])),\n\t\t);\n\t\tif (untracked(this.closed)) mappedColors.push(mappedColors[0].clone());\n\n\t\tconst iColors: Color[] = [mappedColors[0]];\n\t\tconst divisions = segments / (mappedColors.length - 1);\n\t\tfor (let i = 1; i < segments; i++) {\n\t\t\tconst alpha = (i % divisions) / divisions;\n\t\t\tconst colorIndex = Math.floor(i / divisions);\n\t\t\tiColors.push(mappedColors[colorIndex].clone().lerp(mappedColors[colorIndex + 1], alpha));\n\t\t}\n\t\tiColors.push(mappedColors[mappedColors.length - 1]);\n\n\t\treturn iColors;\n\t});\n\n\tlineOptions = computed(() => ({ ...this.parameters(), vertexColors: this.interpolatedVertexColors() }));\n}\n","import { ChangeDetectionStrategy, Component, computed, input, viewChild } from '@angular/core';\nimport { omit, pick } from 'angular-three';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { CubicBezierCurve3, Vector3 } from 'three';\nimport { NgtsLine, NgtsLineOptions } from './line';\n\nexport interface NgtsCubicBezierLineOptions extends Omit<NgtsLineOptions, 'segments'> {\n\tsegments?: number;\n}\n\nconst defaultOptions: NgtsCubicBezierLineOptions = {\n\tlineWidth: 1,\n\tsegments: 20,\n};\n\n@Component({\n\tselector: 'ngts-cubic-bezier-line',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngts-line [points]=\"points()\" [options]=\"parameters()\">\n\t\t\t<ng-content />\n\t\t</ngts-line>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgtsLine],\n})\nexport class NgtsCubicBezierLine {\n\tstart = input.required<Vector3 | [number, number, number]>();\n\tend = input.required<Vector3 | [number, number, number]>();\n\tmidA = input.required<Vector3 | [number, number, number]>();\n\tmidB = input.required<Vector3 | [number, number, number]>();\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, ['segments']);\n\n\tline = viewChild.required(NgtsLine);\n\n\tprivate segments = pick(this.options, 'segments');\n\n\tpoints = computed(() => {\n\t\tconst [start, end, midA, midB, segments] = [this.start(), this.end(), this.midA(), this.midB(), this.segments()];\n\t\tconst startV = start instanceof Vector3 ? start : new Vector3(...start);\n\t\tconst endV = end instanceof Vector3 ? end : new Vector3(...end);\n\t\tconst midAV = midA instanceof Vector3 ? midA : new Vector3(...midA);\n\t\tconst midBV = midB instanceof Vector3 ? midB : new Vector3(...midB);\n\t\treturn new CubicBezierCurve3(startV, midAV, midBV, endV).getPoints(segments);\n\t});\n}\n","import { afterNextRender, ChangeDetectionStrategy, Component, computed, input, viewChild } from '@angular/core';\nimport { checkNeedsUpdate, getLocalState, NgtMesh, omit } from 'angular-three';\nimport { injectAutoEffect } from 'ngxtension/auto-effect';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { BufferAttribute, BufferGeometry, ColorRepresentation, EdgesGeometry, Mesh } from 'three';\nimport { LineMaterialParameters } from 'three-stdlib';\nimport { NgtLine2, NgtLineMaterial, NgtsLine } from './line';\n\nexport type NgtsEdgesOptions = Partial<NgtMesh> & {\n\tthreshold?: number;\n\tlineWidth?: number;\n} & Omit<LineMaterialParameters, 'vertexColors' | 'color'> &\n\tOmit<Partial<NgtLine2>, 'geometry'> &\n\tOmit<Partial<NgtLineMaterial>, 'color' | 'vertexColors'> & {\n\t\tgeometry?: BufferGeometry;\n\t\tcolor?: ColorRepresentation;\n\t};\n\nconst defaultOptions: NgtsEdgesOptions = {\n\tlineWidth: 1,\n\tthreshold: 15,\n};\n\n@Component({\n\tselector: 'ngts-edges',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngts-line [points]=\"tmpPoints\" [options]=\"lineOptions()\">\n\t\t\t<ng-content />\n\t\t</ngts-line>\n\t`,\n\timports: [NgtsLine],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtsEdges {\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tprivate parameters = omit(this.options, ['threshold', 'geometry']);\n\n\tprotected lineOptions = computed(() => ({ ...this.parameters(), raycast: () => null }));\n\tprotected tmpPoints = [0, 0, 0, 1, 0, 0];\n\n\tline = viewChild.required(NgtsLine);\n\n\tprivate memoizedGeometry?: BufferGeometry;\n\tprivate memoizedThreshold?: number;\n\n\tconstructor() {\n\t\tconst autoEffect = injectAutoEffect();\n\t\tafterNextRender(() => {\n\t\t\tautoEffect(() => {\n\t\t\t\tconst line = this.line().line()?.nativeElement;\n\t\t\t\tif (!line) return;\n\n\t\t\t\tconst lS = getLocalState(line);\n\t\t\t\tif (!lS) return;\n\n\t\t\t\tconst parent = lS.parent() as Mesh;\n\t\t\t\tif (!parent) return;\n\n\t\t\t\tconst { geometry: explicitGeometry, threshold } = this.options();\n\t\t\t\tconst geometry = explicitGeometry ?? parent.geometry;\n\t\t\t\tif (!geometry) return;\n\n\t\t\t\tconst cached = this.memoizedGeometry === geometry && this.memoizedThreshold === threshold;\n\t\t\t\tif (cached) return;\n\n\t\t\t\tthis.memoizedGeometry = geometry;\n\t\t\t\tthis.memoizedThreshold = threshold;\n\n\t\t\t\tconst points = (new EdgesGeometry(geometry, threshold).attributes['position'] as BufferAttribute)\n\t\t\t\t\t.array as Float32Array;\n\t\t\t\tline.geometry.setPositions(points);\n\t\t\t\tcheckNeedsUpdate(line.geometry.attributes['instanceStart']);\n\t\t\t\tcheckNeedsUpdate(line.geometry.attributes['instanceEnd']);\n\t\t\t\tline.computeLineDistances();\n\t\t\t});\n\t\t});\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tinject,\n\tinput,\n\tuntracked,\n} from '@angular/core';\nimport { extend, injectStore, NgtArgs, NgtTexture, omit } from 'angular-three';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { CanvasTexture, Color, ColorRepresentation } from 'three';\n\nexport interface NgtsGradientTextureOptions extends Partial<Omit<NgtTexture, 'type'>> {\n\tsize: number;\n\twidth: number;\n\ttype: 'linear' | 'radial';\n\tinnerCircleRadius: number;\n\touterCircleRadius: string | number;\n}\n\nconst defaultOptions: NgtsGradientTextureOptions = {\n\tsize: 1024,\n\twidth: 16,\n\ttype: 'linear',\n\tinnerCircleRadius: 0,\n\touterCircleRadius: 'auto',\n};\n\n@Component({\n\tselector: 'ngts-gradient-texture',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-canvas-texture\n\t\t\t*args=\"[canvas()]\"\n\t\t\t[attach]=\"attach()\"\n\t\t\t[colorSpace]=\"gl().outputColorSpace\"\n\t\t\t[parameters]=\"parameters()\"\n\t\t>\n\t\t\t<ng-content />\n\t\t</ngt-canvas-texture>\n\t`,\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgtArgs],\n})\nexport class NgtsGradientTexture {\n\tattach = input('map');\n\tstops = input.required<Array<number>>();\n\tcolors = input.required<Array<ColorRepresentation>>();\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, ['size', 'width', 'type', 'innerCircleRadius', 'outerCircleRadius']);\n\n\tprivate store = injectStore();\n\tgl = this.store.select('gl');\n\tprivate document = inject(DOCUMENT);\n\n\tcanvas = computed(() => {\n\t\tconst canvas = this.document.createElement('canvas');\n\t\tconst context = canvas.getContext('2d')!;\n\t\tconst [{ width, size, type, outerCircleRadius, innerCircleRadius }, stops, colors] = [\n\t\t\tuntracked(this.options),\n\t\t\tthis.stops(),\n\t\t\tthis.colors(),\n\t\t];\n\t\tcanvas.width = width;\n\t\tcanvas.height = size;\n\n\t\tlet gradient: CanvasGradient;\n\n\t\tif (type === 'linear') {\n\t\t\tgradient = context.createLinearGradient(0, 0, 0, size);\n\t\t} else {\n\t\t\tconst canvasCenterX = canvas.width / 2;\n\t\t\tconst canvasCenterY = canvas.height / 2;\n\t\t\tconst radius =\n\t\t\t\touterCircleRadius !== 'auto'\n\t\t\t\t\t? Math.abs(Number(outerCircleRadius))\n\t\t\t\t\t: Math.sqrt(canvasCenterX ** 2 + canvasCenterY ** 2);\n\t\t\tgradient = context.createRadialGradient(\n\t\t\t\tcanvasCenterX,\n\t\t\t\tcanvasCenterY,\n\t\t\t\tMath.abs(innerCircleRadius),\n\t\t\t\tcanvasCenterX,\n\t\t\t\tcanvasCenterY,\n\t\t\t\tradius,\n\t\t\t);\n\t\t}\n\n\t\tconst tempColor = new Color(); // reuse instance for performance\n\n\t\tlet i = stops.length;\n\t\twhile (i--) {\n\t\t\tgradient.addColorStop(stops[i], tempColor.set(colors[i]).getStyle());\n\t\t}\n\n\t\tcontext.save();\n\t\tcontext.fillStyle = gradient;\n\t\tcontext.fillRect(0, 0, width, size);\n\t\tcontext.restore();\n\n\t\treturn canvas;\n\t});\n\n\tconstructor() {\n\t\textend({ CanvasTexture });\n\t}\n}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tElementRef,\n\tinput,\n\tviewChild,\n} from '@angular/core';\nimport { extend, injectBeforeRender, NgtArgs, NgtMesh, omit, pick } from 'angular-three';\nimport { GridMaterial, GridMaterialOptions } from 'angular-three-soba/shaders';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { BackSide, Mesh, Plane, PlaneGeometry, ShaderMaterial, Uniform, Vector3 } from 'three';\n\nconst defaultOptions: Partial<NgtMesh> &\n\tGridMaterialOptions & { planeArgs: ConstructorParameters<typeof PlaneGeometry> } = {\n\tplaneArgs: [],\n\tcellSize: 0.5,\n\tcellThickness: 0.5,\n\tcellColor: 'black',\n\tsectionSize: 1,\n\tsectionThickness: 1,\n\tsectionColor: '#2080ff',\n\tinfiniteGrid: false,\n\tfollowCamera: false,\n\tfadeDistance: 100,\n\tfadeStrength: 1,\n\tfadeFrom: 1,\n\tside: BackSide,\n};\n\n@Component({\n\tselector: 'ngts-grid',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-mesh #mesh [frustumCulled]=\"false\" [parameters]=\"parameters()\">\n\t\t\t<ngt-plane-geometry *args=\"planeArgs()\" />\n\t\t\t<ngt-grid-material [transparent]=\"true\" [side]=\"side()\" [parameters]=\"uniforms()\">\n\t\t\t\t<ngt-value attach=\"extensions.derivatives\" [rawValue]=\"true\" />\n\t\t\t</ngt-grid-material>\n\t\t\t<ng-content />\n\t\t</ngt-mesh>\n\t`,\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgtArgs],\n})\nexport class NgtsGrid {\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, [\n\t\t'planeArgs',\n\t\t'cellSize',\n\t\t'cellThickness',\n\t\t'cellColor',\n\t\t'sectionSize',\n\t\t'sectionThickness',\n\t\t'sectionColor',\n\t\t'infiniteGrid',\n\t\t'followCamera',\n\t\t'fadeDistance',\n\t\t'fadeStrength',\n\t\t'fadeFrom',\n\t\t'side',\n\t]);\n\n\tmesh = viewChild.required<ElementRef<Mesh>>('mesh');\n\n\tprivate plane = new Plane();\n\tprivate upVector = new Vector3(0, 1, 0);\n\tprivate zeroVector = new Vector3(0, 0, 0);\n\n\tplaneArgs = pick(this.options, 'planeArgs');\n\tside = pick(this.options, 'side');\n\tuniforms = computed(() => {\n\t\tconst {\n\t\t\tcellSize,\n\t\t\tsectionSize,\n\t\t\tcellColor,\n\t\t\tsectionColor,\n\t\t\tcellThickness,\n\t\t\tsectionThickness,\n\t\t\tfadeDistance,\n\t\t\tfadeStrength,\n\t\t\tfadeFrom,\n\t\t\tinfiniteGrid,\n\t\t\tfollowCamera,\n\t\t} = this.options();\n\t\treturn {\n\t\t\tcellSize,\n\t\t\tsectionSize,\n\t\t\tcellColor,\n\t\t\tsectionColor,\n\t\t\tcellThickness,\n\t\t\tsectionThickness,\n\t\t\tfadeDistance,\n\t\t\tfadeStrength,\n\t\t\tfadeFrom,\n\t\t\tinfiniteGrid,\n\t\t\tfollowCamera,\n\t\t};\n\t});\n\n\tconstructor() {\n\t\textend({ Mesh, PlaneGeometry, GridMaterial });\n\n\t\tinjectBeforeRender(({ camera }) => {\n\t\t\tconst mesh = this.mesh().nativeElement;\n\n\t\t\tthis.plane.setFromNormalAndCoplanarPoint(this.upVector, this.zeroVector).applyMatrix4(mesh.matrixWorld);\n\n\t\t\tconst gridMaterial = mesh.material as ShaderMaterial;\n\t\t\tconst worldCamProjPosition = gridMaterial.uniforms['worldCamProjPosition'] as Uniform<Vector3>;\n\t\t\tconst worldPlanePosition = gridMaterial.uniforms['worldPlanePosition'] as Uniform<Vector3>;\n\n\t\t\tthis.plane.projectPoint(camera.position, worldCamProjPosition.value);\n\t\t\tworldPlanePosition.value.set(0, 0, 0).applyMatrix4(mesh.matrixWorld);\n\t\t});\n\t}\n}\n","import {\n\tafterNextRender,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tElementRef,\n\tInjector,\n\tinput,\n\tsignal,\n\tuntracked,\n\tviewChild,\n} from '@angular/core';\nimport { extend, getLocalState, injectBeforeRender, injectStore, resolveRef } from 'angular-three';\nimport { assertInjector } from 'ngxtension/assert-injector';\nimport { injectAutoEffect } from 'ngxtension/auto-effect';\nimport { Object3D } from 'three';\n\ntype HelperArgs<T> = T extends [infer _, ...infer R] ? R : never;\n\nexport function injectHelper<\n\tTConstructor extends new (...args: any[]) => Object3D,\n\tTHelperInstance extends InstanceType<TConstructor> & { update: () => void; dispose: () => void },\n>(\n\tobject: () => ElementRef<Object3D> | Object3D | undefined | null,\n\thelperConstructor: () => TConstructor,\n\t{\n\t\tinjector,\n\t\targs = () => [] as unknown as HelperArgs<TConstructor>,\n\t}: { injector?: Injector; args?: () => HelperArgs<TConstructor> } = {},\n) {\n\treturn assertInjector(injectHelper, injector, () => {\n\t\tconst autoEffect = injectAutoEffect();\n\t\tconst store = injectStore();\n\t\tconst scene = store.select('scene');\n\n\t\tconst helper = signal<THelperInstance | null>(null);\n\n\t\tafterNextRender(() => {\n\t\t\tautoEffect(() => {\n\t\t\t\tlet currentHelper: THelperInstance | undefined = undefined;\n\t\t\t\tconst maybeObject3D = object();\n\t\t\t\tif (!maybeObject3D) return;\n\n\t\t\t\tconst object3D = resolveRef(maybeObject3D);\n\t\t\t\tif (!object3D) return;\n\n\t\t\t\tcurrentHelper = new (helperConstructor() as any)(object3D, ...args());\n\t\t\t\tif (!currentHelper) return;\n\n\t\t\t\tuntracked(() => {\n\t\t\t\t\thelper.set(currentHelper);\n\t\t\t\t});\n\n\t\t\t\t// Prevent the helpers from blocking rays\n\t\t\t\tcurrentHelper.traverse((child) => (child.raycast = () => null));\n\t\t\t\tscene().add(currentHelper);\n\n\t\t\t\treturn () => {\n\t\t\t\t\thelper.set(null);\n\t\t\t\t\tscene().remove(currentHelper);\n\t\t\t\t\tcurrentHelper.dispose?.();\n\t\t\t\t};\n\t\t\t});\n\t\t});\n\n\t\tinjectBeforeRender(() => {\n\t\t\tconst currentHelper = helper();\n\t\t\tif (currentHelper) currentHelper.update();\n\t\t});\n\n\t\treturn helper.asReadonly();\n\t});\n}\n\n@Component({\n\tstandalone: true,\n\tselector: 'ngts-helper',\n\ttemplate: `\n\t\t<ngt-object-3D #helper />\n\t`,\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtsHelper<TConstructor extends new (...args: any[]) => Object3D> {\n\ttype = input.required<TConstructor>();\n\toptions = input<HelperArgs<TConstructor>>([] as unknown as HelperArgs<TConstructor>);\n\n\thelperRef = viewChild.required<ElementRef<Object3D>>('helper');\n\n\tprivate parent = computed(() => {\n\t\tconst helper = this.helperRef().nativeElement;\n\t\tif (!helper) return;\n\t\tconst localState = getLocalState(helper);\n\t\tif (!localState) return;\n\t\treturn localState.parent();\n\t});\n\n\thelper = injectHelper(this.parent, this.type, { args: this.options });\n\n\tconstructor() {\n\t\textend({ Object3D });\n\t}\n}\n","import {\n\tafterNextRender,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tElementRef,\n\tinput,\n\tviewChild,\n} from '@angular/core';\nimport { extend, NgtArgs } from 'angular-three';\nimport { injectAutoEffect } from 'ngxtension/auto-effect';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { ExtrudeGeometry, ExtrudeGeometryOptions, Shape, Vector2 } from 'three';\n\nexport interface NgtsPrismGeometryOptions extends Omit<ExtrudeGeometryOptions, 'depth'> {\n\t/** Height */\n\theight: number;\n}\n\nconst defaultOptions: NgtsPrismGeometryOptions = {\n\theight: 1,\n\tbevelEnabled: false,\n};\n\n@Component({\n\tselector: 'ngts-prism-geometry',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-extrude-geometry #geometry *args=\"[shape(), parameters()]\">\n\t\t\t<ng-content />\n\t\t</ngt-extrude-geometry>\n\t`,\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgtArgs],\n})\nexport class NgtsPrismGeometry {\n\tvertices = input.required<Array<Vector2 | [number, number]>>();\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\n\tparameters = computed(() => ({ ...this.options(), depth: this.options().height }));\n\tshape = computed(() => {\n\t\tconst vertices = this.vertices();\n\t\tconst interpolatedVertices = vertices.map((v) => (v instanceof Vector2 ? v : new Vector2(...v)));\n\t\treturn new Shape(interpolatedVertices);\n\t});\n\n\tgeometry = viewChild<ElementRef<ExtrudeGeometry>>('geometry');\n\n\tconstructor() {\n\t\textend({ ExtrudeGeometry });\n\n\t\tconst autoEffect = injectAutoEffect();\n\n\t\tafterNextRender(() => {\n\t\t\t// autoEffect(() => {\n\t\t\t// \tconst geometry = this.geometry()?.nativeElement;\n\t\t\t// \tif (!geometry) return;\n\t\t\t//\n\t\t\t// \tgeometry.center();\n\t\t\t// });\n\t\t});\n\t}\n}\n","import { ChangeDetectionStrategy, Component, computed, input, viewChild } from '@angular/core';\nimport { omit, pick } from 'angular-three';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { QuadraticBezierCurve3, Vector3 } from 'three';\nimport { NgtsLine, NgtsLineOptions } from './line';\n\nexport interface NgtsQuadraticBezierLineOptions extends Omit<NgtsLineOptions, 'segments'> {\n\tsegments?: number;\n}\n\nconst defaultOptions: NgtsQuadraticBezierLineOptions = {\n\tlineWidth: 1,\n\tsegments: 20,\n};\n\n@Component({\n\tselector: 'ngts-quadratic-bezier-line',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngts-line [points]=\"points()\" [options]=\"parameters()\">\n\t\t\t<ng-content />\n\t\t</ngts-line>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgtsLine],\n})\nexport class NgtsQuadraticBezierLine {\n\tstart = input<Vector3 | [number, number, number]>([0, 0, 0]);\n\tend = input<Vector3 | [number, number, number]>([0, 0, 0]);\n\tmid = input<Vector3 | [number, number, number]>();\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, ['segments']);\n\n\tprivate segments = pick(this.options, 'segments');\n\n\tline = viewChild.required(NgtsLine);\n\n\tpoints = computed(() => this.getPoints(this.start(), this.end(), this.mid(), this.segments()));\n\n\tprivate curve = new QuadraticBezierCurve3();\n\n\tsetPoints(\n\t\tstart: Vector3 | [number, number, number],\n\t\tend: Vector3 | [number, number, number],\n\t\tmid: Vector3 | [number, number, number],\n\t) {\n\t\tconst points = this.getPoints(start, end, mid);\n\t\tconst geometry = this.line().lineGeometry();\n\t\tif (geometry) geometry.setPositions(points.map((p) => p.toArray()).flat());\n\t}\n\n\tprivate getPoints(\n\t\tstart: Vector3 | [number, number, number],\n\t\tend: Vector3 | [number, number, number],\n\t\tmid?: Vector3 | [number, number, number],\n\t\tsegments = 20,\n\t) {\n\t\tif (start instanceof Vector3) this.curve.v0.copy(start);\n\t\telse this.curve.v0.set(...(start as [number, number, number]));\n\t\tif (end instanceof Vector3) this.curve.v2.copy(end);\n\t\telse this.curve.v2.set(...(end as [number, number, number]));\n\t\tif (mid instanceof Vector3) {\n\t\t\tthis.curve.v1.copy(mid);\n\t\t} else if (Array.isArray(mid)) {\n\t\t\tthis.curve.v1.set(...(mid as [number, number, number]));\n\t\t} else {\n\t\t\tthis.curve.v1.copy(\n\t\t\t\tthis.curve.v0\n\t\t\t\t\t.clone()\n\t\t\t\t\t.add(this.curve.v2.clone().sub(this.curve.v0))\n\t\t\t\t\t.add(new Vector3(0, this.curve.v0.y - this.curve.v2.y, 0)),\n\t\t\t);\n\t\t}\n\t\treturn this.curve.getPoints(segments);\n\t}\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tChangeDetectionStrategy,\n\tComponent,\n\tDestroyRef,\n\tafterNextRender,\n\tcomputed,\n\tinject,\n\tinput,\n\toutput,\n} from '@angular/core';\nimport { NgtArgs, NgtMesh, injectStore, omit, pick } from 'angular-three';\nimport { injectAutoEffect } from 'ngxtension/auto-effect';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { ColorRepresentation } from 'three';\n// @ts-expect-error - no type def\nimport { Text, preloadFont } from 'troika-three-text';\n\nexport interface NgtsTextOptions extends Partial<NgtMesh> {\n\tcharacters?: string;\n\tcolor?: ColorRepresentation;\n\t/** Font size, default: 1 */\n\tfontSize: number;\n\tfontWeight?: number | string;\n\tfontStyle?: 'italic' | 'normal';\n\tmaxWidth?: number;\n\tlineHeight?: number;\n\tletterSpacing?: number;\n\ttextAlign?: 'left' | 'right' | 'center' | 'justify';\n\tfont?: string;\n\tanchorX: number | 'left' | 'center' | 'right';\n\tanchorY: number | 'top' | 'top-baseline' | 'middle' | 'bottom-baseline' | 'bottom';\n\tclipRect?: [number, number, number, number];\n\tdepthOffset?: number;\n\tdirection?: 'auto' | 'ltr' | 'rtl';\n\toverflowWrap?: 'normal' | 'break-word';\n\twhiteSpace?: 'normal' | 'overflowWrap' | 'nowrap';\n\toutlineWidth?: number | string;\n\toutlineOffsetX?: number | string;\n\toutlineOffsetY?: number | string;\n\toutlineBlur?: number | string;\n\toutlineColor?: ColorRepresentation;\n\toutlineOpacity?: number;\n\tstrokeWidth?: number | string;\n\tstrokeColor?: ColorRepresentation;\n\tstrokeOpacity?: number;\n\tfillOpacity?: number;\n\tsdfGlyphSize: number;\n\tdebugSDF?: boolean;\n}\n\nconst defaultOptions: NgtsTextOptions = {\n\tsdfGlyphSize: 64,\n\tanchorX: 'center',\n\tanchorY: 'middle',\n\tfontSize: 1,\n};\n\n@Component({\n\tselector: 'ngts-text',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-primitive\n\t\t\t*args=\"args()\"\n\t\t\t[text]=\"text()\"\n\t\t\t[font]=\"font()\"\n\t\t\t[anchorX]=\"anchorX()\"\n\t\t\t[anchorY]=\"anchorY()\"\n\t\t\t[sdfGlyphSize]=\"sdfGlyphSize()\"\n\t\t\t[fontSize]=\"fontSize()\"\n\t\t\t[parameters]=\"parameters()\"\n\t\t>\n\t\t\t<ng-content />\n\t\t</ngt-primitive>\n\t`,\n\timports: [NgtArgs, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtsText {\n\ttext = input.required<string>();\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, ['font', 'fontSize', 'sdfGlyphSize', 'anchorX', 'anchorY', 'characters']);\n\n\tsynced = output<Text>();\n\n\tprivate autoEffect = injectAutoEffect();\n\tprivate store = injectStore();\n\tprivate invalidate = this.store.select('invalidate');\n\n\tprivate characters = pick(this.options, 'characters');\n\n\tfont = pick(this.options, 'font');\n\tanchorX = pick(this.options, 'anchorX');\n\tanchorY = pick(this.options, 'anchorY');\n\tsdfGlyphSize = pick(this.options, 'sdfGlyphSize');\n\tfontSize = pick(this.options, 'fontSize');\n\n\ttroikaMesh = computed(() => new Text(), { equal: Object.is });\n\targs = computed(() => [this.troikaMesh()]);\n\n\tconstructor() {\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.troikaMesh().dispose();\n\t\t});\n\n\t\t// NOTE: this could be just effect but autoEffect is used for consistency\n\t\tthis.autoEffect(() => {\n\t\t\tconst [font, characters, invalidate] = [this.font(), this.characters(), this.invalidate()];\n\t\t\tif (font) {\n\t\t\t\tpreloadFont({ font, characters }, () => invalidate());\n\t\t\t}\n\t\t});\n\n\t\tafterNextRender(() => {\n\t\t\tthis.autoEffect(() => {\n\t\t\t\tconst [invalidate, text] = [this.invalidate(), this.text(), this.options()];\n\t\t\t\tthis.troikaMesh().sync(() => {\n\t\t\t\t\tinvalidate();\n\t\t\t\t\tthis.synced.emit(this.troikaMesh());\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n}\n","import {\n\tafterNextRender,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tElementRef,\n\tinput,\n\tviewChild,\n} from '@angular/core';\nimport { extend, NgtArgs, NgtMesh, omit, pick } from 'angular-three';\nimport { injectFont, NgtsFontInput } from 'angular-three-soba/loaders';\nimport { injectAutoEffect } from 'ngxtension/auto-effect';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { Mesh } from 'three';\nimport { mergeVertices, TextGeometry, TextGeometryParameters } from 'three-stdlib';\n\nexport interface NgtsText3DOptions extends Omit<TextGeometryParameters, 'font'> {\n\tbevelSegments: number;\n\tsmooth?: number;\n}\n\nconst defaultOptions: Partial<NgtMesh> & NgtsText3DOptions = {\n\tletterSpacing: 0,\n\tlineHeight: 1,\n\tsize: 1,\n\theight: 0.2,\n\tbevelThickness: 0.1,\n\tbevelSize: 0.01,\n\tbevelEnabled: false,\n\tbevelOffset: 0,\n\tbevelSegments: 4,\n\tcurveSegments: 8,\n};\n\n@Component({\n\tselector: 'ngts-text-3d',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-mesh #mesh [parameters]=\"parameters()\">\n\t\t\t<ngt-text-geometry *args=\"textArgs()\" />\n\t\t\t<ng-content />\n\t\t</ngt-mesh>\n\t`,\n\timports: [NgtArgs],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtsText3D {\n\tfont = input.required<NgtsFontInput>();\n\ttext = input.required<string>();\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, [\n\t\t'letterSpacing',\n\t\t'lineHeight',\n\t\t'size',\n\t\t'height',\n\t\t'bevelThickness',\n\t\t'bevelSize',\n\t\t'bevelEnabled',\n\t\t'bevelOffset',\n\t\t'bevelSegments',\n\t\t'curveSegments',\n\t\t'smooth',\n\t]);\n\n\tmesh = viewChild<ElementRef<Mesh>>('mesh');\n\n\tloadedFont = injectFont(this.font);\n\tprivate smooth = pick(this.options, 'smooth');\n\tprivate textOptions = pick(this.options, [\n\t\t'letterSpacing',\n\t\t'lineHeight',\n\t\t'size',\n\t\t'height',\n\t\t'bevelThickness',\n\t\t'bevelSize',\n\t\t'bevelEnabled',\n\t\t'bevelOffset',\n\t\t'bevelSegments',\n\t\t'curveSegments',\n\t]);\n\n\ttextArgs = computed(() => {\n\t\tconst [text, font, textOptions] = [this.text(), this.loadedFont(), this.textOptions()];\n\t\tif (!font) return null;\n\t\treturn [text, { font, ...textOptions }];\n\t});\n\n\tconstructor() {\n\t\textend({ Mesh, TextGeometry });\n\n\t\tconst autoEffect = injectAutoEffect();\n\n\t\tafterNextRender(() => {\n\t\t\tautoEffect(() => {\n\t\t\t\tconst [mesh, smooth, textArgs] = [this.mesh()?.nativeElement, this.smooth(), this.textArgs()];\n\t\t\t\tif (!textArgs || !mesh) return;\n\t\t\t\tif (smooth) {\n\t\t\t\t\tmesh.geometry = mergeVertices(mesh.geometry, smooth);\n\t\t\t\t\tmesh.geometry.computeVertexNormals();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["defaultOptions"],"mappings":"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"}
|