angular-three-soba 2.0.0-beta.4 → 2.0.0-beta.41

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.
Files changed (323) hide show
  1. package/abstractions/billboard/billboard.d.ts +12 -8
  2. package/abstractions/detailed/detailed.d.ts +26 -0
  3. package/abstractions/edges/edges.d.ts +24 -12
  4. package/abstractions/grid/grid.d.ts +42 -51
  5. package/abstractions/index.d.ts +1 -7
  6. package/abstractions/text/text.d.ts +10 -4
  7. package/abstractions/text-3d/text-3d.d.ts +51 -41
  8. package/cameras/camera/camera-content.d.ts +1 -1
  9. package/cameras/camera/camera.d.ts +16 -13
  10. package/cameras/cube-camera/cube-camera.d.ts +49 -23
  11. package/cameras/index.d.ts +0 -1
  12. package/cameras/orthographic-camera/orthographic-camera.d.ts +29 -18
  13. package/cameras/perspective-camera/perspective-camera.d.ts +10 -1
  14. package/controls/orbit-controls/orbit-controls.d.ts +34 -15
  15. package/esm2022/abstractions/billboard/billboard.mjs +36 -33
  16. package/esm2022/abstractions/detailed/detailed.mjs +64 -0
  17. package/esm2022/abstractions/edges/edges.mjs +58 -63
  18. package/esm2022/abstractions/grid/grid.mjs +140 -110
  19. package/esm2022/abstractions/index.mjs +2 -8
  20. package/esm2022/abstractions/text/text.mjs +123 -122
  21. package/esm2022/abstractions/text-3d/text-3d.mjs +120 -115
  22. package/esm2022/cameras/camera/camera-content.mjs +6 -6
  23. package/esm2022/cameras/camera/camera.mjs +48 -42
  24. package/esm2022/cameras/cube-camera/cube-camera.mjs +120 -100
  25. package/esm2022/cameras/index.mjs +1 -2
  26. package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +78 -75
  27. package/esm2022/cameras/perspective-camera/perspective-camera.mjs +25 -26
  28. package/esm2022/controls/orbit-controls/orbit-controls.mjs +109 -85
  29. package/esm2022/gizmos/angular-three-soba-gizmos.mjs +5 -0
  30. package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +198 -0
  31. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/constants.mjs +31 -0
  32. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +93 -0
  33. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +151 -0
  34. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +66 -0
  35. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +71 -0
  36. package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +195 -0
  37. package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +272 -0
  38. package/esm2022/gizmos/index.mjs +4 -0
  39. package/esm2022/loaders/gltf-loader/gltf-loader.mjs +14 -9
  40. package/esm2022/loaders/loader/loader.mjs +92 -87
  41. package/esm2022/loaders/progress/progress.mjs +31 -30
  42. package/esm2022/loaders/texture-loader/texture-loader.mjs +20 -15
  43. package/esm2022/materials/index.mjs +2 -1
  44. package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +60 -51
  45. package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +239 -255
  46. package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +99 -97
  47. package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +164 -144
  48. package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +44 -42
  49. package/esm2022/materials/point-material/point-material.mjs +50 -0
  50. package/esm2022/misc/animations/animations.mjs +28 -23
  51. package/esm2022/misc/bake-shadows/bake-shadows.mjs +13 -13
  52. package/esm2022/misc/caustics/caustics.mjs +387 -0
  53. package/esm2022/misc/decal/decal.mjs +187 -0
  54. package/esm2022/misc/depth-buffer/depth-buffer.mjs +41 -37
  55. package/esm2022/misc/example/example.mjs +161 -0
  56. package/esm2022/misc/fbo/fbo.mjs +42 -36
  57. package/esm2022/misc/html/html-wrapper.mjs +478 -0
  58. package/esm2022/misc/html/html.mjs +305 -0
  59. package/esm2022/misc/index.mjs +10 -1
  60. package/esm2022/misc/sampler/sampler.mjs +132 -0
  61. package/esm2022/misc/shadow/shadow.mjs +111 -0
  62. package/esm2022/misc/stats-gl/stats-gl.mjs +61 -0
  63. package/esm2022/misc/trail/trail.mjs +204 -0
  64. package/esm2022/misc/trail-texture/inject-trail-texture.mjs +17 -0
  65. package/esm2022/misc/trail-texture/trail-texture.mjs +106 -0
  66. package/esm2022/modifiers/angular-three-soba-modifiers.mjs +5 -0
  67. package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +64 -0
  68. package/esm2022/modifiers/index.mjs +2 -0
  69. package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +44 -0
  70. package/esm2022/performances/adaptive-events/adaptive-events.mjs +27 -0
  71. package/esm2022/performances/angular-three-soba-performances.mjs +5 -0
  72. package/esm2022/performances/index.mjs +8 -0
  73. package/esm2022/performances/instances/instances.mjs +221 -0
  74. package/esm2022/performances/instances/position-mesh.mjs +52 -0
  75. package/esm2022/performances/points/points-input.mjs +64 -0
  76. package/esm2022/performances/points/points.mjs +327 -0
  77. package/esm2022/performances/points/position-point.mjs +54 -0
  78. package/esm2022/performances/segments/segment-object.mjs +9 -0
  79. package/esm2022/performances/segments/segments.mjs +183 -0
  80. package/esm2022/shaders/blur-pass/blur-pass.mjs +2 -2
  81. package/esm2022/shaders/caustics/caustics-material.mjs +130 -0
  82. package/esm2022/shaders/caustics/caustics-projection-material.mjs +32 -0
  83. package/esm2022/shaders/convolution-material/convolution-material.mjs +3 -2
  84. package/esm2022/shaders/discard-material/discard-material.mjs +1 -1
  85. package/esm2022/shaders/grid-material/grid-material.mjs +30 -14
  86. package/esm2022/shaders/index.mjs +5 -3
  87. package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +42 -41
  88. package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +2 -2
  89. package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +3 -2
  90. package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +7 -4
  91. package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +1 -1
  92. package/esm2022/shaders/shader-material/shader-material.mjs +3 -5
  93. package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +18 -25
  94. package/esm2022/shaders/sparkles-material/sparkles-material.mjs +32 -46
  95. package/esm2022/shaders/spot-light-material/spot-light-material.mjs +8 -7
  96. package/esm2022/shaders/star-field-material/star-field-material.mjs +3 -2
  97. package/esm2022/shaders/wireframe-material/wireframe-material.mjs +247 -0
  98. package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +161 -176
  99. package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +8 -8
  100. package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +129 -129
  101. package/esm2022/staging/backdrop/backdrop.mjs +77 -0
  102. package/esm2022/staging/bb-anchor/bb-anchor.mjs +69 -0
  103. package/esm2022/staging/bounds/bounds.mjs +145 -143
  104. package/esm2022/staging/camera-shake/camera-shake.mjs +86 -80
  105. package/esm2022/staging/center/center.mjs +129 -112
  106. package/esm2022/staging/cloud/cloud.mjs +118 -124
  107. package/esm2022/staging/contact-shadows/contact-shadows.mjs +131 -136
  108. package/esm2022/staging/environment/assets.mjs +12 -12
  109. package/esm2022/staging/environment/environment-cube.mjs +28 -30
  110. package/esm2022/staging/environment/environment-ground.mjs +17 -19
  111. package/esm2022/staging/environment/environment-input.mjs +98 -85
  112. package/esm2022/staging/environment/environment-map.mjs +33 -33
  113. package/esm2022/staging/environment/environment-portal.mjs +75 -97
  114. package/esm2022/staging/environment/environment.mjs +34 -51
  115. package/esm2022/staging/environment/utils.mjs +40 -17
  116. package/esm2022/staging/float/float.mjs +70 -58
  117. package/esm2022/staging/index.mjs +7 -3
  118. package/esm2022/staging/matcap-texture/matcap-texture.mjs +64 -0
  119. package/esm2022/staging/normal-texture/normal-texture.mjs +53 -0
  120. package/esm2022/staging/sky/sky.mjs +85 -80
  121. package/esm2022/staging/sparkles/sparkles.mjs +108 -105
  122. package/esm2022/staging/spot-light/shadow-mesh-input.mjs +63 -0
  123. package/esm2022/staging/spot-light/shadow-mesh.mjs +267 -0
  124. package/esm2022/staging/spot-light/spot-light-input.mjs +67 -58
  125. package/esm2022/staging/spot-light/spot-light.mjs +51 -63
  126. package/esm2022/staging/spot-light/volumetric-mesh.mjs +67 -70
  127. package/esm2022/staging/stage/stage.mjs +305 -290
  128. package/esm2022/staging/stars/stars.mjs +101 -102
  129. package/esm2022/staging/wireframe/wireframe-input.mjs +191 -0
  130. package/esm2022/staging/wireframe/wireframe.mjs +228 -0
  131. package/esm2022/utils/angular-three-soba-utils.mjs +5 -0
  132. package/esm2022/utils/constants.mjs +3 -0
  133. package/esm2022/utils/content/content.mjs +15 -0
  134. package/esm2022/utils/index.mjs +3 -0
  135. package/fesm2022/angular-three-soba-abstractions.mjs +504 -2079
  136. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  137. package/fesm2022/angular-three-soba-cameras.mjs +293 -260
  138. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  139. package/fesm2022/angular-three-soba-controls.mjs +108 -83
  140. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  141. package/fesm2022/angular-three-soba-gizmos.mjs +1045 -0
  142. package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -0
  143. package/fesm2022/angular-three-soba-loaders.mjs +148 -132
  144. package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
  145. package/fesm2022/angular-three-soba-materials.mjs +656 -588
  146. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  147. package/fesm2022/angular-three-soba-misc.mjs +2202 -99
  148. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  149. package/fesm2022/angular-three-soba-modifiers.mjs +71 -0
  150. package/fesm2022/angular-three-soba-modifiers.mjs.map +1 -0
  151. package/fesm2022/angular-three-soba-performances.mjs +957 -0
  152. package/fesm2022/angular-three-soba-performances.mjs.map +1 -0
  153. package/fesm2022/angular-three-soba-shaders.mjs +508 -269
  154. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  155. package/fesm2022/angular-three-soba-staging.mjs +2910 -2573
  156. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  157. package/fesm2022/angular-three-soba-utils.mjs +25 -0
  158. package/fesm2022/angular-three-soba-utils.mjs.map +1 -0
  159. package/gizmos/README.md +3 -0
  160. package/gizmos/gizmo-helper/gizmo-helper.d.ts +73 -0
  161. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +22 -0
  162. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +29 -0
  163. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.d.ts +33 -0
  164. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +10 -0
  165. package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +40 -0
  166. package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +30 -0
  167. package/gizmos/index.d.ts +3 -0
  168. package/loaders/gltf-loader/gltf-loader.d.ts +15 -4
  169. package/loaders/loader/loader.d.ts +19 -17
  170. package/loaders/progress/progress.d.ts +1 -1
  171. package/loaders/texture-loader/texture-loader.d.ts +8 -3
  172. package/materials/index.d.ts +1 -0
  173. package/materials/mesh-distort-material/mesh-distort-material.d.ts +25 -15
  174. package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +74 -56
  175. package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +33 -21
  176. package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +55 -39
  177. package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +19 -10
  178. package/materials/point-material/point-material.d.ts +24 -0
  179. package/metadata.json +1 -0
  180. package/misc/animations/animations.d.ts +6 -4
  181. package/misc/caustics/caustics.d.ts +87 -0
  182. package/misc/decal/decal.d.ts +49 -0
  183. package/misc/depth-buffer/depth-buffer.d.ts +2 -2
  184. package/misc/example/example.d.ts +85 -0
  185. package/misc/fbo/fbo.d.ts +2 -2
  186. package/misc/html/html-wrapper.d.ts +559 -0
  187. package/misc/html/html.d.ts +218 -0
  188. package/misc/index.d.ts +9 -0
  189. package/misc/sampler/sampler.d.ts +67 -0
  190. package/misc/shadow/shadow.d.ts +37 -0
  191. package/misc/stats-gl/stats-gl.d.ts +24 -0
  192. package/misc/trail/trail.d.ts +57 -0
  193. package/misc/trail-texture/inject-trail-texture.d.ts +9 -0
  194. package/misc/trail-texture/trail-texture.d.ts +50 -0
  195. package/modifiers/README.md +3 -0
  196. package/modifiers/curve-modifier/curve-modifier.d.ts +23 -0
  197. package/modifiers/index.d.ts +1 -0
  198. package/package.json +42 -24
  199. package/performances/README.md +3 -0
  200. package/performances/adaptive-dpr/adaptive-dpr.d.ts +14 -0
  201. package/{performance/adaptive → performances/adaptive-events}/adaptive-events.d.ts +3 -0
  202. package/performances/index.d.ts +7 -0
  203. package/performances/instances/instances.d.ts +83 -0
  204. package/{performance → performances}/instances/position-mesh.d.ts +1 -1
  205. package/performances/points/points-input.d.ts +32 -0
  206. package/performances/points/points.d.ts +96 -0
  207. package/performances/points/position-point.d.ts +11 -0
  208. package/performances/segments/segment-object.d.ts +7 -0
  209. package/performances/segments/segments.d.ts +128 -0
  210. package/shaders/grid-material/grid-material.d.ts +33 -0
  211. package/shaders/index.d.ts +4 -2
  212. package/shaders/mesh-distort-material/mesh-distort-material.d.ts +173 -6
  213. package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +1 -1
  214. package/shaders/shader-material/shader-material.d.ts +2 -2
  215. package/shaders/soft-shadow-material/soft-shadow-material.d.ts +10 -1
  216. package/shaders/sparkles-material/sparkles-material.d.ts +13 -0
  217. package/shaders/spot-light-material/spot-light-material.d.ts +11 -2
  218. package/shaders/star-field-material/star-field-material.d.ts +9 -0
  219. package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
  220. package/staging/accumulative-shadows/accumulative-shadows.d.ts +93 -39
  221. package/staging/accumulative-shadows/randomized-lights.d.ts +41 -28
  222. package/staging/backdrop/backdrop.d.ts +30 -0
  223. package/staging/bb-anchor/bb-anchor.d.ts +27 -0
  224. package/staging/bounds/bounds.d.ts +105 -25
  225. package/staging/camera-shake/camera-shake.d.ts +30 -19
  226. package/staging/center/center.d.ts +43 -35
  227. package/staging/cloud/cloud.d.ts +27 -24
  228. package/staging/contact-shadows/contact-shadows.d.ts +43 -30
  229. package/staging/environment/assets.d.ts +9 -9
  230. package/staging/environment/environment-cube.d.ts +9 -5
  231. package/staging/environment/environment-ground.d.ts +7 -7
  232. package/staging/environment/environment-input.d.ts +38 -38
  233. package/staging/environment/environment-map.d.ts +10 -5
  234. package/staging/environment/environment-portal.d.ts +10 -5
  235. package/staging/environment/environment.d.ts +0 -4
  236. package/staging/environment/utils.d.ts +2 -2
  237. package/staging/float/float.d.ts +15 -11
  238. package/staging/index.d.ts +6 -2
  239. package/staging/matcap-texture/matcap-texture.d.ts +13 -0
  240. package/staging/normal-texture/normal-texture.d.ts +16 -0
  241. package/staging/sky/sky.d.ts +28 -21
  242. package/staging/sparkles/sparkles.d.ts +36 -22
  243. package/staging/spot-light/shadow-mesh-input.d.ts +29 -0
  244. package/staging/spot-light/shadow-mesh.d.ts +37 -0
  245. package/staging/spot-light/spot-light-input.d.ts +25 -25
  246. package/staging/spot-light/spot-light.d.ts +35 -15
  247. package/staging/spot-light/volumetric-mesh.d.ts +15 -9
  248. package/staging/stage/stage.d.ts +89 -65
  249. package/staging/stars/stars.d.ts +28 -17
  250. package/staging/wireframe/wireframe-input.d.ts +65 -0
  251. package/staging/wireframe/wireframe.d.ts +28 -0
  252. package/utils/README.md +3 -0
  253. package/utils/constants.d.ts +1 -0
  254. package/utils/content/content.d.ts +8 -0
  255. package/utils/index.d.ts +2 -0
  256. package/web-types.json +1 -0
  257. package/abstractions/catmull-rom-line/catmull-rom-line.d.ts +0 -25
  258. package/abstractions/cubic-bezier-line/cubic-bezier-line.d.ts +0 -25
  259. package/abstractions/gizmo-helper/gizmo-helper.d.ts +0 -34
  260. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
  261. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -30
  262. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +0 -32
  263. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -14
  264. package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -47
  265. package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -40
  266. package/abstractions/line/line-input.d.ts +0 -42
  267. package/abstractions/line/line.d.ts +0 -35
  268. package/abstractions/quadratic-bezier-line/quadratic-bezier-line.d.ts +0 -23
  269. package/esm2022/abstractions/catmull-rom-line/catmull-rom-line.mjs +0 -131
  270. package/esm2022/abstractions/cubic-bezier-line/cubic-bezier-line.mjs +0 -113
  271. package/esm2022/abstractions/gizmo-helper/gizmo-helper.mjs +0 -210
  272. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
  273. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -95
  274. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -155
  275. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -62
  276. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -80
  277. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -206
  278. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -273
  279. package/esm2022/abstractions/line/line-input.mjs +0 -113
  280. package/esm2022/abstractions/line/line.mjs +0 -165
  281. package/esm2022/abstractions/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -128
  282. package/esm2022/performance/adaptive/adaptive-dpr.mjs +0 -46
  283. package/esm2022/performance/adaptive/adaptive-events.mjs +0 -31
  284. package/esm2022/performance/angular-three-soba-performance.mjs +0 -5
  285. package/esm2022/performance/detailed/detailed.mjs +0 -61
  286. package/esm2022/performance/index.mjs +0 -7
  287. package/esm2022/performance/instances/instance.mjs +0 -48
  288. package/esm2022/performance/instances/instances.mjs +0 -189
  289. package/esm2022/performance/instances/position-mesh.mjs +0 -52
  290. package/esm2022/performance/stats/stats.mjs +0 -79
  291. package/esm2022/shaders/caustics-material/caustics-material.mjs +0 -128
  292. package/esm2022/shaders/caustics-material/caustics-projection-material.mjs +0 -33
  293. package/esm2022/staging/caustics/caustisc.mjs +0 -384
  294. package/esm2022/staging/spot-light/spot-light-shadow-mesh-input.mjs +0 -57
  295. package/esm2022/staging/spot-light/spot-light-shadow-mesh.mjs +0 -256
  296. package/fesm2022/angular-three-soba-performance.mjs +0 -487
  297. package/fesm2022/angular-three-soba-performance.mjs.map +0 -1
  298. package/performance/README.md +0 -3
  299. package/performance/adaptive/adaptive-dpr.d.ts +0 -8
  300. package/performance/detailed/detailed.d.ts +0 -20
  301. package/performance/index.d.ts +0 -6
  302. package/performance/instances/instance.d.ts +0 -9
  303. package/performance/instances/instances.d.ts +0 -35
  304. package/performance/stats/stats.d.ts +0 -18
  305. package/plugin/generators.json +0 -19
  306. package/plugin/libs/plugin/README.md +0 -11
  307. package/plugin/package.json +0 -9
  308. package/plugin/src/generators/init/compat.d.ts +0 -2
  309. package/plugin/src/generators/init/compat.js +0 -6
  310. package/plugin/src/generators/init/compat.js.map +0 -1
  311. package/plugin/src/generators/init/init.d.ts +0 -7
  312. package/plugin/src/generators/init/init.js +0 -28
  313. package/plugin/src/generators/init/init.js.map +0 -1
  314. package/plugin/src/generators/init/schema.json +0 -6
  315. package/plugin/src/index.d.ts +0 -1
  316. package/plugin/src/index.js +0 -6
  317. package/plugin/src/index.js.map +0 -1
  318. package/staging/caustics/caustisc.d.ts +0 -70
  319. package/staging/spot-light/spot-light-shadow-mesh-input.d.ts +0 -29
  320. package/staging/spot-light/spot-light-shadow-mesh.d.ts +0 -38
  321. /package/{abstractions → gizmos}/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -0
  322. /package/shaders/{caustics-material → caustics}/caustics-material.d.ts +0 -0
  323. /package/shaders/{caustics-material → caustics}/caustics-projection-material.d.ts +0 -0
@@ -1,42 +1,37 @@
1
- import { computed, Directive, effect, inject, Input } from '@angular/core';
2
- import { injectBeforeRender, NgtSignalStore, NgtStore } from 'angular-three';
1
+ import { Directive, Input, computed, effect } from '@angular/core';
2
+ import { injectBeforeRender, injectNgtStore, signalStore } from 'angular-three';
3
3
  import { SimplexNoise } from 'three-stdlib';
4
4
  import * as i0 from "@angular/core";
5
- class NgtsCameraShake extends NgtSignalStore {
6
- #store = inject(NgtStore);
7
- #initialRotation = this.#store.get('camera').rotation.clone();
8
- #yawNoise = new SimplexNoise();
9
- #rollNoise = new SimplexNoise();
10
- #pitchNoise = new SimplexNoise();
11
- set intensity(intensity) {
12
- this.set({ intensity });
5
+ export class NgtsCameraShake {
6
+ set _intensity(intensity) {
7
+ this.inputs.set({ intensity });
13
8
  }
14
- set decay(decay) {
15
- this.set({ decay });
9
+ set _decay(decay) {
10
+ this.inputs.set({ decay });
16
11
  }
17
- set decayRate(decayRate) {
18
- this.set({ decayRate });
12
+ set _decayRate(decayRate) {
13
+ this.inputs.set({ decayRate });
19
14
  }
20
- set maxYaw(maxYaw) {
21
- this.set({ maxYaw });
15
+ set _maxYaw(maxYaw) {
16
+ this.inputs.set({ maxYaw });
22
17
  }
23
- set maxPitch(maxPitch) {
24
- this.set({ maxPitch });
18
+ set _maxPitch(maxPitch) {
19
+ this.inputs.set({ maxPitch });
25
20
  }
26
- set maxRoll(maxRoll) {
27
- this.set({ maxRoll });
21
+ set _maxRoll(maxRoll) {
22
+ this.inputs.set({ maxRoll });
28
23
  }
29
- set yawFrequency(yawFrequency) {
30
- this.set({ yawFrequency });
24
+ set _yawFrequency(yawFrequency) {
25
+ this.inputs.set({ yawFrequency });
31
26
  }
32
- set pitchFrequency(pitchFrequency) {
33
- this.set({ pitchFrequency });
27
+ set _pitchFrequency(pitchFrequency) {
28
+ this.inputs.set({ pitchFrequency });
34
29
  }
35
- set rollFrequency(rollFrequency) {
36
- this.set({ rollFrequency });
30
+ set _rollFrequency(rollFrequency) {
31
+ this.inputs.set({ rollFrequency });
37
32
  }
38
33
  constructor() {
39
- super({
34
+ this.inputs = signalStore({
40
35
  intensity: 1,
41
36
  decayRate: 0.65,
42
37
  maxYaw: 0.1,
@@ -46,72 +41,83 @@ class NgtsCameraShake extends NgtSignalStore {
46
41
  pitchFrequency: 0.1,
47
42
  rollFrequency: 0.1,
48
43
  });
49
- injectBeforeRender(({ clock, delta, camera }) => {
50
- const { intensity, maxYaw, maxPitch, maxRoll, yawFrequency, pitchFrequency, rollFrequency, decay, decayRate, } = this.get();
44
+ this.store = injectNgtStore();
45
+ this.camera = this.store.select('camera');
46
+ this.controls = this.store.select('controls');
47
+ this.initialRotation = this.store.get('camera').rotation.clone();
48
+ this.yawNoise = new SimplexNoise();
49
+ this.rollNoise = new SimplexNoise();
50
+ this.pitchNoise = new SimplexNoise();
51
+ this.intensity = this.inputs.select('intensity');
52
+ this.constrainedIntensity = computed(() => {
53
+ const intensity = this.intensity();
54
+ if (intensity < 0 || intensity > 1) {
55
+ return intensity < 0 ? 0 : 1;
56
+ }
57
+ return intensity;
58
+ });
59
+ this.beforeRender();
60
+ this.setEvents();
61
+ }
62
+ beforeRender() {
63
+ injectBeforeRender(({ clock, delta }) => {
64
+ const [{ maxYaw, yawFrequency, maxPitch, pitchFrequency, maxRoll, rollFrequency, decay, decayRate }, intensity, camera,] = [this.inputs.get(), this.constrainedIntensity(), this.camera()];
51
65
  const shake = Math.pow(intensity, 2);
52
- const yaw = maxYaw * shake * this.#yawNoise.noise(clock.elapsedTime * yawFrequency, 1);
53
- const pitch = maxPitch * shake * this.#pitchNoise.noise(clock.elapsedTime * pitchFrequency, 1);
54
- const roll = maxRoll * shake * this.#rollNoise.noise(clock.elapsedTime * rollFrequency, 1);
55
- camera.rotation.set(this.#initialRotation.x + pitch, this.#initialRotation.y + yaw, this.#initialRotation.z + roll);
66
+ const yaw = maxYaw * shake * this.yawNoise.noise(clock.elapsedTime * yawFrequency, 1);
67
+ const pitch = maxPitch * shake * this.pitchNoise.noise(clock.elapsedTime * pitchFrequency, 1);
68
+ const roll = maxRoll * shake * this.rollNoise.noise(clock.elapsedTime * rollFrequency, 1);
69
+ camera.rotation.set(this.initialRotation.x + pitch, this.initialRotation.y + yaw, this.initialRotation.z + roll);
56
70
  if (decay && intensity > 0) {
57
- this.set({ intensity: intensity - decayRate * delta });
58
- this.#constraintIntensity();
71
+ this.inputs.set((state) => ({ intensity: state.intensity - decayRate * delta }));
59
72
  }
60
73
  });
61
- this.#setChangeEvent();
62
74
  }
63
- ngOnInit() { }
64
- #setChangeEvent() {
65
- const camera = this.#store.select('camera');
66
- const controls = this.#store.select('controls');
67
- const trigger = computed(() => ({ camera: camera(), controls: controls() }));
75
+ setEvents() {
68
76
  effect((onCleanup) => {
69
- const { camera, controls } = trigger();
77
+ const [camera, controls] = [this.camera(), this.controls()];
70
78
  if (controls) {
71
- const callback = () => void (this.#initialRotation = camera.rotation.clone());
79
+ const callback = () => void (this.initialRotation = camera.rotation.clone());
72
80
  controls.addEventListener('change', callback);
73
81
  callback();
74
82
  onCleanup(() => void controls.removeEventListener('change', callback));
75
83
  }
76
84
  });
77
85
  }
78
- getIntensity() {
79
- return this.get('intensity');
80
- }
81
- setIntensity(intensity) {
82
- this.set({ intensity });
83
- this.#constraintIntensity();
84
- }
85
- #constraintIntensity() {
86
- const intensity = this.get('intensity');
87
- if (intensity < 0 || intensity > 1) {
88
- this.set({ intensity: intensity < 0 ? 0 : 1 });
89
- }
90
- }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCameraShake, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
92
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtsCameraShake, isStandalone: true, selector: "ngts-camera-shake", inputs: { intensity: "intensity", decay: "decay", decayRate: "decayRate", maxYaw: "maxYaw", maxPitch: "maxPitch", maxRoll: "maxRoll", yawFrequency: "yawFrequency", pitchFrequency: "pitchFrequency", rollFrequency: "rollFrequency" }, usesInheritance: true, ngImport: i0 }); }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCameraShake, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
87
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCameraShake, isStandalone: true, selector: "ngts-camera-shake", inputs: { _intensity: ["intensity", "_intensity"], _decay: ["decay", "_decay"], _decayRate: ["decayRate", "_decayRate"], _maxYaw: ["maxYaw", "_maxYaw"], _maxPitch: ["maxPitch", "_maxPitch"], _maxRoll: ["maxRoll", "_maxRoll"], _yawFrequency: ["yawFrequency", "_yawFrequency"], _pitchFrequency: ["pitchFrequency", "_pitchFrequency"], _rollFrequency: ["rollFrequency", "_rollFrequency"] }, ngImport: i0 }); }
93
88
  }
94
- export { NgtsCameraShake };
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCameraShake, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCameraShake, decorators: [{
96
90
  type: Directive,
97
- args: [{ selector: 'ngts-camera-shake', standalone: true }]
98
- }], ctorParameters: function () { return []; }, propDecorators: { intensity: [{
99
- type: Input
100
- }], decay: [{
101
- type: Input
102
- }], decayRate: [{
103
- type: Input
104
- }], maxYaw: [{
105
- type: Input
106
- }], maxPitch: [{
107
- type: Input
108
- }], maxRoll: [{
109
- type: Input
110
- }], yawFrequency: [{
111
- type: Input
112
- }], pitchFrequency: [{
113
- type: Input
114
- }], rollFrequency: [{
115
- type: Input
91
+ args: [{
92
+ selector: 'ngts-camera-shake',
93
+ standalone: true,
94
+ }]
95
+ }], ctorParameters: function () { return []; }, propDecorators: { _intensity: [{
96
+ type: Input,
97
+ args: [{ alias: 'intensity' }]
98
+ }], _decay: [{
99
+ type: Input,
100
+ args: [{ alias: 'decay' }]
101
+ }], _decayRate: [{
102
+ type: Input,
103
+ args: [{ alias: 'decayRate' }]
104
+ }], _maxYaw: [{
105
+ type: Input,
106
+ args: [{ alias: 'maxYaw' }]
107
+ }], _maxPitch: [{
108
+ type: Input,
109
+ args: [{ alias: 'maxPitch' }]
110
+ }], _maxRoll: [{
111
+ type: Input,
112
+ args: [{ alias: 'maxRoll' }]
113
+ }], _yawFrequency: [{
114
+ type: Input,
115
+ args: [{ alias: 'yawFrequency' }]
116
+ }], _pitchFrequency: [{
117
+ type: Input,
118
+ args: [{ alias: 'pitchFrequency' }]
119
+ }], _rollFrequency: [{
120
+ type: Input,
121
+ args: [{ alias: 'rollFrequency' }]
116
122
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLXNoYWtlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2NhbWVyYS1zaGFrZS9jYW1lcmEtc2hha2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFjNUMsTUFDYSxlQUFnQixTQUFRLGNBQW9DO0lBQzVELE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbkMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRXJELFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQy9CLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ2hDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFDLElBQWEsU0FBUyxDQUFDLFNBQWlCO1FBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFhLEtBQUssQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFhLFNBQVMsQ0FBQyxTQUFpQjtRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBYSxNQUFNLENBQUMsTUFBYztR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RyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbEQ7SUFDTCxDQUFDOzhHQXpIUSxlQUFlO2tHQUFmLGVBQWU7O1NBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7MEVBVTdDLFNBQVM7c0JBQXJCLEtBQUs7Z0JBSU8sS0FBSztzQkFBakIsS0FBSztnQkFJTyxTQUFTO3NCQUFyQixLQUFLO2dCQUlPLE1BQU07c0JBQWxCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFJTyxPQUFPO3NCQUFuQixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBSU8sY0FBYztzQkFBMUIsS0FBSztnQkFJTyxhQUFhO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgZWZmZWN0LCBpbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJlZm9yZVJlbmRlciwgTmd0U2lnbmFsU3RvcmUsIE5ndFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBTaW1wbGV4Tm9pc2UgfSBmcm9tICd0aHJlZS1zdGRsaWInO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNDYW1lcmFTaGFrZVN0YXRlIHtcbiAgICBpbnRlbnNpdHk6IG51bWJlcjtcbiAgICBkZWNheTogYm9vbGVhbjtcbiAgICBkZWNheVJhdGU6IG51bWJlcjtcbiAgICBtYXhZYXc6IG51bWJlcjtcbiAgICBtYXhQaXRjaDogbnVtYmVyO1xuICAgIG1heFJvbGw6IG51bWJlcjtcbiAgICB5YXdGcmVxdWVuY3k6IG51bWJlcjtcbiAgICBwaXRjaEZyZXF1ZW5jeTogbnVtYmVyO1xuICAgIHJvbGxGcmVxdWVuY3k6IG51bWJlcjtcbn1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmd0cy1jYW1lcmEtc2hha2UnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0c0NhbWVyYVNoYWtlIGV4dGVuZHMgTmd0U2lnbmFsU3RvcmU8Tmd0c0NhbWVyYVNoYWtlU3RhdGU+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICByZWFkb25seSAjc3RvcmUgPSBpbmplY3QoTmd0U3RvcmUpO1xuXG4gICAgI2luaXRpYWxSb3RhdGlvbiA9IHRoaXMuI3N0b3JlLmdldCgnY2FtZXJhJykucm90YXRpb24uY2xvbmUoKTtcblxuICAgIHJlYWRvbmx5ICN5YXdOb2lzZSA9IG5ldyBTaW1wbGV4Tm9pc2UoKTtcbiAgICByZWFkb25seSAjcm9sbE5vaXNlID0gbmV3IFNpbXBsZXhOb2lzZSgpO1xuICAgIHJlYWRvbmx5ICNwaXRjaE5vaXNlID0gbmV3IFNpbXBsZXhOb2lzZSgpO1xuXG4gICAgQElucHV0KCkgc2V0IGludGVuc2l0eShpbnRlbnNpdHk6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGludGVuc2l0eSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZGVjYXkoZGVjYXk6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBkZWNheSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZGVjYXlSYXRlKGRlY2F5UmF0ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGVjYXlSYXRlIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBtYXhZYXcobWF4WWF3OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBtYXhZYXcgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG1heFBpdGNoKG1heFBpdGNoOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBtYXhQaXRjaCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWF4Um9sbChtYXhSb2xsOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBtYXhSb2xsIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB5YXdGcmVxdWVuY3koeWF3RnJlcXVlbmN5OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyB5YXdGcmVxdWVuY3kgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHBpdGNoRnJlcXVlbmN5KHBpdGNoRnJlcXVlbmN5OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBwaXRjaEZyZXF1ZW5jeSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcm9sbEZyZXF1ZW5jeShyb2xsRnJlcXVlbmN5OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyByb2xsRnJlcXVlbmN5IH0pO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBpbnRlbnNpdHk6IDEsXG4gICAgICAgICAgICBkZWNheVJhdGU6IDAuNjUsXG4gICAgICAgICAgICBtYXhZYXc6IDAuMSxcbiAgICAgICAgICAgIG1heFBpdGNoOiAwLjEsXG4gICAgICAgICAgICBtYXhSb2xsOiAwLjEsXG4gICAgICAgICAgICB5YXdGcmVxdWVuY3k6IDAuMSxcbiAgICAgICAgICAgIHBpdGNoRnJlcXVlbmN5OiAwLjEsXG4gICAgICAgICAgICByb2xsRnJlcXVlbmN5OiAwLjEsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGluamVjdEJlZm9yZVJlbmRlcigoeyBjbG9jaywgZGVsdGEsIGNhbWVyYSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICAgICAgaW50ZW5zaXR5LFxuICAgICAgICAgICAgICAgIG1heFlhdyxcbiAgICAgICAgICAgICAgICBtYXhQaXRjaCxcbiAgICAgICAgICAgICAgICBtYXhSb2xsLFxuICAgICAgICAgICAgICAgIHlhd0ZyZXF1ZW5jeSxcbiAgICAgICAgICAgICAgICBwaXRjaEZyZXF1ZW5jeSxcbiAgICAgICAgICAgICAgICByb2xsRnJlcXVlbmN5LFxuICAgICAgICAgICAgICAgIGRlY2F5LFxuICAgICAgICAgICAgICAgIGRlY2F5UmF0ZSxcbiAgICAgICAgICAgIH0gPSB0aGlzLmdldCgpO1xuXG4gICAgICAgICAgICBjb25zdCBzaGFrZSA9IE1hdGgucG93KGludGVuc2l0eSwgMik7XG4gICAgICAgICAgICBjb25zdCB5YXcgPSBtYXhZYXcgKiBzaGFrZSAqIHRoaXMuI3lhd05vaXNlLm5vaXNlKGNsb2NrLmVsYXBzZWRUaW1lICogeWF3RnJlcXVlbmN5LCAxKTtcbiAgICAgICAgICAgIGNvbnN0IHBpdGNoID0gbWF4UGl0Y2ggKiBzaGFrZSAqIHRoaXMuI3BpdGNoTm9pc2Uubm9pc2UoY2xvY2suZWxhcHNlZFRpbWUgKiBwaXRjaEZyZXF1ZW5jeSwgMSk7XG4gICAgICAgICAgICBjb25zdCByb2xsID0gbWF4Um9sbCAqIHNoYWtlICogdGhpcy4jcm9sbE5vaXNlLm5vaXNlKGNsb2NrLmVsYXBzZWRUaW1lICogcm9sbEZyZXF1ZW5jeSwgMSk7XG5cbiAgICAgICAgICAgIGNhbWVyYS5yb3RhdGlvbi5zZXQoXG4gICAgICAgICAgICAgICAgdGhpcy4jaW5pdGlhbFJvdGF0aW9uLnggKyBwaXRjaCxcbiAgICAgICAgICAgICAgICB0aGlzLiNpbml0aWFsUm90YXRpb24ueSArIHlhdyxcbiAgICAgICAgICAgICAgICB0aGlzLiNpbml0aWFsUm90YXRpb24ueiArIHJvbGxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChkZWNheSAmJiBpbnRlbnNpdHkgPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXQoeyBpbnRlbnNpdHk6IGludGVuc2l0eSAtIGRlY2F5UmF0ZSAqIGRlbHRhIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuI2NvbnN0cmFpbnRJbnRlbnNpdHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy4jc2V0Q2hhbmdlRXZlbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgICAjc2V0Q2hhbmdlRXZlbnQoKSB7XG4gICAgICAgIGNvbnN0IGNhbWVyYSA9IHRoaXMuI3N0b3JlLnNlbGVjdCgnY2FtZXJhJyk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy4jc3RvcmUuc2VsZWN0KCdjb250cm9scycpO1xuICAgICAgICBjb25zdCB0cmlnZ2VyID0gY29tcHV0ZWQoKCkgPT4gKHsgY2FtZXJhOiBjYW1lcmEoKSwgY29udHJvbHM6IGNvbnRyb2xzKCkgfSkpO1xuICAgICAgICBlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBjYW1lcmEsIGNvbnRyb2xzIH0gPSB0cmlnZ2VyKCk7XG4gICAgICAgICAgICBpZiAoY29udHJvbHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYWxsYmFjayA9ICgpID0+IHZvaWQgKHRoaXMuI2luaXRpYWxSb3RhdGlvbiA9IGNhbWVyYS5yb3RhdGlvbi5jbG9uZSgpKTtcbiAgICAgICAgICAgICAgICBjb250cm9scy5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBjYWxsYmFjayk7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgICAgICAgICBvbkNsZWFudXAoKCkgPT4gdm9pZCBjb250cm9scy5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBjYWxsYmFjaykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRJbnRlbnNpdHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgnaW50ZW5zaXR5Jyk7XG4gICAgfVxuXG4gICAgc2V0SW50ZW5zaXR5KGludGVuc2l0eTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgaW50ZW5zaXR5IH0pO1xuICAgICAgICB0aGlzLiNjb25zdHJhaW50SW50ZW5zaXR5KCk7XG4gICAgfVxuXG4gICAgI2NvbnN0cmFpbnRJbnRlbnNpdHkoKSB7XG4gICAgICAgIGNvbnN0IGludGVuc2l0eSA9IHRoaXMuZ2V0KCdpbnRlbnNpdHknKTtcbiAgICAgICAgaWYgKGludGVuc2l0eSA8IDAgfHwgaW50ZW5zaXR5ID4gMSkge1xuICAgICAgICAgICAgdGhpcy5zZXQoeyBpbnRlbnNpdHk6IGludGVuc2l0eSA8IDAgPyAwIDogMSB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLXNoYWtlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2NhbWVyYS1zaGFrZS9jYW1lcmEtc2hha2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQStCNUMsTUFBTSxPQUFPLGVBQWU7SUFZM0IsSUFBbUMsVUFBVSxDQUFDLFNBQWlCO1FBQzlELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBK0IsTUFBTSxDQUFDLEtBQWM7UUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFtQyxVQUFVLENBQUMsU0FBaUI7UUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFnQyxPQUFPLENBQUMsTUFBYztRQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQWtDLFNBQVMsQ0FBQyxRQUFnQjtRQUMzRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQWlDLFFBQVEsQ0FBQyxPQUFlO1FBQ3hELElBQUksQ0FBQyxNQUFNLENB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LENBQUMsQ0FBQztnQkFDOUMsUUFBUSxFQUFFLENBQUM7Z0JBQ1gsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssUUFBUSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ3ZFO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzhHQTFHVyxlQUFlO2tHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2hCOzBFQWFtQyxVQUFVO3NCQUE1QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtnQkFJRSxNQUFNO3NCQUFwQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFJVSxVQUFVO3NCQUE1QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtnQkFJRyxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFJUSxTQUFTO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtnQkFJSyxRQUFRO3NCQUF4QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtnQkFJVyxhQUFhO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRTtnQkFJUSxlQUFlO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO2dCQUlLLGNBQWM7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgY29tcHV0ZWQsIGVmZmVjdCwgdHlwZSBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0Tmd0U3RvcmUsIHNpZ25hbFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBTaW1wbGV4Tm9pc2UgfSBmcm9tICd0aHJlZS1zdGRsaWInO1xuXG50eXBlIENvbnRyb2xzUHJvdG8gPSB7XG5cdHVwZGF0ZSgpOiB2b2lkO1xuXHR0YXJnZXQ6IFRIUkVFLlZlY3RvcjM7XG5cdGFkZEV2ZW50TGlzdGVuZXI6IChldmVudDogc3RyaW5nLCBjYWxsYmFjazogKGV2ZW50OiBhbnkpID0+IHZvaWQpID0+IHZvaWQ7XG5cdHJlbW92ZUV2ZW50TGlzdGVuZXI6IChldmVudDogc3RyaW5nLCBjYWxsYmFjazogKGV2ZW50OiBhbnkpID0+IHZvaWQpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RzQ2FtZXJhU2hha2VTdGF0ZSA9IHtcblx0ZGVjYXk/OiBib29sZWFuO1xuXHRpbnRlbnNpdHk6IG51bWJlcjtcblx0ZGVjYXlSYXRlOiBudW1iZXI7XG5cdG1heFlhdzogbnVtYmVyO1xuXHRtYXhQaXRjaDogbnVtYmVyO1xuXHRtYXhSb2xsOiBudW1iZXI7XG5cdHlhd0ZyZXF1ZW5jeTogbnVtYmVyO1xuXHRwaXRjaEZyZXF1ZW5jeTogbnVtYmVyO1xuXHRyb2xsRnJlcXVlbmN5OiBudW1iZXI7XG59O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdCduZ3RzLWNhbWVyYS1zaGFrZSc6IE5ndHNDYW1lcmFTaGFrZVN0YXRlO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndHMtY2FtZXJhLXNoYWtlJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0NhbWVyYVNoYWtlIHtcblx0cHJpdmF0ZSBpbnB1dHMgPSBzaWduYWxTdG9yZTxOZ3RzQ2FtZXJhU2hha2VTdGF0ZT4oe1xuXHRcdGludGVuc2l0eTogMSxcblx0XHRkZWNheVJhdGU6IDAuNjUsXG5cdFx0bWF4WWF3OiAwLjEsXG5cdFx0bWF4UGl0Y2g6IDAuMSxcblx0XHRtYXhSb2xsOiAwLjEsXG5cdFx0eWF3RnJlcXVlbmN5OiAwLjEsXG5cdFx0cGl0Y2hGcmVxdWVuY3k6IDAuMSxcblx0XHRyb2xsRnJlcXVlbmN5OiAwLjEsXG5cdH0pO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnaW50ZW5zaXR5JyB9KSBzZXQgX2ludGVuc2l0eShpbnRlbnNpdHk6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGludGVuc2l0eSB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnZGVjYXknIH0pIHNldCBfZGVjYXkoZGVjYXk6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBkZWNheSB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnZGVjYXlSYXRlJyB9KSBzZXQgX2RlY2F5UmF0ZShkZWNheVJhdGU6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGRlY2F5UmF0ZSB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnbWF4WWF3JyB9KSBzZXQgX21heFlhdyhtYXhZYXc6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IG1heFlhdyB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnbWF4UGl0Y2gnIH0pIHNldCBfbWF4UGl0Y2gobWF4UGl0Y2g6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IG1heFBpdGNoIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdtYXhSb2xsJyB9KSBzZXQgX21heFJvbGwobWF4Um9sbDogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbWF4Um9sbCB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAneWF3RnJlcXVlbmN5JyB9KSBzZXQgX3lhd0ZyZXF1ZW5jeSh5YXdGcmVxdWVuY3k6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHlhd0ZyZXF1ZW5jeSB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAncGl0Y2hGcmVxdWVuY3knIH0pIHNldCBfcGl0Y2hGcmVxdWVuY3kocGl0Y2hGcmVxdWVuY3k6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHBpdGNoRnJlcXVlbmN5IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdyb2xsRnJlcXVlbmN5JyB9KSBzZXQgX3JvbGxGcmVxdWVuY3kocm9sbEZyZXF1ZW5jeTogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgcm9sbEZyZXF1ZW5jeSB9KTtcblx0fVxuXG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3ROZ3RTdG9yZSgpO1xuXHRwcml2YXRlIGNhbWVyYSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdjYW1lcmEnKTtcblx0cHJpdmF0ZSBjb250cm9scyA9IHRoaXMuc3RvcmUuc2VsZWN0KCdjb250cm9scycpIGFzIHVua25vd24gYXMgU2lnbmFsPENvbnRyb2xzUHJvdG8+O1xuXG5cdHByaXZhdGUgaW5pdGlhbFJvdGF0aW9uID0gdGhpcy5zdG9yZS5nZXQoJ2NhbWVyYScpLnJvdGF0aW9uLmNsb25lKCk7XG5cdHByaXZhdGUgeWF3Tm9pc2UgPSBuZXcgU2ltcGxleE5vaXNlKCk7XG5cdHByaXZhdGUgcm9sbE5vaXNlID0gbmV3IFNpbXBsZXhOb2lzZSgpO1xuXHRwcml2YXRlIHBpdGNoTm9pc2UgPSBuZXcgU2ltcGxleE5vaXNlKCk7XG5cblx0cHJpdmF0ZSBpbnRlbnNpdHkgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2ludGVuc2l0eScpO1xuXHRwcml2YXRlIGNvbnN0cmFpbmVkSW50ZW5zaXR5ID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGludGVuc2l0eSA9IHRoaXMuaW50ZW5zaXR5KCk7XG5cdFx0aWYgKGludGVuc2l0eSA8IDAgfHwgaW50ZW5zaXR5ID4gMSkge1xuXHRcdFx0cmV0dXJuIGludGVuc2l0eSA8IDAgPyAwIDogMTtcblx0XHR9XG5cdFx0cmV0dXJuIGludGVuc2l0eTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5iZWZvcmVSZW5kZXIoKTtcblx0XHR0aGlzLnNldEV2ZW50cygpO1xuXHR9XG5cblx0cHJpdmF0ZSBiZWZvcmVSZW5kZXIoKSB7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGNsb2NrLCBkZWx0YSB9KSA9PiB7XG5cdFx0XHRjb25zdCBbXG5cdFx0XHRcdHsgbWF4WWF3LCB5YXdGcmVxdWVuY3ksIG1heFBpdGNoLCBwaXRjaEZyZXF1ZW5jeSwgbWF4Um9sbCwgcm9sbEZyZXF1ZW5jeSwgZGVjYXksIGRlY2F5UmF0ZSB9LFxuXHRcdFx0XHRpbnRlbnNpdHksXG5cdFx0XHRcdGNhbWVyYSxcblx0XHRcdF0gPSBbdGhpcy5pbnB1dHMuZ2V0KCksIHRoaXMuY29uc3RyYWluZWRJbnRlbnNpdHkoKSwgdGhpcy5jYW1lcmEoKV07XG5cblx0XHRcdGNvbnN0IHNoYWtlID0gTWF0aC5wb3coaW50ZW5zaXR5LCAyKTtcblx0XHRcdGNvbnN0IHlhdyA9IG1heFlhdyAqIHNoYWtlICogdGhpcy55YXdOb2lzZS5ub2lzZShjbG9jay5lbGFwc2VkVGltZSAqIHlhd0ZyZXF1ZW5jeSwgMSk7XG5cdFx0XHRjb25zdCBwaXRjaCA9IG1heFBpdGNoICogc2hha2UgKiB0aGlzLnBpdGNoTm9pc2Uubm9pc2UoY2xvY2suZWxhcHNlZFRpbWUgKiBwaXRjaEZyZXF1ZW5jeSwgMSk7XG5cdFx0XHRjb25zdCByb2xsID0gbWF4Um9sbCAqIHNoYWtlICogdGhpcy5yb2xsTm9pc2Uubm9pc2UoY2xvY2suZWxhcHNlZFRpbWUgKiByb2xsRnJlcXVlbmN5LCAxKTtcblxuXHRcdFx0Y2FtZXJhLnJvdGF0aW9uLnNldChcblx0XHRcdFx0dGhpcy5pbml0aWFsUm90YXRpb24ueCArIHBpdGNoLFxuXHRcdFx0XHR0aGlzLmluaXRpYWxSb3RhdGlvbi55ICsgeWF3LFxuXHRcdFx0XHR0aGlzLmluaXRpYWxSb3RhdGlvbi56ICsgcm9sbCxcblx0XHRcdCk7XG5cblx0XHRcdGlmIChkZWNheSAmJiBpbnRlbnNpdHkgPiAwKSB7XG5cdFx0XHRcdHRoaXMuaW5wdXRzLnNldCgoc3RhdGUpID0+ICh7IGludGVuc2l0eTogc3RhdGUuaW50ZW5zaXR5IC0gZGVjYXlSYXRlICogZGVsdGEgfSkpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRFdmVudHMoKSB7XG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IFtjYW1lcmEsIGNvbnRyb2xzXSA9IFt0aGlzLmNhbWVyYSgpLCB0aGlzLmNvbnRyb2xzKCldO1xuXHRcdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRcdGNvbnN0IGNhbGxiYWNrID0gKCkgPT4gdm9pZCAodGhpcy5pbml0aWFsUm90YXRpb24gPSBjYW1lcmEucm90YXRpb24uY2xvbmUoKSk7XG5cdFx0XHRcdGNvbnRyb2xzLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGNhbGxiYWNrKTtcblx0XHRcdFx0Y2FsbGJhY2soKTtcblx0XHRcdFx0b25DbGVhbnVwKCgpID0+IHZvaWQgY29udHJvbHMucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgY2FsbGJhY2spKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxufVxuIl19
@@ -1,148 +1,165 @@
1
- import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, EventEmitter, Input, Output } from '@angular/core';
2
- import { extend, injectNgtRef, NgtSignalStore, requestAnimationInInjectionContext } from 'angular-three';
3
- import { Box3, Group, Sphere, Vector3 } from 'three';
1
+ import { CUSTOM_ELEMENTS_SCHEMA, Component, EventEmitter, Input, Output, effect } from '@angular/core';
2
+ import { extend, injectNgtRef, signalStore } from 'angular-three';
3
+ import * as THREE from 'three';
4
+ import { Group } from 'three';
4
5
  import * as i0 from "@angular/core";
5
6
  extend({ Group });
6
- class NgtsCenter extends NgtSignalStore {
7
- set top(top) {
8
- this.set({ top });
7
+ export class NgtsCenter {
8
+ set _top(top) {
9
+ this.inputs.set({ top });
9
10
  }
10
- set right(right) {
11
- this.set({ right });
11
+ set _right(right) {
12
+ this.inputs.set({ right });
12
13
  }
13
- set bottom(bottom) {
14
- this.set({ bottom });
14
+ set _bottom(bottom) {
15
+ this.inputs.set({ bottom });
15
16
  }
16
- set left(left) {
17
- this.set({ left });
17
+ set _left(left) {
18
+ this.inputs.set({ left });
18
19
  }
19
- set front(front) {
20
- this.set({ front });
20
+ set _front(front) {
21
+ this.inputs.set({ front });
21
22
  }
22
- set back(back) {
23
- this.set({ back });
23
+ set _back(back) {
24
+ this.inputs.set({ back });
24
25
  }
25
- set disableX(disableX) {
26
- this.set({ disableX });
26
+ set _disableX(disableX) {
27
+ this.inputs.set({ disableX });
27
28
  }
28
- set disableY(disableY) {
29
- this.set({ disableY });
29
+ set _disableY(disableY) {
30
+ this.inputs.set({ disableY });
30
31
  }
31
- set disableZ(disableZ) {
32
- this.set({ disableZ });
32
+ set _disableZ(disableZ) {
33
+ this.inputs.set({ disableZ });
33
34
  }
34
- set disable(disable) {
35
- this.set({ disable });
35
+ set _disable(disable) {
36
+ this.inputs.set({ disable });
36
37
  }
37
- set precise(precise) {
38
- this.set({ precise });
38
+ set _precise(precise) {
39
+ this.inputs.set({ precise });
40
+ }
41
+ set _cacheKey(cacheKey) {
42
+ this.inputs.set({ cacheKey });
39
43
  }
40
44
  constructor() {
41
- super({ precise: true });
45
+ this.inputs = signalStore({
46
+ precise: true,
47
+ cacheKey: 0,
48
+ });
42
49
  this.centerRef = injectNgtRef();
43
50
  this.outerRef = injectNgtRef();
44
51
  this.innerRef = injectNgtRef();
45
52
  this.centered = new EventEmitter();
46
- requestAnimationInInjectionContext(() => {
47
- this.#setPosition();
48
- });
53
+ this.setPosition();
49
54
  }
50
- #setPosition() {
51
- const trigger = computed(() => {
52
- const center = this.centerRef.nativeElement;
53
- const outer = this.outerRef.nativeElement;
54
- const inner = this.innerRef.nativeElement;
55
- const innerChildren = this.innerRef.children();
56
- return { center, outer, inner, innerChildren: innerChildren() };
57
- });
55
+ setPosition() {
56
+ const innerChildren = this.innerRef.children();
58
57
  effect(() => {
59
- const { center: centerGroup, outer, inner } = trigger();
60
- if (!outer || !inner)
61
- return;
62
- const { precise, top, left, front, disable, disableX, disableY, disableZ, back, bottom, right } = this.get();
63
- outer.matrixWorld.identity();
64
- const box3 = new Box3().setFromObject(inner, precise);
65
- const center = new Vector3();
66
- const sphere = new Sphere();
67
- const width = box3.max.x - box3.min.x;
68
- const height = box3.max.y - box3.min.y;
69
- const depth = box3.max.z - box3.min.z;
70
- box3.getCenter(center);
71
- box3.getBoundingSphere(sphere);
72
- const vAlign = top ? height / 2 : bottom ? -height / 2 : 0;
73
- const hAlign = left ? -width / 2 : right ? width / 2 : 0;
74
- const dAlign = front ? depth / 2 : back ? -depth / 2 : 0;
75
- outer.position.set(disable || disableX ? 0 : -center.x + hAlign, disable || disableY ? 0 : -center.y + vAlign, disable || disableZ ? 0 : -center.z + dAlign);
76
- if (this.centered.observed) {
77
- this.centered.emit({
78
- parent: centerGroup.parent,
79
- container: centerGroup,
80
- width,
81
- height,
82
- depth,
83
- boundingBox: box3,
84
- boundingSphere: sphere,
85
- center: center,
86
- verticalAlignment: vAlign,
87
- horizontalAlignment: hAlign,
88
- depthAlignment: dAlign,
89
- });
58
+ const [outer, inner, centerRef, { precise, top, bottom, left, front, right, back, disable, disableX, disableY, disableZ },] = [
59
+ this.outerRef.nativeElement,
60
+ this.innerRef.nativeElement,
61
+ this.centerRef.nativeElement,
62
+ this.inputs.state(),
63
+ innerChildren(),
64
+ ];
65
+ if (outer && inner && centerRef) {
66
+ outer.matrixWorld.identity();
67
+ const box3 = new THREE.Box3().setFromObject(inner, precise);
68
+ const center = new THREE.Vector3();
69
+ const sphere = new THREE.Sphere();
70
+ const width = box3.max.x - box3.min.x;
71
+ const height = box3.max.y - box3.min.y;
72
+ const depth = box3.max.z - box3.min.z;
73
+ box3.getCenter(center);
74
+ box3.getBoundingSphere(sphere);
75
+ const vAlign = top ? height / 2 : bottom ? -height / 2 : 0;
76
+ const hAlign = left ? -width / 2 : right ? width / 2 : 0;
77
+ const dAlign = front ? depth / 2 : back ? -depth / 2 : 0;
78
+ outer.position.set(disable || disableX ? 0 : -center.x + hAlign, disable || disableY ? 0 : -center.y + vAlign, disable || disableZ ? 0 : -center.z + dAlign);
79
+ if (this.centered.observed) {
80
+ this.centered.emit({
81
+ parent: centerRef.parent,
82
+ container: centerRef,
83
+ width,
84
+ height,
85
+ depth,
86
+ boundingBox: box3,
87
+ boundingSphere: sphere,
88
+ center: center,
89
+ verticalAlignment: vAlign,
90
+ horizontalAlignment: hAlign,
91
+ depthAlignment: dAlign,
92
+ });
93
+ }
90
94
  }
91
95
  });
92
96
  }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCenter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsCenter, isStandalone: true, selector: "ngts-center", inputs: { centerRef: "centerRef", top: "top", right: "right", bottom: "bottom", left: "left", front: "front", back: "back", disableX: "disableX", disableY: "disableY", disableZ: "disableZ", disable: "disable", precise: "precise" }, outputs: { centered: "centered" }, usesInheritance: true, ngImport: i0, template: `
95
- <ngt-group ngtCompound [ref]="centerRef">
96
- <ngt-group [ref]="outerRef">
97
- <ngt-group [ref]="innerRef">
98
- <ng-content />
99
- </ngt-group>
100
- </ngt-group>
101
- </ngt-group>
102
- `, isInline: true }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCenter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCenter, isStandalone: true, selector: "ngts-center", inputs: { centerRef: "centerRef", _top: ["top", "_top"], _right: ["right", "_right"], _bottom: ["bottom", "_bottom"], _left: ["left", "_left"], _front: ["front", "_front"], _back: ["back", "_back"], _disableX: ["disableX", "_disableX"], _disableY: ["disableY", "_disableY"], _disableZ: ["disableZ", "_disableZ"], _disable: ["disable", "_disable"], _precise: ["precise", "_precise"], _cacheKey: ["cacheKey", "_cacheKey"] }, outputs: { centered: "centered" }, ngImport: i0, template: `
99
+ <ngt-group [ref]="centerRef" ngtCompound>
100
+ <ngt-group [ref]="outerRef">
101
+ <ngt-group [ref]="innerRef">
102
+ <ng-content />
103
+ </ngt-group>
104
+ </ngt-group>
105
+ </ngt-group>
106
+ `, isInline: true }); }
103
107
  }
104
- export { NgtsCenter };
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCenter, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCenter, decorators: [{
106
109
  type: Component,
107
110
  args: [{
108
111
  selector: 'ngts-center',
109
112
  standalone: true,
110
113
  template: `
111
- <ngt-group ngtCompound [ref]="centerRef">
112
- <ngt-group [ref]="outerRef">
113
- <ngt-group [ref]="innerRef">
114
- <ng-content />
115
- </ngt-group>
116
- </ngt-group>
117
- </ngt-group>
118
- `,
114
+ <ngt-group [ref]="centerRef" ngtCompound>
115
+ <ngt-group [ref]="outerRef">
116
+ <ngt-group [ref]="innerRef">
117
+ <ng-content />
118
+ </ngt-group>
119
+ </ngt-group>
120
+ </ngt-group>
121
+ `,
119
122
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
120
123
  }]
121
124
  }], ctorParameters: function () { return []; }, propDecorators: { centerRef: [{
122
125
  type: Input
123
- }], top: [{
124
- type: Input
125
- }], right: [{
126
- type: Input
127
- }], bottom: [{
128
- type: Input
129
- }], left: [{
130
- type: Input
131
- }], front: [{
132
- type: Input
133
- }], back: [{
134
- type: Input
135
- }], disableX: [{
136
- type: Input
137
- }], disableY: [{
138
- type: Input
139
- }], disableZ: [{
140
- type: Input
141
- }], disable: [{
142
- type: Input
143
- }], precise: [{
144
- type: Input
126
+ }], _top: [{
127
+ type: Input,
128
+ args: [{ alias: 'top' }]
129
+ }], _right: [{
130
+ type: Input,
131
+ args: [{ alias: 'right' }]
132
+ }], _bottom: [{
133
+ type: Input,
134
+ args: [{ alias: 'bottom' }]
135
+ }], _left: [{
136
+ type: Input,
137
+ args: [{ alias: 'left' }]
138
+ }], _front: [{
139
+ type: Input,
140
+ args: [{ alias: 'front' }]
141
+ }], _back: [{
142
+ type: Input,
143
+ args: [{ alias: 'back' }]
144
+ }], _disableX: [{
145
+ type: Input,
146
+ args: [{ alias: 'disableX' }]
147
+ }], _disableY: [{
148
+ type: Input,
149
+ args: [{ alias: 'disableY' }]
150
+ }], _disableZ: [{
151
+ type: Input,
152
+ args: [{ alias: 'disableZ' }]
153
+ }], _disable: [{
154
+ type: Input,
155
+ args: [{ alias: 'disable' }]
156
+ }], _precise: [{
157
+ type: Input,
158
+ args: [{ alias: 'precise' }]
159
+ }], _cacheKey: [{
160
+ type: Input,
161
+ args: [{ alias: 'cacheKey' }]
145
162
  }], centered: [{
146
163
  type: Output
147
164
  }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2NlbnRlci9jZW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxrQ0FBa0MsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQzs7QUFxQnJELE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFRbEIsTUFjYSxVQUFXLFNBQVEsY0FBK0I7SUFNM0QsSUFBYSxHQUFHLENBQUMsR0FBWTtRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBYSxLQUFLLENBQUMsS0FBYztRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBYSxNQUFNLENBQUMsTUFBZTtRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBYSxJQUFJLENBQUMsSUFBYTtRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBYSxLQUFLLENBQUMsS0FBYztRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQs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SEVNQSwgZWZmZWN0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0Tmd0UmVmLCBOZ3RTaWduYWxTdG9yZSwgcmVxdWVzdEFuaW1hdGlvbkluSW5qZWN0aW9uQ29udGV4dCwgdHlwZSBOZ3RHcm91cCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQm94MywgR3JvdXAsIFNwaGVyZSwgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcblxuZXhwb3J0IHR5cGUgTmd0c0NlbnRlclN0YXRlID0ge1xuICAgIHRvcD86IGJvb2xlYW47XG4gICAgcmlnaHQ/OiBib29sZWFuO1xuICAgIGJvdHRvbT86IGJvb2xlYW47XG4gICAgbGVmdD86IGJvb2xlYW47XG4gICAgZnJvbnQ/OiBib29sZWFuO1xuICAgIGJhY2s/OiBib29sZWFuO1xuICAgIC8qKiBEaXNhYmxlIGFsbCBheGVzICovXG4gICAgZGlzYWJsZT86IGJvb2xlYW47XG4gICAgLyoqIERpc2FibGUgeC1heGlzIGNlbnRlcmluZyAqL1xuICAgIGRpc2FibGVYPzogYm9vbGVhbjtcbiAgICAvKiogRGlzYWJsZSB5LWF4aXMgY2VudGVyaW5nICovXG4gICAgZGlzYWJsZVk/OiBib29sZWFuO1xuICAgIC8qKiBEaXNhYmxlIHotYXhpcyBjZW50ZXJpbmcgKi9cbiAgICBkaXNhYmxlWj86IGJvb2xlYW47XG4gICAgLyoqIFNlZSBodHRwczovL3RocmVlanMub3JnL2RvY3MvaW5kZXguaHRtbD9xPWJveDMjYXBpL2VuL21hdGgvQm94My5zZXRGcm9tT2JqZWN0ICovXG4gICAgcHJlY2lzZTogYm9vbGVhbjtcbn07XG5cbmV4dGVuZCh7IEdyb3VwIH0pO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgICAgICduZ3RzLWNlbnRlcic6IE5ndHNDZW50ZXJTdGF0ZSAmIE5ndEdyb3VwO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWNlbnRlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0LWdyb3VwIG5ndENvbXBvdW5kIFtyZWZdPVwiY2VudGVyUmVmXCI+XG4gICAgICAgICAgICA8bmd0LWdyb3VwIFtyZWZdPVwib3V0ZXJSZWZcIj5cbiAgICAgICAgICAgICAgICA8bmd0LWdyb3VwIFtyZWZdPVwiaW5uZXJSZWZcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgICAgICAgICA8L25ndC1ncm91cD5cbiAgICAgICAgICAgIDwvbmd0LWdyb3VwPlxuICAgICAgICA8L25ndC1ncm91cD5cbiAgICBgLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0NlbnRlciBleHRlbmRzIE5ndFNpZ25hbFN0b3JlPE5ndHNDZW50ZXJTdGF0ZT4ge1xuICAgIEBJbnB1dCgpIGNlbnRlclJlZiA9IGluamVjdE5ndFJlZjxHcm91cD4oKTtcblxuICAgIHJlYWRvbmx5IG91dGVyUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuICAgIHJlYWRvbmx5IGlubmVyUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuXG4gICAgQElucHV0KCkgc2V0IHRvcCh0b3A6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyB0b3AgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHJpZ2h0KHJpZ2h0OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgcmlnaHQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGJvdHRvbShib3R0b206IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBib3R0b20gfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGxlZnQobGVmdDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGxlZnQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZyb250KGZyb250OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZnJvbnQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGJhY2soYmFjazogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGJhY2sgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRpc2FibGVYKGRpc2FibGVYOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGlzYWJsZVggfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRpc2FibGVZKGRpc2FibGVZOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGlzYWJsZVkgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRpc2FibGVaKGRpc2FibGVaOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGlzYWJsZVogfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRpc2FibGUoZGlzYWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGRpc2FibGUgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHByZWNpc2UocHJlY2lzZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IHByZWNpc2UgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIGNlbnRlcmVkID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIC8qKiBUaGUgbmV4dCBwYXJlbnQgYWJvdmUgPENlbnRlcj4gKi9cbiAgICAgICAgcGFyZW50OiBUSFJFRS5PYmplY3QzRDtcbiAgICAgICAgLyoqIFRoZSBvdXRtb3N0IGNvbnRhaW5lciBncm91cCBvZiB0aGUgPENlbnRlcj4gY29tcG9uZW50ICovXG4gICAgICAgIGNvbnRhaW5lcjogVEhSRUUuT2JqZWN0M0Q7XG4gICAgICAgIHdpZHRoOiBudW1iZXI7XG4gICAgICAgIGhlaWdodDogbnVtYmVyO1xuICAgICAgICBkZXB0aDogbnVtYmVyO1xuICAgICAgICBib3VuZGluZ0JveDogVEhSRUUuQm94MztcbiAgICAgICAgYm91bmRpbmdTcGhlcmU6IFRIUkVFLlNwaGVyZTtcbiAgICAgICAgY2VudGVyOiBUSFJFRS5WZWN0b3IzO1xuICAgICAgICB2ZXJ0aWNhbEFsaWdubWVudDogbnVtYmVyO1xuICAgICAgICBob3Jpem9udGFsQWxpZ25tZW50OiBudW1iZXI7XG4gICAgICAgIGRlcHRoQWxpZ25tZW50OiBudW1iZXI7XG4gICAgfT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7IHByZWNpc2U6IHRydWUgfSk7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25JbkluamVjdGlvbkNvbnRleHQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4jc2V0UG9zaXRpb24oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgI3NldFBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCB0cmlnZ2VyID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2VudGVyID0gdGhpcy5jZW50ZXJSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IG91dGVyID0gdGhpcy5vdXRlclJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgaW5uZXIgPSB0aGlzLmlubmVyUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBpbm5lckNoaWxkcmVuID0gdGhpcy5pbm5lclJlZi5jaGlsZHJlbigpO1xuICAgICAgICAgICAgcmV0dXJuIHsgY2VudGVyLCBvdXRlciwgaW5uZXIsIGlubmVyQ2hpbGRyZW46IGlubmVyQ2hpbGRyZW4oKSB9O1xuICAgICAgICB9KTtcblxuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBjZW50ZXI6IGNlbnRlckdyb3VwLCBvdXRlciwgaW5uZXIgfSA9IHRyaWdnZXIoKTtcbiAgICAgICAgICAgIGlmICghb3V0ZXIgfHwgIWlubmVyKSByZXR1cm47XG4gICAgICAgICAgICBjb25zdCB7IHByZWNpc2UsIHRvcCwgbGVmdCwgZnJvbnQsIGRpc2FibGUsIGRpc2FibGVYLCBkaXNhYmxlWSwgZGlzYWJsZVosIGJhY2ssIGJvdHRvbSwgcmlnaHQgfSA9XG4gICAgICAgICAgICAgICAgdGhpcy5nZXQoKTtcbiAgICAgICAgICAgIG91dGVyLm1hdHJpeFdvcmxkLmlkZW50aXR5KCk7XG4gICAgICAgICAgICBjb25zdCBib3gzID0gbmV3IEJveDMoKS5zZXRGcm9tT2JqZWN0KGlubmVyLCBwcmVjaXNlKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlciA9IG5ldyBWZWN0b3IzKCk7XG4gICAgICAgICAgICBjb25zdCBzcGhlcmUgPSBuZXcgU3BoZXJlKCk7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IGJveDMubWF4LnggLSBib3gzLm1pbi54O1xuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gYm94My5tYXgueSAtIGJveDMubWluLnk7XG4gICAgICAgICAgICBjb25zdCBkZXB0aCA9IGJveDMubWF4LnogLSBib3gzLm1pbi56O1xuXG4gICAgICAgICAgICBib3gzLmdldENlbnRlcihjZW50ZXIpO1xuICAgICAgICAgICAgYm94My5nZXRCb3VuZGluZ1NwaGVyZShzcGhlcmUpO1xuXG4gICAgICAgICAgICBjb25zdCB2QWxpZ24gPSB0b3AgPyBoZWlnaHQgLyAyIDogYm90dG9tID8gLWhlaWdodCAvIDIgOiAwO1xuICAgICAgICAgICAgY29uc3QgaEFsaWduID0gbGVmdCA/IC13aWR0aCAvIDIgOiByaWdodCA/IHdpZHRoIC8gMiA6IDA7XG4gICAgICAgICAgICBjb25zdCBkQWxpZ24gPSBmcm9udCA/IGRlcHRoIC8gMiA6IGJhY2sgPyAtZGVwdGggLyAyIDogMDtcblxuICAgICAgICAgICAgb3V0ZXIucG9zaXRpb24uc2V0KFxuICAgICAgICAgICAgICAgIGRpc2FibGUgfHwgZGlzYWJsZVggPyAwIDogLWNlbnRlci54ICsgaEFsaWduLFxuICAgICAgICAgICAgICAgIGRpc2FibGUgfHwgZGlzYWJsZVkgPyAwIDogLWNlbnRlci55ICsgdkFsaWduLFxuICAgICAgICAgICAgICAgIGRpc2FibGUgfHwgZGlzYWJsZVogPyAwIDogLWNlbnRlci56ICsgZEFsaWduXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jZW50ZXJlZC5vYnNlcnZlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2VudGVyZWQuZW1pdCh7XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogY2VudGVyR3JvdXAucGFyZW50ISxcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjZW50ZXJHcm91cCxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICAgIGJvdW5kaW5nQm94OiBib3gzLFxuICAgICAgICAgICAgICAgICAgICBib3VuZGluZ1NwaGVyZTogc3BoZXJlLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWxBbGlnbm1lbnQ6IHZBbGlnbixcbiAgICAgICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogaEFsaWduLFxuICAgICAgICAgICAgICAgICAgICBkZXB0aEFsaWdubWVudDogZEFsaWduLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2NlbnRlci9jZW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQUU5QixNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBOERsQixNQUFNLE9BQU8sVUFBVTtJQVV0QixJQUE2QixJQUFJLENBQUMsR0FBWTtRQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQStCLE1BQU0sQ0FBQyxLQUFjO1FBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBZ0MsT0FBTyxDQUFDLE1BQWU7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUE4QixLQUFLLENBQUMsSUFBYTtRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQStCLE1BQU0sQ0FBQyxLQUFjO1FBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FB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QU0sRUFBRTtnQkFJVSxTQUFTO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtnQkFJTSxTQUFTO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtnQkFJTSxTQUFTO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtnQkFJSyxRQUFRO3NCQUF4QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtnQkFJTSxRQUFRO3NCQUF4QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtnQkFJTyxTQUFTO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtnQkFJbEIsUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0Tmd0UmVmLCBzaWduYWxTdG9yZSwgdHlwZSBOZ3RHcm91cCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgR3JvdXAgfSBmcm9tICd0aHJlZSc7XG5cbmV4dGVuZCh7IEdyb3VwIH0pO1xuXG5leHBvcnQgdHlwZSBOZ3RzQ2VudGVyZWRFdmVudCA9IHtcblx0LyoqIFRoZSBuZXh0IHBhcmVudCBhYm92ZSA8Q2VudGVyPiAqL1xuXHRwYXJlbnQ6IFRIUkVFLk9iamVjdDNEO1xuXHQvKiogVGhlIG91dG1vc3QgY29udGFpbmVyIGdyb3VwIG9mIHRoZSA8Q2VudGVyPiBjb21wb25lbnQgKi9cblx0Y29udGFpbmVyOiBUSFJFRS5PYmplY3QzRDtcblx0d2lkdGg6IG51bWJlcjtcblx0aGVpZ2h0OiBudW1iZXI7XG5cdGRlcHRoOiBudW1iZXI7XG5cdGJvdW5kaW5nQm94OiBUSFJFRS5Cb3gzO1xuXHRib3VuZGluZ1NwaGVyZTogVEhSRUUuU3BoZXJlO1xuXHRjZW50ZXI6IFRIUkVFLlZlY3RvcjM7XG5cdHZlcnRpY2FsQWxpZ25tZW50OiBudW1iZXI7XG5cdGhvcml6b250YWxBbGlnbm1lbnQ6IG51bWJlcjtcblx0ZGVwdGhBbGlnbm1lbnQ6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndHNDZW50ZXJTdGF0ZSA9IHtcblx0dG9wPzogYm9vbGVhbjtcblx0cmlnaHQ/OiBib29sZWFuO1xuXHRib3R0b20/OiBib29sZWFuO1xuXHRsZWZ0PzogYm9vbGVhbjtcblx0ZnJvbnQ/OiBib29sZWFuO1xuXHRiYWNrPzogYm9vbGVhbjtcblx0LyoqIERpc2FibGUgYWxsIGF4ZXMgKi9cblx0ZGlzYWJsZT86IGJvb2xlYW47XG5cdC8qKiBEaXNhYmxlIHgtYXhpcyBjZW50ZXJpbmcgKi9cblx0ZGlzYWJsZVg/OiBib29sZWFuO1xuXHQvKiogRGlzYWJsZSB5LWF4aXMgY2VudGVyaW5nICovXG5cdGRpc2FibGVZPzogYm9vbGVhbjtcblx0LyoqIERpc2FibGUgei1heGlzIGNlbnRlcmluZyAqL1xuXHRkaXNhYmxlWj86IGJvb2xlYW47XG5cdC8qKiBTZWUgaHR0cHM6Ly90aHJlZWpzLm9yZy9kb2NzL2luZGV4Lmh0bWw/cT1ib3gzI2FwaS9lbi9tYXRoL0JveDMuc2V0RnJvbU9iamVjdCAqL1xuXHRwcmVjaXNlPzogYm9vbGVhbjtcblx0LyoqIE9wdGlvbmFsIGNhY2hlS2V5IHRvIGtlZXAgdGhlIGNvbXBvbmVudCBmcm9tIHJlY2FsY3VsYXRpbmcgb24gZXZlcnkgcmVuZGVyICovXG5cdGNhY2hlS2V5PzogYW55O1xufTtcblxuZGVjbGFyZSBnbG9iYWwge1xuXHRpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcblx0XHQvKipcblx0XHQgKiBAZXh0ZW5kcyBuZ3QtZ3JvdXBcblx0XHQgKi9cblx0XHQnbmd0cy1jZW50ZXInOiBOZ3RzQ2VudGVyU3RhdGUgJiBOZ3RHcm91cDtcblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWNlbnRlcicsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cCBbcmVmXT1cImNlbnRlclJlZlwiIG5ndENvbXBvdW5kPlxuXHRcdFx0PG5ndC1ncm91cCBbcmVmXT1cIm91dGVyUmVmXCI+XG5cdFx0XHRcdDxuZ3QtZ3JvdXAgW3JlZl09XCJpbm5lclJlZlwiPlxuXHRcdFx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdFx0PC9uZ3QtZ3JvdXA+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0NlbnRlciB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0c0NlbnRlclN0YXRlPih7XG5cdFx0cHJlY2lzZTogdHJ1ZSxcblx0XHRjYWNoZUtleTogMCxcblx0fSk7XG5cblx0QElucHV0KCkgY2VudGVyUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuXHRvdXRlclJlZiA9IGluamVjdE5ndFJlZjxHcm91cD4oKTtcblx0aW5uZXJSZWYgPSBpbmplY3ROZ3RSZWY8R3JvdXA+KCk7XG5cblx0QElucHV0KHsgYWxpYXM6ICd0b3AnIH0pIHNldCBfdG9wKHRvcDogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHRvcCB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAncmlnaHQnIH0pIHNldCBfcmlnaHQocmlnaHQ6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyByaWdodCB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnYm90dG9tJyB9KSBzZXQgX2JvdHRvbShib3R0b206IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBib3R0b20gfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2xlZnQnIH0pIHNldCBfbGVmdChsZWZ0OiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbGVmdCB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnZnJvbnQnIH0pIHNldCBfZnJvbnQoZnJvbnQ6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBmcm9udCB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnYmFjaycgfSkgc2V0IF9iYWNrKGJhY2s6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBiYWNrIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdkaXNhYmxlWCcgfSkgc2V0IF9kaXNhYmxlWChkaXNhYmxlWDogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGRpc2FibGVYIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdkaXNhYmxlWScgfSkgc2V0IF9kaXNhYmxlWShkaXNhYmxlWTogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGRpc2FibGVZIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdkaXNhYmxlWicgfSkgc2V0IF9kaXNhYmxlWihkaXNhYmxlWjogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGRpc2FibGVaIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdkaXNhYmxlJyB9KSBzZXQgX2Rpc2FibGUoZGlzYWJsZTogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGRpc2FibGUgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ3ByZWNpc2UnIH0pIHNldCBfcHJlY2lzZShwcmVjaXNlOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgcHJlY2lzZSB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnY2FjaGVLZXknIH0pIHNldCBfY2FjaGVLZXkoY2FjaGVLZXk6IGFueSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGNhY2hlS2V5IH0pO1xuXHR9XG5cblx0QE91dHB1dCgpIGNlbnRlcmVkID0gbmV3IEV2ZW50RW1pdHRlcjxOZ3RzQ2VudGVyZWRFdmVudD4oKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLnNldFBvc2l0aW9uKCk7XG5cdH1cblxuXHRwcml2YXRlIHNldFBvc2l0aW9uKCkge1xuXHRcdGNvbnN0IGlubmVyQ2hpbGRyZW4gPSB0aGlzLmlubmVyUmVmLmNoaWxkcmVuKCk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgW1xuXHRcdFx0XHRvdXRlcixcblx0XHRcdFx0aW5uZXIsXG5cdFx0XHRcdGNlbnRlclJlZixcblx0XHRcdFx0eyBwcmVjaXNlLCB0b3AsIGJvdHRvbSwgbGVmdCwgZnJvbnQsIHJpZ2h0LCBiYWNrLCBkaXNhYmxlLCBkaXNhYmxlWCwgZGlzYWJsZVksIGRpc2FibGVaIH0sXG5cdFx0XHRdID0gW1xuXHRcdFx0XHR0aGlzLm91dGVyUmVmLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMuaW5uZXJSZWYubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0dGhpcy5jZW50ZXJSZWYubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0dGhpcy5pbnB1dHMuc3RhdGUoKSxcblx0XHRcdFx0aW5uZXJDaGlsZHJlbigpLFxuXHRcdFx0XTtcblxuXHRcdFx0aWYgKG91dGVyICYmIGlubmVyICYmIGNlbnRlclJlZikge1xuXHRcdFx0XHRvdXRlci5tYXRyaXhXb3JsZC5pZGVudGl0eSgpO1xuXHRcdFx0XHRjb25zdCBib3gzID0gbmV3IFRIUkVFLkJveDMoKS5zZXRGcm9tT2JqZWN0KGlubmVyLCBwcmVjaXNlKTtcblx0XHRcdFx0Y29uc3QgY2VudGVyID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcblx0XHRcdFx0Y29uc3Qgc3BoZXJlID0gbmV3IFRIUkVFLlNwaGVyZSgpO1xuXHRcdFx0XHRjb25zdCB3aWR0aCA9IGJveDMubWF4LnggLSBib3gzLm1pbi54O1xuXHRcdFx0XHRjb25zdCBoZWlnaHQgPSBib3gzLm1heC55IC0gYm94My5taW4ueTtcblx0XHRcdFx0Y29uc3QgZGVwdGggPSBib3gzLm1heC56IC0gYm94My5taW4uejtcblx0XHRcdFx0Ym94My5nZXRDZW50ZXIoY2VudGVyKTtcblx0XHRcdFx0Ym94My5nZXRCb3VuZGluZ1NwaGVyZShzcGhlcmUpO1xuXHRcdFx0XHRjb25zdCB2QWxpZ24gPSB0b3AgPyBoZWlnaHQgLyAyIDogYm90dG9tID8gLWhlaWdodCAvIDIgOiAwO1xuXHRcdFx0XHRjb25zdCBoQWxpZ24gPSBsZWZ0ID8gLXdpZHRoIC8gMiA6IHJpZ2h0ID8gd2lkdGggLyAyIDogMDtcblx0XHRcdFx0Y29uc3QgZEFsaWduID0gZnJvbnQgPyBkZXB0aCAvIDIgOiBiYWNrID8gLWRlcHRoIC8gMiA6IDA7XG5cblx0XHRcdFx0b3V0ZXIucG9zaXRpb24uc2V0KFxuXHRcdFx0XHRcdGRpc2FibGUgfHwgZGlzYWJsZVggPyAwIDogLWNlbnRlci54ICsgaEFsaWduLFxuXHRcdFx0XHRcdGRpc2FibGUgfHwgZGlzYWJsZVkgPyAwIDogLWNlbnRlci55ICsgdkFsaWduLFxuXHRcdFx0XHRcdGRpc2FibGUgfHwgZGlzYWJsZVogPyAwIDogLWNlbnRlci56ICsgZEFsaWduLFxuXHRcdFx0XHQpO1xuXG5cdFx0XHRcdGlmICh0aGlzLmNlbnRlcmVkLm9ic2VydmVkKSB7XG5cdFx0XHRcdFx0dGhpcy5jZW50ZXJlZC5lbWl0KHtcblx0XHRcdFx0XHRcdHBhcmVudDogY2VudGVyUmVmLnBhcmVudCEsXG5cdFx0XHRcdFx0XHRjb250YWluZXI6IGNlbnRlclJlZixcblx0XHRcdFx0XHRcdHdpZHRoLFxuXHRcdFx0XHRcdFx0aGVpZ2h0LFxuXHRcdFx0XHRcdFx0ZGVwdGgsXG5cdFx0XHRcdFx0XHRib3VuZGluZ0JveDogYm94Myxcblx0XHRcdFx0XHRcdGJvdW5kaW5nU3BoZXJlOiBzcGhlcmUsXG5cdFx0XHRcdFx0XHRjZW50ZXI6IGNlbnRlcixcblx0XHRcdFx0XHRcdHZlcnRpY2FsQWxpZ25tZW50OiB2QWxpZ24sXG5cdFx0XHRcdFx0XHRob3Jpem9udGFsQWxpZ25tZW50OiBoQWxpZ24sXG5cdFx0XHRcdFx0XHRkZXB0aEFsaWdubWVudDogZEFsaWduLFxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==