@supersoniks/concorde 4.9.98-visual-stack.0 → 5.0.0

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 (1045) hide show
  1. package/README.md +17 -34
  2. package/build-infos.json +1 -1
  3. package/concorde-3d.bundle.js +201 -152
  4. package/concorde-3d.es.js +14687 -13905
  5. package/concorde-core.bundle.js +311 -293
  6. package/concorde-core.es.js +5195 -5129
  7. package/concorde-hugging-face-infer.bundle.js +1 -1
  8. package/concorde-hugging-face-infer.es.js +1 -1
  9. package/concorde-shader.bundle.js +31 -20
  10. package/concorde-shader.es.js +2773 -2547
  11. package/concorde-webgpu.bundle.js +43 -32
  12. package/concorde-webgpu.es.js +1819 -1553
  13. package/dist/concorde-core.bundle.js +311 -293
  14. package/dist/concorde-core.es.js +5195 -5129
  15. package/dist/docs-mock-api-sw.js +5 -1
  16. package/dist/docs-mock-api-sw.js.map +2 -2
  17. package/package.json +384 -1790
  18. package/public/docs-mock-api-sw.js +5 -1
  19. package/public/docs-mock-api-sw.js.map +2 -2
  20. package/scripts/post-build.mjs +10 -116
  21. package/scripts/pre-build.mjs +36 -119
  22. package/scripts/pre-publish.mjs +54 -76
  23. package/src/core/components/functional/jsonata/jsonata.md +2 -4
  24. package/src/core/components/functional/sdui/sdui.md +2 -2
  25. package/src/core/components/functional/sdui/sdui.ts +29 -40
  26. package/src/core/components/ui/button/button.ts +1 -2
  27. package/src/core/components/ui/form/checkbox/checkbox.md +1 -1
  28. package/src/core/components/ui/form/checkbox/checkbox.ts +4 -20
  29. package/src/core/components/ui/form/input/input.ts +7 -13
  30. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +14 -118
  31. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.ts +419 -187
  32. package/src/core/components/ui/form/radio/radio.ts +1 -1
  33. package/src/core/components/ui/form/select/select.ts +3 -6
  34. package/src/core/components/ui/form/textarea/textarea.ts +1 -2
  35. package/src/core/components/ui/pop/pop.ts +9 -0
  36. package/src/core/components/ui/toast/render-content.ts +13 -0
  37. package/src/core/components/ui/toast/toast-item.ts +40 -12
  38. package/src/core/components/ui/toast/toast.ts +54 -14
  39. package/src/core/components/ui/toast/types.ts +14 -2
  40. package/src/core/decorators/subscriber/derive.ts +3 -3
  41. package/src/core/mixins/Fetcher.ts +1 -1
  42. package/src/core/mixins/FormCheckable.ts +1 -8
  43. package/src/core/mixins/FormElement.ts +74 -76
  44. package/src/core/utils/HTML.ts +74 -107
  45. package/src/core/utils/PublisherProxy.ts +6 -29
  46. package/src/core/utils/jsonataHelpers.ts +0 -36
  47. package/src/docs/_core-concept/dataFlow.md +1 -3
  48. package/src/docs/_getting-started/create-a-component.md +1 -1
  49. package/src/docs/_misc/formelement-subscriber-removal.md +115 -0
  50. package/src/docs/_misc/html-integration.md +2 -0
  51. package/src/docs/components/docs-demo-sources.ts +79 -353
  52. package/src/docs/docs.ts +1 -7
  53. package/src/docs/example/docs-input-autocomplete-demos.ts +110 -0
  54. package/src/docs/mock-api/router.ts +17 -1
  55. package/src/docs/navigation/navigation.ts +4 -25
  56. package/src/docs/search/docs-search.json +884 -2354
  57. package/src/tsconfig.json +313 -490
  58. package/src/tsconfig.tsbuildinfo +1 -1
  59. package/vite/config.js +30 -42
  60. package/vite.config.mts +12 -51
  61. package/dist/concorde-3d.bundle.js +0 -3911
  62. package/dist/concorde-3d.es.js +0 -32651
  63. package/dist/concorde-hugging-face-infer.bundle.js +0 -32
  64. package/dist/concorde-hugging-face-infer.es.js +0 -2952
  65. package/dist/concorde-shader.bundle.js +0 -105
  66. package/dist/concorde-shader.es.js +0 -8127
  67. package/dist/concorde-webgpu.bundle.js +0 -296
  68. package/dist/concorde-webgpu.es.js +0 -8361
  69. package/dist/docs/hf-samples/beach.jpg +0 -0
  70. package/dist/docs/hf-samples/cats.jpg +0 -0
  71. package/dist/docs/hf-samples/corgi.jpg +0 -0
  72. package/dist/docs/hf-samples/portrait.jpg +0 -0
  73. package/dist/docs/hf-samples/scene.jpg +0 -0
  74. package/dist/docs/hf-samples/singer.jpg +0 -0
  75. package/dist/docs/shader-samples/color.jpg +0 -0
  76. package/dist/docs/shader-samples/depth.png +0 -0
  77. package/dist/docs/shader-samples/impact.jpg +0 -0
  78. package/dist/docs/shader-samples/video.webm +0 -0
  79. package/dist/js/addons/3d.js +0 -6
  80. package/dist/js/addons/3d.js.map +0 -1
  81. package/dist/js/addons/hugging-face-infer.js +0 -8
  82. package/dist/js/addons/hugging-face-infer.js.map +0 -1
  83. package/dist/js/addons/shader.js +0 -6
  84. package/dist/js/addons/shader.js.map +0 -1
  85. package/dist/js/addons/webgpu.js +0 -7
  86. package/dist/js/addons/webgpu.js.map +0 -1
  87. package/dist/js/components.js +0 -12
  88. package/dist/js/components.js.map +0 -1
  89. package/dist/js/concorde-loaded.js +0 -5
  90. package/dist/js/concorde-loaded.js.map +0 -1
  91. package/dist/js/core/_types/endpoint.js +0 -5
  92. package/dist/js/core/_types/endpoint.js.map +0 -1
  93. package/dist/js/core/_types/key.js +0 -2
  94. package/dist/js/core/_types/key.js.map +0 -1
  95. package/dist/js/core/_types/types.js +0 -3
  96. package/dist/js/core/_types/types.js.map +0 -1
  97. package/dist/js/core/components/functional/3d/3d.js +0 -161
  98. package/dist/js/core/components/functional/3d/3d.js.map +0 -1
  99. package/dist/js/core/components/functional/3d/asset.js +0 -20
  100. package/dist/js/core/components/functional/3d/asset.js.map +0 -1
  101. package/dist/js/core/components/functional/3d/boot.js +0 -47
  102. package/dist/js/core/components/functional/3d/boot.js.map +0 -1
  103. package/dist/js/core/components/functional/3d/constants.js +0 -90
  104. package/dist/js/core/components/functional/3d/constants.js.map +0 -1
  105. package/dist/js/core/components/functional/3d/demo-content.js +0 -38
  106. package/dist/js/core/components/functional/3d/demo-content.js.map +0 -1
  107. package/dist/js/core/components/functional/3d/ensure.js +0 -73
  108. package/dist/js/core/components/functional/3d/ensure.js.map +0 -1
  109. package/dist/js/core/components/functional/3d/form-bind.js +0 -25
  110. package/dist/js/core/components/functional/3d/form-bind.js.map +0 -1
  111. package/dist/js/core/components/functional/3d/form-fields.js +0 -76
  112. package/dist/js/core/components/functional/3d/form-fields.js.map +0 -1
  113. package/dist/js/core/components/functional/3d/form-params.js +0 -67
  114. package/dist/js/core/components/functional/3d/form-params.js.map +0 -1
  115. package/dist/js/core/components/functional/3d/frame-capture.js +0 -108
  116. package/dist/js/core/components/functional/3d/frame-capture.js.map +0 -1
  117. package/dist/js/core/components/functional/3d/frame-source.js +0 -22
  118. package/dist/js/core/components/functional/3d/frame-source.js.map +0 -1
  119. package/dist/js/core/components/functional/3d/gl.js +0 -34
  120. package/dist/js/core/components/functional/3d/gl.js.map +0 -1
  121. package/dist/js/core/components/functional/3d/life.js +0 -55
  122. package/dist/js/core/components/functional/3d/life.js.map +0 -1
  123. package/dist/js/core/components/functional/3d/load.js +0 -109
  124. package/dist/js/core/components/functional/3d/load.js.map +0 -1
  125. package/dist/js/core/components/functional/3d/ops.js +0 -78
  126. package/dist/js/core/components/functional/3d/ops.js.map +0 -1
  127. package/dist/js/core/components/functional/3d/opts.js +0 -2
  128. package/dist/js/core/components/functional/3d/opts.js.map +0 -1
  129. package/dist/js/core/components/functional/3d/orbit.js +0 -136
  130. package/dist/js/core/components/functional/3d/orbit.js.map +0 -1
  131. package/dist/js/core/components/functional/3d/out-publish.js +0 -103
  132. package/dist/js/core/components/functional/3d/out-publish.js.map +0 -1
  133. package/dist/js/core/components/functional/3d/parse.js +0 -95
  134. package/dist/js/core/components/functional/3d/parse.js.map +0 -1
  135. package/dist/js/core/components/functional/3d/pick.js +0 -62
  136. package/dist/js/core/components/functional/3d/pick.js.map +0 -1
  137. package/dist/js/core/components/functional/3d/playback.js +0 -56
  138. package/dist/js/core/components/functional/3d/playback.js.map +0 -1
  139. package/dist/js/core/components/functional/3d/pointer.js +0 -58
  140. package/dist/js/core/components/functional/3d/pointer.js.map +0 -1
  141. package/dist/js/core/components/functional/3d/props.js +0 -105
  142. package/dist/js/core/components/functional/3d/props.js.map +0 -1
  143. package/dist/js/core/components/functional/3d/publisher-listen.js +0 -6
  144. package/dist/js/core/components/functional/3d/publisher-listen.js.map +0 -1
  145. package/dist/js/core/components/functional/3d/reload.js +0 -63
  146. package/dist/js/core/components/functional/3d/reload.js.map +0 -1
  147. package/dist/js/core/components/functional/3d/runtime.js +0 -116
  148. package/dist/js/core/components/functional/3d/runtime.js.map +0 -1
  149. package/dist/js/core/components/functional/3d/scene-runtime.js +0 -6
  150. package/dist/js/core/components/functional/3d/scene-runtime.js.map +0 -1
  151. package/dist/js/core/components/functional/3d/snapshot.js +0 -47
  152. package/dist/js/core/components/functional/3d/snapshot.js.map +0 -1
  153. package/dist/js/core/components/functional/3d/styles.js +0 -38
  154. package/dist/js/core/components/functional/3d/styles.js.map +0 -1
  155. package/dist/js/core/components/functional/3d/tune.js +0 -42
  156. package/dist/js/core/components/functional/3d/tune.js.map +0 -1
  157. package/dist/js/core/components/functional/3d/types.js +0 -8
  158. package/dist/js/core/components/functional/3d/types.js.map +0 -1
  159. package/dist/js/core/components/functional/3d/updated.js +0 -58
  160. package/dist/js/core/components/functional/3d/updated.js.map +0 -1
  161. package/dist/js/core/components/functional/3d/view.js +0 -40
  162. package/dist/js/core/components/functional/3d/view.js.map +0 -1
  163. package/dist/js/core/components/functional/3d/wire.js +0 -34
  164. package/dist/js/core/components/functional/3d/wire.js.map +0 -1
  165. package/dist/js/core/components/functional/date/date.js +0 -272
  166. package/dist/js/core/components/functional/date/date.js.map +0 -1
  167. package/dist/js/core/components/functional/example/example.js +0 -44
  168. package/dist/js/core/components/functional/example/example.js.map +0 -1
  169. package/dist/js/core/components/functional/fetch/fetch.js +0 -79
  170. package/dist/js/core/components/functional/fetch/fetch.js.map +0 -1
  171. package/dist/js/core/components/functional/functional.js +0 -18
  172. package/dist/js/core/components/functional/functional.js.map +0 -1
  173. package/dist/js/core/components/functional/if/if.js +0 -39
  174. package/dist/js/core/components/functional/if/if.js.map +0 -1
  175. package/dist/js/core/components/functional/infer/hugging-face/hf-cache.js +0 -183
  176. package/dist/js/core/components/functional/infer/hugging-face/hf-cache.js.map +0 -1
  177. package/dist/js/core/components/functional/infer/hugging-face/hf-config.js +0 -50
  178. package/dist/js/core/components/functional/infer/hugging-face/hf-config.js.map +0 -1
  179. package/dist/js/core/components/functional/infer/hugging-face/hf-controller.js +0 -460
  180. package/dist/js/core/components/functional/infer/hugging-face/hf-controller.js.map +0 -1
  181. package/dist/js/core/components/functional/infer/hugging-face/hf-engine.js +0 -116
  182. package/dist/js/core/components/functional/infer/hugging-face/hf-engine.js.map +0 -1
  183. package/dist/js/core/components/functional/infer/hugging-face/hf-input.js +0 -170
  184. package/dist/js/core/components/functional/infer/hugging-face/hf-input.js.map +0 -1
  185. package/dist/js/core/components/functional/infer/hugging-face/hf-protocol.js +0 -2
  186. package/dist/js/core/components/functional/infer/hugging-face/hf-protocol.js.map +0 -1
  187. package/dist/js/core/components/functional/infer/hugging-face/hf-registry.js +0 -367
  188. package/dist/js/core/components/functional/infer/hugging-face/hf-registry.js.map +0 -1
  189. package/dist/js/core/components/functional/infer/hugging-face/hf-schema.js +0 -288
  190. package/dist/js/core/components/functional/infer/hugging-face/hf-schema.js.map +0 -1
  191. package/dist/js/core/components/functional/infer/hugging-face/hf-worker-runtime.js +0 -309
  192. package/dist/js/core/components/functional/infer/hugging-face/hf-worker-runtime.js.map +0 -1
  193. package/dist/js/core/components/functional/infer/hugging-face/hugging-face-infer.js +0 -213
  194. package/dist/js/core/components/functional/infer/hugging-face/hugging-face-infer.js.map +0 -1
  195. package/dist/js/core/components/functional/infer/hugging-face/hugging-face.js +0 -76
  196. package/dist/js/core/components/functional/infer/hugging-face/hugging-face.js.map +0 -1
  197. package/dist/js/core/components/functional/infer/hugging-face/types.js +0 -62
  198. package/dist/js/core/components/functional/infer/hugging-face/types.js.map +0 -1
  199. package/dist/js/core/components/functional/jsonata/jsonata.js +0 -119
  200. package/dist/js/core/components/functional/jsonata/jsonata.js.map +0 -1
  201. package/dist/js/core/components/functional/list/list.js +0 -341
  202. package/dist/js/core/components/functional/list/list.js.map +0 -1
  203. package/dist/js/core/components/functional/mix/mix.js +0 -103
  204. package/dist/js/core/components/functional/mix/mix.js.map +0 -1
  205. package/dist/js/core/components/functional/queue/queue.js +0 -450
  206. package/dist/js/core/components/functional/queue/queue.js.map +0 -1
  207. package/dist/js/core/components/functional/router/redirect.js +0 -54
  208. package/dist/js/core/components/functional/router/redirect.js.map +0 -1
  209. package/dist/js/core/components/functional/router/router.js +0 -179
  210. package/dist/js/core/components/functional/router/router.js.map +0 -1
  211. package/dist/js/core/components/functional/sdui/SDUIDescriptorTransformer.js +0 -216
  212. package/dist/js/core/components/functional/sdui/SDUIDescriptorTransformer.js.map +0 -1
  213. package/dist/js/core/components/functional/sdui/default-library.json +0 -108
  214. package/dist/js/core/components/functional/sdui/sdui-utils.js +0 -64
  215. package/dist/js/core/components/functional/sdui/sdui-utils.js.map +0 -1
  216. package/dist/js/core/components/functional/sdui/sdui.js +0 -271
  217. package/dist/js/core/components/functional/sdui/sdui.js.map +0 -1
  218. package/dist/js/core/components/functional/sdui/types.js +0 -2
  219. package/dist/js/core/components/functional/sdui/types.js.map +0 -1
  220. package/dist/js/core/components/functional/shader/gl-runtime.js +0 -738
  221. package/dist/js/core/components/functional/shader/gl-runtime.js.map +0 -1
  222. package/dist/js/core/components/functional/shader/shader.js +0 -1642
  223. package/dist/js/core/components/functional/shader/shader.js.map +0 -1
  224. package/dist/js/core/components/functional/shader/shadertoy-prelude.js +0 -48
  225. package/dist/js/core/components/functional/shader/shadertoy-prelude.js.map +0 -1
  226. package/dist/js/core/components/functional/shader/types.js +0 -179
  227. package/dist/js/core/components/functional/shader/types.js.map +0 -1
  228. package/dist/js/core/components/functional/sonic-scope/sonic-scope.js +0 -22
  229. package/dist/js/core/components/functional/sonic-scope/sonic-scope.js.map +0 -1
  230. package/dist/js/core/components/functional/states/states.js +0 -172
  231. package/dist/js/core/components/functional/states/states.js.map +0 -1
  232. package/dist/js/core/components/functional/submit/submit.js +0 -284
  233. package/dist/js/core/components/functional/submit/submit.js.map +0 -1
  234. package/dist/js/core/components/functional/subscriber/subscriber.js +0 -39
  235. package/dist/js/core/components/functional/subscriber/subscriber.js.map +0 -1
  236. package/dist/js/core/components/functional/translation/translation.js +0 -28
  237. package/dist/js/core/components/functional/translation/translation.js.map +0 -1
  238. package/dist/js/core/components/functional/value/value.js +0 -28
  239. package/dist/js/core/components/functional/value/value.js.map +0 -1
  240. package/dist/js/core/components/functional/webgpu/canvas2d-fallback.js +0 -117
  241. package/dist/js/core/components/functional/webgpu/canvas2d-fallback.js.map +0 -1
  242. package/dist/js/core/components/functional/webgpu/form-bind.js +0 -92
  243. package/dist/js/core/components/functional/webgpu/form-bind.js.map +0 -1
  244. package/dist/js/core/components/functional/webgpu/gl-fallback.js +0 -135
  245. package/dist/js/core/components/functional/webgpu/gl-fallback.js.map +0 -1
  246. package/dist/js/core/components/functional/webgpu/gpu-runtime.js +0 -305
  247. package/dist/js/core/components/functional/webgpu/gpu-runtime.js.map +0 -1
  248. package/dist/js/core/components/functional/webgpu/helpers.js +0 -44
  249. package/dist/js/core/components/functional/webgpu/helpers.js.map +0 -1
  250. package/dist/js/core/components/functional/webgpu/out-frame.js +0 -117
  251. package/dist/js/core/components/functional/webgpu/out-frame.js.map +0 -1
  252. package/dist/js/core/components/functional/webgpu/particles-runtime.js +0 -407
  253. package/dist/js/core/components/functional/webgpu/particles-runtime.js.map +0 -1
  254. package/dist/js/core/components/functional/webgpu/pointer.js +0 -56
  255. package/dist/js/core/components/functional/webgpu/pointer.js.map +0 -1
  256. package/dist/js/core/components/functional/webgpu/types.js +0 -24
  257. package/dist/js/core/components/functional/webgpu/types.js.map +0 -1
  258. package/dist/js/core/components/functional/webgpu/webgpu.js +0 -676
  259. package/dist/js/core/components/functional/webgpu/webgpu.js.map +0 -1
  260. package/dist/js/core/components/functional/webgpu/wgsl-prelude.js +0 -77
  261. package/dist/js/core/components/functional/webgpu/wgsl-prelude.js.map +0 -1
  262. package/dist/js/core/components/ui/_css/scroll.js +0 -27
  263. package/dist/js/core/components/ui/_css/scroll.js.map +0 -1
  264. package/dist/js/core/components/ui/_css/shadow.js +0 -22
  265. package/dist/js/core/components/ui/_css/shadow.js.map +0 -1
  266. package/dist/js/core/components/ui/_css/size.js +0 -36
  267. package/dist/js/core/components/ui/_css/size.js.map +0 -1
  268. package/dist/js/core/components/ui/_css/type.js +0 -92
  269. package/dist/js/core/components/ui/_css/type.js.map +0 -1
  270. package/dist/js/core/components/ui/alert/alert.js +0 -213
  271. package/dist/js/core/components/ui/alert/alert.js.map +0 -1
  272. package/dist/js/core/components/ui/alert-messages/alert-messages.js +0 -68
  273. package/dist/js/core/components/ui/alert-messages/alert-messages.js.map +0 -1
  274. package/dist/js/core/components/ui/badge/badge.js +0 -199
  275. package/dist/js/core/components/ui/badge/badge.js.map +0 -1
  276. package/dist/js/core/components/ui/button/button.js +0 -697
  277. package/dist/js/core/components/ui/button/button.js.map +0 -1
  278. package/dist/js/core/components/ui/captcha/altchaStyles.js +0 -226
  279. package/dist/js/core/components/ui/captcha/altchaStyles.js.map +0 -1
  280. package/dist/js/core/components/ui/captcha/captcha.js +0 -167
  281. package/dist/js/core/components/ui/captcha/captcha.js.map +0 -1
  282. package/dist/js/core/components/ui/card/card-footer.js +0 -26
  283. package/dist/js/core/components/ui/card/card-footer.js.map +0 -1
  284. package/dist/js/core/components/ui/card/card-header-descripton.js +0 -30
  285. package/dist/js/core/components/ui/card/card-header-descripton.js.map +0 -1
  286. package/dist/js/core/components/ui/card/card-header.js +0 -79
  287. package/dist/js/core/components/ui/card/card-header.js.map +0 -1
  288. package/dist/js/core/components/ui/card/card-main.js +0 -26
  289. package/dist/js/core/components/ui/card/card-main.js.map +0 -1
  290. package/dist/js/core/components/ui/card/card.js +0 -67
  291. package/dist/js/core/components/ui/card/card.js.map +0 -1
  292. package/dist/js/core/components/ui/divider/divider.js +0 -200
  293. package/dist/js/core/components/ui/divider/divider.js.map +0 -1
  294. package/dist/js/core/components/ui/form/checkbox/checkbox.js +0 -257
  295. package/dist/js/core/components/ui/form/checkbox/checkbox.js.map +0 -1
  296. package/dist/js/core/components/ui/form/css/form-control.js +0 -393
  297. package/dist/js/core/components/ui/form/css/form-control.js.map +0 -1
  298. package/dist/js/core/components/ui/form/fieldset/fieldset.js +0 -124
  299. package/dist/js/core/components/ui/form/fieldset/fieldset.js.map +0 -1
  300. package/dist/js/core/components/ui/form/fieldset/legend-description.js +0 -38
  301. package/dist/js/core/components/ui/form/fieldset/legend-description.js.map +0 -1
  302. package/dist/js/core/components/ui/form/fieldset/legend.js +0 -130
  303. package/dist/js/core/components/ui/form/fieldset/legend.js.map +0 -1
  304. package/dist/js/core/components/ui/form/form-actions/form-actions.js +0 -47
  305. package/dist/js/core/components/ui/form/form-actions/form-actions.js.map +0 -1
  306. package/dist/js/core/components/ui/form/form-layout/form-layout.js +0 -84
  307. package/dist/js/core/components/ui/form/form-layout/form-layout.js.map +0 -1
  308. package/dist/js/core/components/ui/form/input/input.js +0 -316
  309. package/dist/js/core/components/ui/form/input/input.js.map +0 -1
  310. package/dist/js/core/components/ui/form/input/password-helper.js +0 -134
  311. package/dist/js/core/components/ui/form/input/password-helper.js.map +0 -1
  312. package/dist/js/core/components/ui/form/input/same-value-helper.js +0 -85
  313. package/dist/js/core/components/ui/form/input/same-value-helper.js.map +0 -1
  314. package/dist/js/core/components/ui/form/input-autocomplete/input-autocomplete.js +0 -405
  315. package/dist/js/core/components/ui/form/input-autocomplete/input-autocomplete.js.map +0 -1
  316. package/dist/js/core/components/ui/form/radio/radio.js +0 -63
  317. package/dist/js/core/components/ui/form/radio/radio.js.map +0 -1
  318. package/dist/js/core/components/ui/form/select/select.js +0 -323
  319. package/dist/js/core/components/ui/form/select/select.js.map +0 -1
  320. package/dist/js/core/components/ui/form/switch/switch.js +0 -90
  321. package/dist/js/core/components/ui/form/switch/switch.js.map +0 -1
  322. package/dist/js/core/components/ui/form/textarea/textarea.js +0 -162
  323. package/dist/js/core/components/ui/form/textarea/textarea.js.map +0 -1
  324. package/dist/js/core/components/ui/group/group.js +0 -128
  325. package/dist/js/core/components/ui/group/group.js.map +0 -1
  326. package/dist/js/core/components/ui/icon/icon.js +0 -145
  327. package/dist/js/core/components/ui/icon/icon.js.map +0 -1
  328. package/dist/js/core/components/ui/icon/icons.js +0 -184
  329. package/dist/js/core/components/ui/icon/icons.js.map +0 -1
  330. package/dist/js/core/components/ui/icon/icons.json +0 -1
  331. package/dist/js/core/components/ui/image/image.js +0 -160
  332. package/dist/js/core/components/ui/image/image.js.map +0 -1
  333. package/dist/js/core/components/ui/link/link.js +0 -125
  334. package/dist/js/core/components/ui/link/link.js.map +0 -1
  335. package/dist/js/core/components/ui/loader/loader.js +0 -106
  336. package/dist/js/core/components/ui/loader/loader.js.map +0 -1
  337. package/dist/js/core/components/ui/loader/styles/fixed.js +0 -56
  338. package/dist/js/core/components/ui/loader/styles/fixed.js.map +0 -1
  339. package/dist/js/core/components/ui/loader/styles/inline.js +0 -70
  340. package/dist/js/core/components/ui/loader/styles/inline.js.map +0 -1
  341. package/dist/js/core/components/ui/menu/menu-item.js +0 -35
  342. package/dist/js/core/components/ui/menu/menu-item.js.map +0 -1
  343. package/dist/js/core/components/ui/menu/menu.js +0 -436
  344. package/dist/js/core/components/ui/menu/menu.js.map +0 -1
  345. package/dist/js/core/components/ui/modal/modal-actions.js +0 -44
  346. package/dist/js/core/components/ui/modal/modal-actions.js.map +0 -1
  347. package/dist/js/core/components/ui/modal/modal-close.js +0 -56
  348. package/dist/js/core/components/ui/modal/modal-close.js.map +0 -1
  349. package/dist/js/core/components/ui/modal/modal-content.js +0 -27
  350. package/dist/js/core/components/ui/modal/modal-content.js.map +0 -1
  351. package/dist/js/core/components/ui/modal/modal-subtitle.js +0 -34
  352. package/dist/js/core/components/ui/modal/modal-subtitle.js.map +0 -1
  353. package/dist/js/core/components/ui/modal/modal-title.js +0 -35
  354. package/dist/js/core/components/ui/modal/modal-title.js.map +0 -1
  355. package/dist/js/core/components/ui/modal/modal-utils.js +0 -32
  356. package/dist/js/core/components/ui/modal/modal-utils.js.map +0 -1
  357. package/dist/js/core/components/ui/modal/modal.js +0 -568
  358. package/dist/js/core/components/ui/modal/modal.js.map +0 -1
  359. package/dist/js/core/components/ui/pop/pop.js +0 -337
  360. package/dist/js/core/components/ui/pop/pop.js.map +0 -1
  361. package/dist/js/core/components/ui/progress/progress.js +0 -164
  362. package/dist/js/core/components/ui/progress/progress.js.map +0 -1
  363. package/dist/js/core/components/ui/table/table-caption.js +0 -29
  364. package/dist/js/core/components/ui/table/table-caption.js.map +0 -1
  365. package/dist/js/core/components/ui/table/table-tbody.js +0 -41
  366. package/dist/js/core/components/ui/table/table-tbody.js.map +0 -1
  367. package/dist/js/core/components/ui/table/table-td.js +0 -69
  368. package/dist/js/core/components/ui/table/table-td.js.map +0 -1
  369. package/dist/js/core/components/ui/table/table-tfoot.js +0 -28
  370. package/dist/js/core/components/ui/table/table-tfoot.js.map +0 -1
  371. package/dist/js/core/components/ui/table/table-th.js +0 -80
  372. package/dist/js/core/components/ui/table/table-th.js.map +0 -1
  373. package/dist/js/core/components/ui/table/table-thead.js +0 -26
  374. package/dist/js/core/components/ui/table/table-thead.js.map +0 -1
  375. package/dist/js/core/components/ui/table/table-tr.js +0 -67
  376. package/dist/js/core/components/ui/table/table-tr.js.map +0 -1
  377. package/dist/js/core/components/ui/table/table.js +0 -106
  378. package/dist/js/core/components/ui/table/table.js.map +0 -1
  379. package/dist/js/core/components/ui/theme/theme-collection/core-variables.js +0 -74
  380. package/dist/js/core/components/ui/theme/theme-collection/core-variables.js.map +0 -1
  381. package/dist/js/core/components/ui/theme/theme-collection/dark.js +0 -39
  382. package/dist/js/core/components/ui/theme/theme-collection/dark.js.map +0 -1
  383. package/dist/js/core/components/ui/theme/theme-collection/light.js +0 -32
  384. package/dist/js/core/components/ui/theme/theme-collection/light.js.map +0 -1
  385. package/dist/js/core/components/ui/theme/theme.js +0 -150
  386. package/dist/js/core/components/ui/theme/theme.js.map +0 -1
  387. package/dist/js/core/components/ui/toast/message-subscriber.js +0 -41
  388. package/dist/js/core/components/ui/toast/message-subscriber.js.map +0 -1
  389. package/dist/js/core/components/ui/toast/toast-item.js +0 -379
  390. package/dist/js/core/components/ui/toast/toast-item.js.map +0 -1
  391. package/dist/js/core/components/ui/toast/toast.js +0 -269
  392. package/dist/js/core/components/ui/toast/toast.js.map +0 -1
  393. package/dist/js/core/components/ui/toast/types.js +0 -2
  394. package/dist/js/core/components/ui/toast/types.js.map +0 -1
  395. package/dist/js/core/components/ui/tooltip/tooltip.js +0 -219
  396. package/dist/js/core/components/ui/tooltip/tooltip.js.map +0 -1
  397. package/dist/js/core/components/ui/ui.js +0 -41
  398. package/dist/js/core/components/ui/ui.js.map +0 -1
  399. package/dist/js/core/core.js +0 -14
  400. package/dist/js/core/core.js.map +0 -1
  401. package/dist/js/core/decorators/Subscriber.js +0 -10
  402. package/dist/js/core/decorators/Subscriber.js.map +0 -1
  403. package/dist/js/core/decorators/api.js +0 -806
  404. package/dist/js/core/decorators/api.js.map +0 -1
  405. package/dist/js/core/decorators/lifecycle.js +0 -67
  406. package/dist/js/core/decorators/lifecycle.js.map +0 -1
  407. package/dist/js/core/decorators/subscriber/ancestorAttribute.js +0 -27
  408. package/dist/js/core/decorators/subscriber/ancestorAttribute.js.map +0 -1
  409. package/dist/js/core/decorators/subscriber/autoFill.js +0 -26
  410. package/dist/js/core/decorators/subscriber/autoFill.js.map +0 -1
  411. package/dist/js/core/decorators/subscriber/autoSubscribe.js +0 -46
  412. package/dist/js/core/decorators/subscriber/autoSubscribe.js.map +0 -1
  413. package/dist/js/core/decorators/subscriber/bind.js +0 -150
  414. package/dist/js/core/decorators/subscriber/bind.js.map +0 -1
  415. package/dist/js/core/decorators/subscriber/common.js +0 -44
  416. package/dist/js/core/decorators/subscriber/common.js.map +0 -1
  417. package/dist/js/core/decorators/subscriber/derive.js +0 -60
  418. package/dist/js/core/decorators/subscriber/derive.js.map +0 -1
  419. package/dist/js/core/decorators/subscriber/dynamicPath.js +0 -75
  420. package/dist/js/core/decorators/subscriber/dynamicPath.js.map +0 -1
  421. package/dist/js/core/decorators/subscriber/dynamicPropertyWatch.js +0 -138
  422. package/dist/js/core/decorators/subscriber/dynamicPropertyWatch.js.map +0 -1
  423. package/dist/js/core/decorators/subscriber/handle.js +0 -22
  424. package/dist/js/core/decorators/subscriber/handle.js.map +0 -1
  425. package/dist/js/core/decorators/subscriber/onAssign.js +0 -199
  426. package/dist/js/core/decorators/subscriber/onAssign.js.map +0 -1
  427. package/dist/js/core/decorators/subscriber/publish.js +0 -108
  428. package/dist/js/core/decorators/subscriber/publish.js.map +0 -1
  429. package/dist/js/core/decorators/subscriber/publisherPath.js +0 -16
  430. package/dist/js/core/decorators/subscriber/publisherPath.js.map +0 -1
  431. package/dist/js/core/decorators/subscriber/subscribe.js +0 -20
  432. package/dist/js/core/decorators/subscriber/subscribe.js.map +0 -1
  433. package/dist/js/core/directives/DataProvider.js +0 -127
  434. package/dist/js/core/directives/DataProvider.js.map +0 -1
  435. package/dist/js/core/directives/Wording.js +0 -221
  436. package/dist/js/core/directives/Wording.js.map +0 -1
  437. package/dist/js/core/mixins/Fetcher.js +0 -325
  438. package/dist/js/core/mixins/Fetcher.js.map +0 -1
  439. package/dist/js/core/mixins/FormCheckable.js +0 -313
  440. package/dist/js/core/mixins/FormCheckable.js.map +0 -1
  441. package/dist/js/core/mixins/FormElement.js +0 -304
  442. package/dist/js/core/mixins/FormElement.js.map +0 -1
  443. package/dist/js/core/mixins/FormInput.js +0 -82
  444. package/dist/js/core/mixins/FormInput.js.map +0 -1
  445. package/dist/js/core/mixins/Subscriber.js +0 -354
  446. package/dist/js/core/mixins/Subscriber.js.map +0 -1
  447. package/dist/js/core/mixins/TemplatesContainer.js +0 -70
  448. package/dist/js/core/mixins/TemplatesContainer.js.map +0 -1
  449. package/dist/js/core/mixins/mixins.js +0 -7
  450. package/dist/js/core/mixins/mixins.js.map +0 -1
  451. package/dist/js/core/utils/AncestorAttributeObserver.js +0 -140
  452. package/dist/js/core/utils/AncestorAttributeObserver.js.map +0 -1
  453. package/dist/js/core/utils/Arrays.js +0 -141
  454. package/dist/js/core/utils/Arrays.js.map +0 -1
  455. package/dist/js/core/utils/DataBindObserver.js +0 -265
  456. package/dist/js/core/utils/DataBindObserver.js.map +0 -1
  457. package/dist/js/core/utils/Electron.js +0 -14
  458. package/dist/js/core/utils/Electron.js.map +0 -1
  459. package/dist/js/core/utils/Format.js +0 -43
  460. package/dist/js/core/utils/Format.js.map +0 -1
  461. package/dist/js/core/utils/HTML.js +0 -307
  462. package/dist/js/core/utils/HTML.js.map +0 -1
  463. package/dist/js/core/utils/LocationHandler.js +0 -143
  464. package/dist/js/core/utils/LocationHandler.js.map +0 -1
  465. package/dist/js/core/utils/Objects.js +0 -111
  466. package/dist/js/core/utils/Objects.js.map +0 -1
  467. package/dist/js/core/utils/PublisherProxy.js +0 -970
  468. package/dist/js/core/utils/PublisherProxy.js.map +0 -1
  469. package/dist/js/core/utils/SafariScrollGuard.js +0 -384
  470. package/dist/js/core/utils/SafariScrollGuard.js.map +0 -1
  471. package/dist/js/core/utils/Utils.js +0 -19
  472. package/dist/js/core/utils/Utils.js.map +0 -1
  473. package/dist/js/core/utils/aesCrypto.js +0 -98
  474. package/dist/js/core/utils/aesCrypto.js.map +0 -1
  475. package/dist/js/core/utils/api.js +0 -595
  476. package/dist/js/core/utils/api.js.map +0 -1
  477. package/dist/js/core/utils/dataProviderKey.js +0 -64
  478. package/dist/js/core/utils/dataProviderKey.js.map +0 -1
  479. package/dist/js/core/utils/derive.js +0 -246
  480. package/dist/js/core/utils/derive.js.map +0 -1
  481. package/dist/js/core/utils/endpoint.js +0 -74
  482. package/dist/js/core/utils/endpoint.js.map +0 -1
  483. package/dist/js/core/utils/jsonataHelpers.js +0 -84
  484. package/dist/js/core/utils/jsonataHelpers.js.map +0 -1
  485. package/dist/js/core/utils/jsonataRuntime.js +0 -75
  486. package/dist/js/core/utils/jsonataRuntime.js.map +0 -1
  487. package/dist/js/core/utils/mediaRef.js +0 -169
  488. package/dist/js/core/utils/mediaRef.js.map +0 -1
  489. package/dist/js/core/utils/route.js +0 -149
  490. package/dist/js/core/utils/route.js.map +0 -1
  491. package/dist/js/core/utils/similarity.js +0 -44
  492. package/dist/js/core/utils/similarity.js.map +0 -1
  493. package/dist/js/core/utils/url-pattern.js +0 -3
  494. package/dist/js/core/utils/url-pattern.js.map +0 -1
  495. package/dist/js/dataprovider.js +0 -2
  496. package/dist/js/dataprovider.js.map +0 -1
  497. package/dist/js/decorators.js +0 -43
  498. package/dist/js/decorators.js.map +0 -1
  499. package/dist/js/directives.js +0 -30
  500. package/dist/js/directives.js.map +0 -1
  501. package/dist/js/index.js +0 -8
  502. package/dist/js/index.js.map +0 -1
  503. package/dist/js/mixins.js +0 -23
  504. package/dist/js/mixins.js.map +0 -1
  505. package/dist/js/test-utils/TestUtils.js +0 -10
  506. package/dist/js/test-utils/TestUtils.js.map +0 -1
  507. package/dist/js/utils.js +0 -46
  508. package/dist/js/utils.js.map +0 -1
  509. package/dist/types/addons/3d.d.ts +0 -6
  510. package/dist/types/addons/3d.d.ts.map +0 -1
  511. package/dist/types/addons/hugging-face-infer.d.ts +0 -8
  512. package/dist/types/addons/hugging-face-infer.d.ts.map +0 -1
  513. package/dist/types/addons/shader.d.ts +0 -6
  514. package/dist/types/addons/shader.d.ts.map +0 -1
  515. package/dist/types/addons/webgpu.d.ts +0 -7
  516. package/dist/types/addons/webgpu.d.ts.map +0 -1
  517. package/dist/types/components.d.ts +0 -5
  518. package/dist/types/components.d.ts.map +0 -1
  519. package/dist/types/concorde-loaded.d.ts +0 -2
  520. package/dist/types/concorde-loaded.d.ts.map +0 -1
  521. package/dist/types/core/_types/endpoint.d.ts +0 -5
  522. package/dist/types/core/_types/endpoint.d.ts.map +0 -1
  523. package/dist/types/core/_types/key.d.ts +0 -2
  524. package/dist/types/core/_types/key.d.ts.map +0 -1
  525. package/dist/types/core/_types/types.d.ts +0 -28
  526. package/dist/types/core/_types/types.d.ts.map +0 -1
  527. package/dist/types/core/components/functional/3d/3d.d.ts +0 -71
  528. package/dist/types/core/components/functional/3d/3d.d.ts.map +0 -1
  529. package/dist/types/core/components/functional/3d/asset.d.ts +0 -12
  530. package/dist/types/core/components/functional/3d/asset.d.ts.map +0 -1
  531. package/dist/types/core/components/functional/3d/boot.d.ts +0 -23
  532. package/dist/types/core/components/functional/3d/boot.d.ts.map +0 -1
  533. package/dist/types/core/components/functional/3d/constants.d.ts +0 -43
  534. package/dist/types/core/components/functional/3d/constants.d.ts.map +0 -1
  535. package/dist/types/core/components/functional/3d/demo-content.d.ts +0 -10
  536. package/dist/types/core/components/functional/3d/demo-content.d.ts.map +0 -1
  537. package/dist/types/core/components/functional/3d/ensure.d.ts +0 -36
  538. package/dist/types/core/components/functional/3d/ensure.d.ts.map +0 -1
  539. package/dist/types/core/components/functional/3d/form-bind.d.ts +0 -20
  540. package/dist/types/core/components/functional/3d/form-bind.d.ts.map +0 -1
  541. package/dist/types/core/components/functional/3d/form-fields.d.ts +0 -14
  542. package/dist/types/core/components/functional/3d/form-fields.d.ts.map +0 -1
  543. package/dist/types/core/components/functional/3d/form-params.d.ts +0 -37
  544. package/dist/types/core/components/functional/3d/form-params.d.ts.map +0 -1
  545. package/dist/types/core/components/functional/3d/frame-capture.d.ts +0 -33
  546. package/dist/types/core/components/functional/3d/frame-capture.d.ts.map +0 -1
  547. package/dist/types/core/components/functional/3d/frame-source.d.ts +0 -23
  548. package/dist/types/core/components/functional/3d/frame-source.d.ts.map +0 -1
  549. package/dist/types/core/components/functional/3d/gl.d.ts +0 -4
  550. package/dist/types/core/components/functional/3d/gl.d.ts.map +0 -1
  551. package/dist/types/core/components/functional/3d/life.d.ts +0 -41
  552. package/dist/types/core/components/functional/3d/life.d.ts.map +0 -1
  553. package/dist/types/core/components/functional/3d/load.d.ts +0 -36
  554. package/dist/types/core/components/functional/3d/load.d.ts.map +0 -1
  555. package/dist/types/core/components/functional/3d/ops.d.ts +0 -48
  556. package/dist/types/core/components/functional/3d/ops.d.ts.map +0 -1
  557. package/dist/types/core/components/functional/3d/opts.d.ts +0 -16
  558. package/dist/types/core/components/functional/3d/opts.d.ts.map +0 -1
  559. package/dist/types/core/components/functional/3d/orbit.d.ts +0 -55
  560. package/dist/types/core/components/functional/3d/orbit.d.ts.map +0 -1
  561. package/dist/types/core/components/functional/3d/out-publish.d.ts +0 -47
  562. package/dist/types/core/components/functional/3d/out-publish.d.ts.map +0 -1
  563. package/dist/types/core/components/functional/3d/parse.d.ts +0 -23
  564. package/dist/types/core/components/functional/3d/parse.d.ts.map +0 -1
  565. package/dist/types/core/components/functional/3d/pick.d.ts +0 -32
  566. package/dist/types/core/components/functional/3d/pick.d.ts.map +0 -1
  567. package/dist/types/core/components/functional/3d/playback.d.ts +0 -26
  568. package/dist/types/core/components/functional/3d/playback.d.ts.map +0 -1
  569. package/dist/types/core/components/functional/3d/pointer.d.ts +0 -27
  570. package/dist/types/core/components/functional/3d/pointer.d.ts.map +0 -1
  571. package/dist/types/core/components/functional/3d/props.d.ts +0 -30
  572. package/dist/types/core/components/functional/3d/props.d.ts.map +0 -1
  573. package/dist/types/core/components/functional/3d/publisher-listen.d.ts +0 -8
  574. package/dist/types/core/components/functional/3d/publisher-listen.d.ts.map +0 -1
  575. package/dist/types/core/components/functional/3d/reload.d.ts +0 -38
  576. package/dist/types/core/components/functional/3d/reload.d.ts.map +0 -1
  577. package/dist/types/core/components/functional/3d/runtime.d.ts +0 -75
  578. package/dist/types/core/components/functional/3d/runtime.d.ts.map +0 -1
  579. package/dist/types/core/components/functional/3d/scene-runtime.d.ts +0 -6
  580. package/dist/types/core/components/functional/3d/scene-runtime.d.ts.map +0 -1
  581. package/dist/types/core/components/functional/3d/snapshot.d.ts +0 -29
  582. package/dist/types/core/components/functional/3d/snapshot.d.ts.map +0 -1
  583. package/dist/types/core/components/functional/3d/styles.d.ts +0 -2
  584. package/dist/types/core/components/functional/3d/styles.d.ts.map +0 -1
  585. package/dist/types/core/components/functional/3d/tune.d.ts +0 -32
  586. package/dist/types/core/components/functional/3d/tune.d.ts.map +0 -1
  587. package/dist/types/core/components/functional/3d/types.d.ts +0 -140
  588. package/dist/types/core/components/functional/3d/types.d.ts.map +0 -1
  589. package/dist/types/core/components/functional/3d/updated.d.ts +0 -7
  590. package/dist/types/core/components/functional/3d/updated.d.ts.map +0 -1
  591. package/dist/types/core/components/functional/3d/view.d.ts +0 -25
  592. package/dist/types/core/components/functional/3d/view.d.ts.map +0 -1
  593. package/dist/types/core/components/functional/3d/wire.d.ts +0 -32
  594. package/dist/types/core/components/functional/3d/wire.d.ts.map +0 -1
  595. package/dist/types/core/components/functional/date/date.d.ts +0 -52
  596. package/dist/types/core/components/functional/date/date.d.ts.map +0 -1
  597. package/dist/types/core/components/functional/example/example.d.ts +0 -15
  598. package/dist/types/core/components/functional/example/example.d.ts.map +0 -1
  599. package/dist/types/core/components/functional/fetch/fetch.d.ts +0 -102
  600. package/dist/types/core/components/functional/fetch/fetch.d.ts.map +0 -1
  601. package/dist/types/core/components/functional/functional.d.ts +0 -18
  602. package/dist/types/core/components/functional/functional.d.ts.map +0 -1
  603. package/dist/types/core/components/functional/if/if.d.ts +0 -13
  604. package/dist/types/core/components/functional/if/if.d.ts.map +0 -1
  605. package/dist/types/core/components/functional/infer/hugging-face/hf-cache.d.ts +0 -21
  606. package/dist/types/core/components/functional/infer/hugging-face/hf-cache.d.ts.map +0 -1
  607. package/dist/types/core/components/functional/infer/hugging-face/hf-config.d.ts +0 -133
  608. package/dist/types/core/components/functional/infer/hugging-face/hf-config.d.ts.map +0 -1
  609. package/dist/types/core/components/functional/infer/hugging-face/hf-controller.d.ts +0 -79
  610. package/dist/types/core/components/functional/infer/hugging-face/hf-controller.d.ts.map +0 -1
  611. package/dist/types/core/components/functional/infer/hugging-face/hf-engine.d.ts +0 -43
  612. package/dist/types/core/components/functional/infer/hugging-face/hf-engine.d.ts.map +0 -1
  613. package/dist/types/core/components/functional/infer/hugging-face/hf-input.d.ts +0 -47
  614. package/dist/types/core/components/functional/infer/hugging-face/hf-input.d.ts.map +0 -1
  615. package/dist/types/core/components/functional/infer/hugging-face/hf-protocol.d.ts +0 -95
  616. package/dist/types/core/components/functional/infer/hugging-face/hf-protocol.d.ts.map +0 -1
  617. package/dist/types/core/components/functional/infer/hugging-face/hf-registry.d.ts +0 -77
  618. package/dist/types/core/components/functional/infer/hugging-face/hf-registry.d.ts.map +0 -1
  619. package/dist/types/core/components/functional/infer/hugging-face/hf-schema.d.ts +0 -1251
  620. package/dist/types/core/components/functional/infer/hugging-face/hf-schema.d.ts.map +0 -1
  621. package/dist/types/core/components/functional/infer/hugging-face/hf-worker-runtime.d.ts +0 -56
  622. package/dist/types/core/components/functional/infer/hugging-face/hf-worker-runtime.d.ts.map +0 -1
  623. package/dist/types/core/components/functional/infer/hugging-face/hugging-face-infer.d.ts +0 -67
  624. package/dist/types/core/components/functional/infer/hugging-face/hugging-face-infer.d.ts.map +0 -1
  625. package/dist/types/core/components/functional/infer/hugging-face/hugging-face.d.ts +0 -116
  626. package/dist/types/core/components/functional/infer/hugging-face/hugging-face.d.ts.map +0 -1
  627. package/dist/types/core/components/functional/infer/hugging-face/types.d.ts +0 -167
  628. package/dist/types/core/components/functional/infer/hugging-face/types.d.ts.map +0 -1
  629. package/dist/types/core/components/functional/jsonata/jsonata.d.ts +0 -29
  630. package/dist/types/core/components/functional/jsonata/jsonata.d.ts.map +0 -1
  631. package/dist/types/core/components/functional/list/list.d.ts +0 -149
  632. package/dist/types/core/components/functional/list/list.d.ts.map +0 -1
  633. package/dist/types/core/components/functional/mix/mix.d.ts +0 -23
  634. package/dist/types/core/components/functional/mix/mix.d.ts.map +0 -1
  635. package/dist/types/core/components/functional/queue/queue.d.ts +0 -93
  636. package/dist/types/core/components/functional/queue/queue.d.ts.map +0 -1
  637. package/dist/types/core/components/functional/router/redirect.d.ts +0 -19
  638. package/dist/types/core/components/functional/router/redirect.d.ts.map +0 -1
  639. package/dist/types/core/components/functional/router/router.d.ts +0 -46
  640. package/dist/types/core/components/functional/router/router.d.ts.map +0 -1
  641. package/dist/types/core/components/functional/sdui/SDUIDescriptorTransformer.d.ts +0 -59
  642. package/dist/types/core/components/functional/sdui/SDUIDescriptorTransformer.d.ts.map +0 -1
  643. package/dist/types/core/components/functional/sdui/sdui-utils.d.ts +0 -6
  644. package/dist/types/core/components/functional/sdui/sdui-utils.d.ts.map +0 -1
  645. package/dist/types/core/components/functional/sdui/sdui.d.ts +0 -148
  646. package/dist/types/core/components/functional/sdui/sdui.d.ts.map +0 -1
  647. package/dist/types/core/components/functional/sdui/types.d.ts +0 -38
  648. package/dist/types/core/components/functional/sdui/types.d.ts.map +0 -1
  649. package/dist/types/core/components/functional/shader/gl-runtime.d.ts +0 -90
  650. package/dist/types/core/components/functional/shader/gl-runtime.d.ts.map +0 -1
  651. package/dist/types/core/components/functional/shader/shader.d.ts +0 -285
  652. package/dist/types/core/components/functional/shader/shader.d.ts.map +0 -1
  653. package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts +0 -6
  654. package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts.map +0 -1
  655. package/dist/types/core/components/functional/shader/types.d.ts +0 -262
  656. package/dist/types/core/components/functional/shader/types.d.ts.map +0 -1
  657. package/dist/types/core/components/functional/sonic-scope/sonic-scope.d.ts +0 -6
  658. package/dist/types/core/components/functional/sonic-scope/sonic-scope.d.ts.map +0 -1
  659. package/dist/types/core/components/functional/states/states.d.ts +0 -42
  660. package/dist/types/core/components/functional/states/states.d.ts.map +0 -1
  661. package/dist/types/core/components/functional/submit/submit.d.ts +0 -37
  662. package/dist/types/core/components/functional/submit/submit.d.ts.map +0 -1
  663. package/dist/types/core/components/functional/subscriber/subscriber.d.ts +0 -13
  664. package/dist/types/core/components/functional/subscriber/subscriber.d.ts.map +0 -1
  665. package/dist/types/core/components/functional/translation/translation.d.ts +0 -7
  666. package/dist/types/core/components/functional/translation/translation.d.ts.map +0 -1
  667. package/dist/types/core/components/functional/value/value.d.ts +0 -8
  668. package/dist/types/core/components/functional/value/value.d.ts.map +0 -1
  669. package/dist/types/core/components/functional/webgpu/canvas2d-fallback.d.ts +0 -29
  670. package/dist/types/core/components/functional/webgpu/canvas2d-fallback.d.ts.map +0 -1
  671. package/dist/types/core/components/functional/webgpu/form-bind.d.ts +0 -43
  672. package/dist/types/core/components/functional/webgpu/form-bind.d.ts.map +0 -1
  673. package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts +0 -31
  674. package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts.map +0 -1
  675. package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts +0 -53
  676. package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts.map +0 -1
  677. package/dist/types/core/components/functional/webgpu/helpers.d.ts +0 -9
  678. package/dist/types/core/components/functional/webgpu/helpers.d.ts.map +0 -1
  679. package/dist/types/core/components/functional/webgpu/out-frame.d.ts +0 -29
  680. package/dist/types/core/components/functional/webgpu/out-frame.d.ts.map +0 -1
  681. package/dist/types/core/components/functional/webgpu/particles-runtime.d.ts +0 -37
  682. package/dist/types/core/components/functional/webgpu/particles-runtime.d.ts.map +0 -1
  683. package/dist/types/core/components/functional/webgpu/pointer.d.ts +0 -41
  684. package/dist/types/core/components/functional/webgpu/pointer.d.ts.map +0 -1
  685. package/dist/types/core/components/functional/webgpu/types.d.ts +0 -75
  686. package/dist/types/core/components/functional/webgpu/types.d.ts.map +0 -1
  687. package/dist/types/core/components/functional/webgpu/webgpu.d.ts +0 -127
  688. package/dist/types/core/components/functional/webgpu/webgpu.d.ts.map +0 -1
  689. package/dist/types/core/components/functional/webgpu/wgsl-prelude.d.ts +0 -8
  690. package/dist/types/core/components/functional/webgpu/wgsl-prelude.d.ts.map +0 -1
  691. package/dist/types/core/components/ui/_css/scroll.d.ts +0 -2
  692. package/dist/types/core/components/ui/_css/scroll.d.ts.map +0 -1
  693. package/dist/types/core/components/ui/_css/shadow.d.ts +0 -3
  694. package/dist/types/core/components/ui/_css/shadow.d.ts.map +0 -1
  695. package/dist/types/core/components/ui/_css/size.d.ts +0 -3
  696. package/dist/types/core/components/ui/_css/size.d.ts.map +0 -1
  697. package/dist/types/core/components/ui/_css/type.d.ts +0 -3
  698. package/dist/types/core/components/ui/_css/type.d.ts.map +0 -1
  699. package/dist/types/core/components/ui/alert/alert.d.ts +0 -37
  700. package/dist/types/core/components/ui/alert/alert.d.ts.map +0 -1
  701. package/dist/types/core/components/ui/alert-messages/alert-messages.d.ts +0 -15
  702. package/dist/types/core/components/ui/alert-messages/alert-messages.d.ts.map +0 -1
  703. package/dist/types/core/components/ui/badge/badge.d.ts +0 -27
  704. package/dist/types/core/components/ui/badge/badge.d.ts.map +0 -1
  705. package/dist/types/core/components/ui/button/button.d.ts +0 -180
  706. package/dist/types/core/components/ui/button/button.d.ts.map +0 -1
  707. package/dist/types/core/components/ui/captcha/altchaStyles.d.ts +0 -2
  708. package/dist/types/core/components/ui/captcha/altchaStyles.d.ts.map +0 -1
  709. package/dist/types/core/components/ui/captcha/captcha.d.ts +0 -30
  710. package/dist/types/core/components/ui/captcha/captcha.d.ts.map +0 -1
  711. package/dist/types/core/components/ui/card/card-footer.d.ts +0 -6
  712. package/dist/types/core/components/ui/card/card-footer.d.ts.map +0 -1
  713. package/dist/types/core/components/ui/card/card-header-descripton.d.ts +0 -6
  714. package/dist/types/core/components/ui/card/card-header-descripton.d.ts.map +0 -1
  715. package/dist/types/core/components/ui/card/card-header.d.ts +0 -9
  716. package/dist/types/core/components/ui/card/card-header.d.ts.map +0 -1
  717. package/dist/types/core/components/ui/card/card-main.d.ts +0 -6
  718. package/dist/types/core/components/ui/card/card-main.d.ts.map +0 -1
  719. package/dist/types/core/components/ui/card/card.d.ts +0 -13
  720. package/dist/types/core/components/ui/card/card.d.ts.map +0 -1
  721. package/dist/types/core/components/ui/divider/divider.d.ts +0 -16
  722. package/dist/types/core/components/ui/divider/divider.d.ts.map +0 -1
  723. package/dist/types/core/components/ui/form/checkbox/checkbox.d.ts +0 -176
  724. package/dist/types/core/components/ui/form/checkbox/checkbox.d.ts.map +0 -1
  725. package/dist/types/core/components/ui/form/css/form-control.d.ts +0 -5
  726. package/dist/types/core/components/ui/form/css/form-control.d.ts.map +0 -1
  727. package/dist/types/core/components/ui/form/fieldset/fieldset.d.ts +0 -24
  728. package/dist/types/core/components/ui/form/fieldset/fieldset.d.ts.map +0 -1
  729. package/dist/types/core/components/ui/form/fieldset/legend-description.d.ts +0 -6
  730. package/dist/types/core/components/ui/form/fieldset/legend-description.d.ts.map +0 -1
  731. package/dist/types/core/components/ui/form/fieldset/legend.d.ts +0 -17
  732. package/dist/types/core/components/ui/form/fieldset/legend.d.ts.map +0 -1
  733. package/dist/types/core/components/ui/form/form-actions/form-actions.d.ts +0 -8
  734. package/dist/types/core/components/ui/form/form-actions/form-actions.d.ts.map +0 -1
  735. package/dist/types/core/components/ui/form/form-layout/form-layout.d.ts +0 -13
  736. package/dist/types/core/components/ui/form/form-layout/form-layout.d.ts.map +0 -1
  737. package/dist/types/core/components/ui/form/input/input.d.ts +0 -123
  738. package/dist/types/core/components/ui/form/input/input.d.ts.map +0 -1
  739. package/dist/types/core/components/ui/form/input/password-helper.d.ts +0 -26
  740. package/dist/types/core/components/ui/form/input/password-helper.d.ts.map +0 -1
  741. package/dist/types/core/components/ui/form/input/same-value-helper.d.ts +0 -17
  742. package/dist/types/core/components/ui/form/input/same-value-helper.d.ts.map +0 -1
  743. package/dist/types/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts +0 -155
  744. package/dist/types/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts.map +0 -1
  745. package/dist/types/core/components/ui/form/radio/radio.d.ts +0 -15
  746. package/dist/types/core/components/ui/form/radio/radio.d.ts.map +0 -1
  747. package/dist/types/core/components/ui/form/select/select.d.ts +0 -59
  748. package/dist/types/core/components/ui/form/select/select.d.ts.map +0 -1
  749. package/dist/types/core/components/ui/form/switch/switch.d.ts +0 -6
  750. package/dist/types/core/components/ui/form/switch/switch.d.ts.map +0 -1
  751. package/dist/types/core/components/ui/form/textarea/textarea.d.ts +0 -94
  752. package/dist/types/core/components/ui/form/textarea/textarea.d.ts.map +0 -1
  753. package/dist/types/core/components/ui/group/group.d.ts +0 -17
  754. package/dist/types/core/components/ui/group/group.d.ts.map +0 -1
  755. package/dist/types/core/components/ui/icon/icon.d.ts +0 -30
  756. package/dist/types/core/components/ui/icon/icon.d.ts.map +0 -1
  757. package/dist/types/core/components/ui/icon/icons.d.ts +0 -13
  758. package/dist/types/core/components/ui/icon/icons.d.ts.map +0 -1
  759. package/dist/types/core/components/ui/image/image.d.ts +0 -16
  760. package/dist/types/core/components/ui/image/image.d.ts.map +0 -1
  761. package/dist/types/core/components/ui/link/link.d.ts +0 -30
  762. package/dist/types/core/components/ui/link/link.d.ts.map +0 -1
  763. package/dist/types/core/components/ui/loader/loader.d.ts +0 -24
  764. package/dist/types/core/components/ui/loader/loader.d.ts.map +0 -1
  765. package/dist/types/core/components/ui/loader/styles/fixed.d.ts +0 -2
  766. package/dist/types/core/components/ui/loader/styles/fixed.d.ts.map +0 -1
  767. package/dist/types/core/components/ui/loader/styles/inline.d.ts +0 -2
  768. package/dist/types/core/components/ui/loader/styles/inline.d.ts.map +0 -1
  769. package/dist/types/core/components/ui/menu/menu-item.d.ts +0 -6
  770. package/dist/types/core/components/ui/menu/menu-item.d.ts.map +0 -1
  771. package/dist/types/core/components/ui/menu/menu.d.ts +0 -52
  772. package/dist/types/core/components/ui/menu/menu.d.ts.map +0 -1
  773. package/dist/types/core/components/ui/modal/modal-actions.d.ts +0 -9
  774. package/dist/types/core/components/ui/modal/modal-actions.d.ts.map +0 -1
  775. package/dist/types/core/components/ui/modal/modal-close.d.ts +0 -11
  776. package/dist/types/core/components/ui/modal/modal-close.d.ts.map +0 -1
  777. package/dist/types/core/components/ui/modal/modal-content.d.ts +0 -6
  778. package/dist/types/core/components/ui/modal/modal-content.d.ts.map +0 -1
  779. package/dist/types/core/components/ui/modal/modal-subtitle.d.ts +0 -6
  780. package/dist/types/core/components/ui/modal/modal-subtitle.d.ts.map +0 -1
  781. package/dist/types/core/components/ui/modal/modal-title.d.ts +0 -6
  782. package/dist/types/core/components/ui/modal/modal-title.d.ts.map +0 -1
  783. package/dist/types/core/components/ui/modal/modal-utils.d.ts +0 -4
  784. package/dist/types/core/components/ui/modal/modal-utils.d.ts.map +0 -1
  785. package/dist/types/core/components/ui/modal/modal.d.ts +0 -79
  786. package/dist/types/core/components/ui/modal/modal.d.ts.map +0 -1
  787. package/dist/types/core/components/ui/pop/pop.d.ts +0 -42
  788. package/dist/types/core/components/ui/pop/pop.d.ts.map +0 -1
  789. package/dist/types/core/components/ui/progress/progress.d.ts +0 -12
  790. package/dist/types/core/components/ui/progress/progress.d.ts.map +0 -1
  791. package/dist/types/core/components/ui/table/table-caption.d.ts +0 -6
  792. package/dist/types/core/components/ui/table/table-caption.d.ts.map +0 -1
  793. package/dist/types/core/components/ui/table/table-tbody.d.ts +0 -6
  794. package/dist/types/core/components/ui/table/table-tbody.d.ts.map +0 -1
  795. package/dist/types/core/components/ui/table/table-td.d.ts +0 -13
  796. package/dist/types/core/components/ui/table/table-td.d.ts.map +0 -1
  797. package/dist/types/core/components/ui/table/table-tfoot.d.ts +0 -6
  798. package/dist/types/core/components/ui/table/table-tfoot.d.ts.map +0 -1
  799. package/dist/types/core/components/ui/table/table-th.d.ts +0 -12
  800. package/dist/types/core/components/ui/table/table-th.d.ts.map +0 -1
  801. package/dist/types/core/components/ui/table/table-thead.d.ts +0 -6
  802. package/dist/types/core/components/ui/table/table-thead.d.ts.map +0 -1
  803. package/dist/types/core/components/ui/table/table-tr.d.ts +0 -14
  804. package/dist/types/core/components/ui/table/table-tr.d.ts.map +0 -1
  805. package/dist/types/core/components/ui/table/table.d.ts +0 -18
  806. package/dist/types/core/components/ui/table/table.d.ts.map +0 -1
  807. package/dist/types/core/components/ui/theme/theme-collection/core-variables.d.ts +0 -2
  808. package/dist/types/core/components/ui/theme/theme-collection/core-variables.d.ts.map +0 -1
  809. package/dist/types/core/components/ui/theme/theme-collection/dark.d.ts +0 -2
  810. package/dist/types/core/components/ui/theme/theme-collection/dark.d.ts.map +0 -1
  811. package/dist/types/core/components/ui/theme/theme-collection/light.d.ts +0 -2
  812. package/dist/types/core/components/ui/theme/theme-collection/light.d.ts.map +0 -1
  813. package/dist/types/core/components/ui/theme/theme.d.ts +0 -20
  814. package/dist/types/core/components/ui/theme/theme.d.ts.map +0 -1
  815. package/dist/types/core/components/ui/toast/message-subscriber.d.ts +0 -19
  816. package/dist/types/core/components/ui/toast/message-subscriber.d.ts.map +0 -1
  817. package/dist/types/core/components/ui/toast/toast-item.d.ts +0 -41
  818. package/dist/types/core/components/ui/toast/toast-item.d.ts.map +0 -1
  819. package/dist/types/core/components/ui/toast/toast.d.ts +0 -28
  820. package/dist/types/core/components/ui/toast/toast.d.ts.map +0 -1
  821. package/dist/types/core/components/ui/toast/types.d.ts +0 -12
  822. package/dist/types/core/components/ui/toast/types.d.ts.map +0 -1
  823. package/dist/types/core/components/ui/tooltip/tooltip.d.ts +0 -21
  824. package/dist/types/core/components/ui/tooltip/tooltip.d.ts.map +0 -1
  825. package/dist/types/core/components/ui/ui.d.ts +0 -35
  826. package/dist/types/core/components/ui/ui.d.ts.map +0 -1
  827. package/dist/types/core/core.d.ts +0 -5
  828. package/dist/types/core/core.d.ts.map +0 -1
  829. package/dist/types/core/decorators/Subscriber.d.ts +0 -13
  830. package/dist/types/core/decorators/Subscriber.d.ts.map +0 -1
  831. package/dist/types/core/decorators/api.d.ts +0 -155
  832. package/dist/types/core/decorators/api.d.ts.map +0 -1
  833. package/dist/types/core/decorators/lifecycle.d.ts +0 -19
  834. package/dist/types/core/decorators/lifecycle.d.ts.map +0 -1
  835. package/dist/types/core/decorators/subscriber/ancestorAttribute.d.ts +0 -11
  836. package/dist/types/core/decorators/subscriber/ancestorAttribute.d.ts.map +0 -1
  837. package/dist/types/core/decorators/subscriber/autoFill.d.ts +0 -2
  838. package/dist/types/core/decorators/subscriber/autoFill.d.ts.map +0 -1
  839. package/dist/types/core/decorators/subscriber/autoSubscribe.d.ts +0 -2
  840. package/dist/types/core/decorators/subscriber/autoSubscribe.d.ts.map +0 -1
  841. package/dist/types/core/decorators/subscriber/bind.d.ts +0 -28
  842. package/dist/types/core/decorators/subscriber/bind.d.ts.map +0 -1
  843. package/dist/types/core/decorators/subscriber/common.d.ts +0 -14
  844. package/dist/types/core/decorators/subscriber/common.d.ts.map +0 -1
  845. package/dist/types/core/decorators/subscriber/derive.d.ts +0 -30
  846. package/dist/types/core/decorators/subscriber/derive.d.ts.map +0 -1
  847. package/dist/types/core/decorators/subscriber/dynamicPath.d.ts +0 -23
  848. package/dist/types/core/decorators/subscriber/dynamicPath.d.ts.map +0 -1
  849. package/dist/types/core/decorators/subscriber/dynamicPropertyWatch.d.ts +0 -42
  850. package/dist/types/core/decorators/subscriber/dynamicPropertyWatch.d.ts.map +0 -1
  851. package/dist/types/core/decorators/subscriber/handle.d.ts +0 -74
  852. package/dist/types/core/decorators/subscriber/handle.d.ts.map +0 -1
  853. package/dist/types/core/decorators/subscriber/onAssign.d.ts +0 -53
  854. package/dist/types/core/decorators/subscriber/onAssign.d.ts.map +0 -1
  855. package/dist/types/core/decorators/subscriber/publish.d.ts +0 -23
  856. package/dist/types/core/decorators/subscriber/publish.d.ts.map +0 -1
  857. package/dist/types/core/decorators/subscriber/publisherPath.d.ts +0 -3
  858. package/dist/types/core/decorators/subscriber/publisherPath.d.ts.map +0 -1
  859. package/dist/types/core/decorators/subscriber/subscribe.d.ts +0 -20
  860. package/dist/types/core/decorators/subscriber/subscribe.d.ts.map +0 -1
  861. package/dist/types/core/directives/DataProvider.d.ts +0 -45
  862. package/dist/types/core/directives/DataProvider.d.ts.map +0 -1
  863. package/dist/types/core/directives/Wording.d.ts +0 -44
  864. package/dist/types/core/directives/Wording.d.ts.map +0 -1
  865. package/dist/types/core/mixins/Fetcher.d.ts +0 -108
  866. package/dist/types/core/mixins/Fetcher.d.ts.map +0 -1
  867. package/dist/types/core/mixins/FormCheckable.d.ts +0 -95
  868. package/dist/types/core/mixins/FormCheckable.d.ts.map +0 -1
  869. package/dist/types/core/mixins/FormElement.d.ts +0 -37
  870. package/dist/types/core/mixins/FormElement.d.ts.map +0 -1
  871. package/dist/types/core/mixins/FormInput.d.ts +0 -79
  872. package/dist/types/core/mixins/FormInput.d.ts.map +0 -1
  873. package/dist/types/core/mixins/Subscriber.d.ts +0 -38
  874. package/dist/types/core/mixins/Subscriber.d.ts.map +0 -1
  875. package/dist/types/core/mixins/TemplatesContainer.d.ts +0 -14
  876. package/dist/types/core/mixins/TemplatesContainer.d.ts.map +0 -1
  877. package/dist/types/core/mixins/mixins.d.ts +0 -7
  878. package/dist/types/core/mixins/mixins.d.ts.map +0 -1
  879. package/dist/types/core/utils/AncestorAttributeObserver.d.ts +0 -38
  880. package/dist/types/core/utils/AncestorAttributeObserver.d.ts.map +0 -1
  881. package/dist/types/core/utils/Arrays.d.ts +0 -98
  882. package/dist/types/core/utils/Arrays.d.ts.map +0 -1
  883. package/dist/types/core/utils/DataBindObserver.d.ts +0 -84
  884. package/dist/types/core/utils/DataBindObserver.d.ts.map +0 -1
  885. package/dist/types/core/utils/Electron.d.ts +0 -8
  886. package/dist/types/core/utils/Electron.d.ts.map +0 -1
  887. package/dist/types/core/utils/Format.d.ts +0 -13
  888. package/dist/types/core/utils/Format.d.ts.map +0 -1
  889. package/dist/types/core/utils/HTML.d.ts +0 -59
  890. package/dist/types/core/utils/HTML.d.ts.map +0 -1
  891. package/dist/types/core/utils/LocationHandler.d.ts +0 -48
  892. package/dist/types/core/utils/LocationHandler.d.ts.map +0 -1
  893. package/dist/types/core/utils/Objects.d.ts +0 -31
  894. package/dist/types/core/utils/Objects.d.ts.map +0 -1
  895. package/dist/types/core/utils/PublisherProxy.d.ts +0 -230
  896. package/dist/types/core/utils/PublisherProxy.d.ts.map +0 -1
  897. package/dist/types/core/utils/SafariScrollGuard.d.ts +0 -36
  898. package/dist/types/core/utils/SafariScrollGuard.d.ts.map +0 -1
  899. package/dist/types/core/utils/Utils.d.ts +0 -6
  900. package/dist/types/core/utils/Utils.d.ts.map +0 -1
  901. package/dist/types/core/utils/aesCrypto.d.ts +0 -53
  902. package/dist/types/core/utils/aesCrypto.d.ts.map +0 -1
  903. package/dist/types/core/utils/api.d.ts +0 -173
  904. package/dist/types/core/utils/api.d.ts.map +0 -1
  905. package/dist/types/core/utils/dataProviderKey.d.ts +0 -56
  906. package/dist/types/core/utils/dataProviderKey.d.ts.map +0 -1
  907. package/dist/types/core/utils/derive.d.ts +0 -40
  908. package/dist/types/core/utils/derive.d.ts.map +0 -1
  909. package/dist/types/core/utils/endpoint.d.ts +0 -37
  910. package/dist/types/core/utils/endpoint.d.ts.map +0 -1
  911. package/dist/types/core/utils/jsonataHelpers.d.ts +0 -15
  912. package/dist/types/core/utils/jsonataHelpers.d.ts.map +0 -1
  913. package/dist/types/core/utils/jsonataRuntime.d.ts +0 -13
  914. package/dist/types/core/utils/jsonataRuntime.d.ts.map +0 -1
  915. package/dist/types/core/utils/mediaRef.d.ts +0 -53
  916. package/dist/types/core/utils/mediaRef.d.ts.map +0 -1
  917. package/dist/types/core/utils/route.d.ts +0 -41
  918. package/dist/types/core/utils/route.d.ts.map +0 -1
  919. package/dist/types/core/utils/similarity.d.ts +0 -15
  920. package/dist/types/core/utils/similarity.d.ts.map +0 -1
  921. package/dist/types/core/utils/url-pattern.d.ts +0 -3
  922. package/dist/types/core/utils/url-pattern.d.ts.map +0 -1
  923. package/dist/types/dataprovider.d.ts +0 -2
  924. package/dist/types/dataprovider.d.ts.map +0 -1
  925. package/dist/types/decorators.d.ts +0 -30
  926. package/dist/types/decorators.d.ts.map +0 -1
  927. package/dist/types/directives.d.ts +0 -21
  928. package/dist/types/directives.d.ts.map +0 -1
  929. package/dist/types/index.d.ts +0 -8
  930. package/dist/types/index.d.ts.map +0 -1
  931. package/dist/types/mixins.d.ts +0 -204
  932. package/dist/types/mixins.d.ts.map +0 -1
  933. package/dist/types/test-utils/TestUtils.d.ts +0 -4
  934. package/dist/types/test-utils/TestUtils.d.ts.map +0 -1
  935. package/dist/types/utils.d.ts +0 -20
  936. package/dist/types/utils.d.ts.map +0 -1
  937. package/public/docs/hf-samples/beach.jpg +0 -0
  938. package/public/docs/hf-samples/cats.jpg +0 -0
  939. package/public/docs/hf-samples/corgi.jpg +0 -0
  940. package/public/docs/hf-samples/portrait.jpg +0 -0
  941. package/public/docs/hf-samples/scene.jpg +0 -0
  942. package/public/docs/hf-samples/singer.jpg +0 -0
  943. package/public/docs/shader-samples/color.jpg +0 -0
  944. package/public/docs/shader-samples/depth.png +0 -0
  945. package/public/docs/shader-samples/impact.jpg +0 -0
  946. package/public/docs/shader-samples/video.webm +0 -0
  947. package/scripts/build-addons.mjs +0 -26
  948. package/scripts/gen-shader-depth.mjs +0 -85
  949. package/scripts/gen-shader-harris-video.mjs +0 -17
  950. package/scripts/gen-shader-harris-video.py +0 -84
  951. package/scripts/hf-vendor.mjs +0 -154
  952. package/src/addons/3d.ts +0 -5
  953. package/src/addons/hugging-face-infer.ts +0 -11
  954. package/src/addons/shader.ts +0 -5
  955. package/src/addons/webgpu.ts +0 -15
  956. package/src/core/components/functional/3d/3d.md +0 -128
  957. package/src/core/components/functional/3d/3d.spec.ts +0 -171
  958. package/src/core/components/functional/3d/3d.ts +0 -186
  959. package/src/core/components/functional/3d/asset.ts +0 -22
  960. package/src/core/components/functional/3d/boot.ts +0 -77
  961. package/src/core/components/functional/3d/constants.ts +0 -100
  962. package/src/core/components/functional/3d/demo-content.ts +0 -45
  963. package/src/core/components/functional/3d/ensure.ts +0 -99
  964. package/src/core/components/functional/3d/form-bind.ts +0 -40
  965. package/src/core/components/functional/3d/form-fields.ts +0 -80
  966. package/src/core/components/functional/3d/form-params.ts +0 -97
  967. package/src/core/components/functional/3d/frame-capture.spec.ts +0 -72
  968. package/src/core/components/functional/3d/frame-capture.ts +0 -135
  969. package/src/core/components/functional/3d/frame-source.ts +0 -30
  970. package/src/core/components/functional/3d/gl.ts +0 -35
  971. package/src/core/components/functional/3d/life.ts +0 -101
  972. package/src/core/components/functional/3d/load.ts +0 -129
  973. package/src/core/components/functional/3d/ops.ts +0 -126
  974. package/src/core/components/functional/3d/opts.ts +0 -16
  975. package/src/core/components/functional/3d/orbit.ts +0 -185
  976. package/src/core/components/functional/3d/out-publish.ts +0 -140
  977. package/src/core/components/functional/3d/parse.ts +0 -95
  978. package/src/core/components/functional/3d/pick.ts +0 -92
  979. package/src/core/components/functional/3d/playback.ts +0 -70
  980. package/src/core/components/functional/3d/pointer.ts +0 -79
  981. package/src/core/components/functional/3d/props.ts +0 -50
  982. package/src/core/components/functional/3d/publisher-listen.ts +0 -13
  983. package/src/core/components/functional/3d/reload.ts +0 -94
  984. package/src/core/components/functional/3d/runtime.ts +0 -148
  985. package/src/core/components/functional/3d/scene-runtime.ts +0 -9
  986. package/src/core/components/functional/3d/snapshot.ts +0 -73
  987. package/src/core/components/functional/3d/styles.ts +0 -38
  988. package/src/core/components/functional/3d/tune.ts +0 -72
  989. package/src/core/components/functional/3d/types.ts +0 -150
  990. package/src/core/components/functional/3d/updated.ts +0 -70
  991. package/src/core/components/functional/3d/view.ts +0 -63
  992. package/src/core/components/functional/3d/wire.ts +0 -65
  993. package/src/core/components/functional/infer/hugging-face/hf-cache.ts +0 -198
  994. package/src/core/components/functional/infer/hugging-face/hf-config.ts +0 -188
  995. package/src/core/components/functional/infer/hugging-face/hf-controller.spec.ts +0 -350
  996. package/src/core/components/functional/infer/hugging-face/hf-controller.ts +0 -622
  997. package/src/core/components/functional/infer/hugging-face/hf-engine.ts +0 -178
  998. package/src/core/components/functional/infer/hugging-face/hf-input.spec.ts +0 -99
  999. package/src/core/components/functional/infer/hugging-face/hf-input.ts +0 -218
  1000. package/src/core/components/functional/infer/hugging-face/hf-protocol.ts +0 -76
  1001. package/src/core/components/functional/infer/hugging-face/hf-registry.ts +0 -457
  1002. package/src/core/components/functional/infer/hugging-face/hf-schema.spec.ts +0 -124
  1003. package/src/core/components/functional/infer/hugging-face/hf-schema.ts +0 -390
  1004. package/src/core/components/functional/infer/hugging-face/hf-worker-runtime.spec.ts +0 -147
  1005. package/src/core/components/functional/infer/hugging-face/hf-worker-runtime.ts +0 -381
  1006. package/src/core/components/functional/infer/hugging-face/hugging-face-infer.md +0 -304
  1007. package/src/core/components/functional/infer/hugging-face/hugging-face-infer.ts +0 -202
  1008. package/src/core/components/functional/infer/hugging-face/hugging-face.ts +0 -282
  1009. package/src/core/components/functional/infer/hugging-face/types.ts +0 -325
  1010. package/src/core/components/functional/shader/gl-runtime.ts +0 -963
  1011. package/src/core/components/functional/shader/shader.md +0 -209
  1012. package/src/core/components/functional/shader/shader.spec.ts +0 -368
  1013. package/src/core/components/functional/shader/shader.ts +0 -1624
  1014. package/src/core/components/functional/shader/shadertoy-prelude.ts +0 -52
  1015. package/src/core/components/functional/shader/types.ts +0 -448
  1016. package/src/core/components/functional/webgpu/canvas2d-fallback.ts +0 -125
  1017. package/src/core/components/functional/webgpu/form-bind.ts +0 -116
  1018. package/src/core/components/functional/webgpu/gl-fallback.ts +0 -158
  1019. package/src/core/components/functional/webgpu/gpu-runtime.ts +0 -349
  1020. package/src/core/components/functional/webgpu/helpers.ts +0 -47
  1021. package/src/core/components/functional/webgpu/out-frame.ts +0 -137
  1022. package/src/core/components/functional/webgpu/particles-runtime.ts +0 -426
  1023. package/src/core/components/functional/webgpu/pointer.ts +0 -85
  1024. package/src/core/components/functional/webgpu/types.ts +0 -96
  1025. package/src/core/components/functional/webgpu/webgpu.md +0 -75
  1026. package/src/core/components/functional/webgpu/webgpu.spec.ts +0 -141
  1027. package/src/core/components/functional/webgpu/webgpu.ts +0 -668
  1028. package/src/core/components/functional/webgpu/wgsl-prelude.ts +0 -81
  1029. package/src/core/utils/mediaRef.spec.ts +0 -121
  1030. package/src/core/utils/mediaRef.ts +0 -193
  1031. package/src/core/utils/similarity.spec.ts +0 -34
  1032. package/src/core/utils/similarity.ts +0 -54
  1033. package/src/docs/_getting-started/cdn-addons.md +0 -73
  1034. package/src/docs/_misc/visual-stack.md +0 -65
  1035. package/src/docs/example/docs-3d-demos.ts +0 -8
  1036. package/src/docs/example/docs-3d-form.ts +0 -95
  1037. package/src/docs/example/docs-3d-orbit.ts +0 -44
  1038. package/src/docs/example/docs-3d-out.ts +0 -56
  1039. package/src/docs/example/docs-3d-shader-live-demo.ts +0 -98
  1040. package/src/docs/example/docs-3d-shared.ts +0 -15
  1041. package/src/docs/example/docs-harris-webgpu-demo.ts +0 -482
  1042. package/src/docs/example/docs-hugging-face-demos.ts +0 -516
  1043. package/src/docs/example/docs-shader-demos.ts +0 -357
  1044. package/src/docs/example/docs-visual-stack-demo.ts +0 -394
  1045. package/src/docs/example/docs-webgpu-demo.ts +0 -77
@@ -1,1624 +0,0 @@
1
- import { css, html, LitElement } from "lit";
2
- import { customElement, property, state } from "lit/decorators.js";
3
- import HTML from "@supersoniks/concorde/core/utils/HTML";
4
- import { revokeMediaUrls, toMediaUrl, mediaElementKey, lookupLiveElement } from "@supersoniks/concorde/core/utils/mediaRef";
5
- import { PublisherManager } from "@supersoniks/concorde/utils";
6
- import {
7
- parseChannelSource,
8
- ShaderToyRuntime,
9
- } from "./gl-runtime";
10
- import {
11
- PassChannels,
12
- ShaderCompileError,
13
- ShaderExtractItem,
14
- ShaderExtractOutput,
15
- ShaderHoverParam,
16
- ShaderMouseMode,
17
- ShaderPassId,
18
- ShaderRoi,
19
- ShaderSources,
20
- SonicShaderOutput,
21
- findPeaks,
22
- meanRgba,
23
- parseExtractPass,
24
- parseHoverParam,
25
- roiToPixels,
26
- } from "./types";
27
-
28
- const tagName = "sonic-shader";
29
-
30
- const MAX_PATCH_PX = 128;
31
-
32
- /**
33
- * Champs méta publiés vers le out-dataProvider.
34
- * `param0…3` sont exclus du gate « consommateur » : un `sonic-input name="param0"`
35
- * ne doit pas activer la publication (sinon write-back → reset des champs form).
36
- */
37
- const OUT_META_KEYS = [
38
- "time",
39
- "frame",
40
- "mouseX",
41
- "mouseY",
42
- "hovering",
43
- ] as const;
44
-
45
- const OUT_PARAM_KEYS = ["param0", "param1", "param2", "param3"] as const;
46
-
47
- /** Champs canaux lisibles depuis dataProvider (string | SonicMediaRef). */
48
- const CHANNEL_FORM_KEYS = [
49
- "channel0",
50
- "channel1",
51
- "channel2",
52
- "channel3",
53
- "imageCh0",
54
- "imageCh1",
55
- "imageCh2",
56
- "imageCh3",
57
- "bufferACh0",
58
- "bufferACh1",
59
- "bufferACh2",
60
- "bufferACh3",
61
- "bufferBCh0",
62
- "bufferBCh1",
63
- "bufferBCh2",
64
- "bufferBCh3",
65
- "bufferCCh0",
66
- "bufferCCh1",
67
- "bufferCCh2",
68
- "bufferCCh3",
69
- "bufferDCh0",
70
- "bufferDCh1",
71
- "bufferDCh2",
72
- "bufferDCh3",
73
- ] as const;
74
-
75
- /** Champs sample (coûteux : readPixels). */
76
- const OUT_SAMPLE_KEYS = [
77
- "sampleR",
78
- "sampleG",
79
- "sampleB",
80
- "sampleA",
81
- "sampleLuma",
82
- ] as const;
83
-
84
- const EXTRACT_OUT_KEYS = ["extracts", "extractCount", "extractSeq"] as const;
85
-
86
- type OutPublisherLike = {
87
- _proxies_?: Map<string, { hasListener?: () => boolean }>;
88
- get?: () => Record<string, unknown>;
89
- };
90
-
91
- function prefersReducedMotion(): boolean {
92
- return (
93
- typeof matchMedia === "function" &&
94
- matchMedia("(prefers-reduced-motion: reduce)").matches
95
- );
96
- }
97
-
98
- function toNum(v: unknown, fallback: number): number {
99
- if (typeof v === "number" && Number.isFinite(v)) return v;
100
- if (typeof v === "string" && v.trim() !== "") {
101
- const n = Number(v);
102
- if (Number.isFinite(n)) return n;
103
- }
104
- return fallback;
105
- }
106
-
107
- /** Valeur canal depuis DP : string (url, buffer-a, #id) | MediaRef → url | { element }. */
108
- function channelFormValue(value: unknown): string | undefined {
109
- if (value === null || value === "") return "";
110
- if (typeof value === "string") return value.trim();
111
- const url = toMediaUrl(value);
112
- if (url) return url;
113
- if (value && typeof value === "object") {
114
- const el = (value as { element?: unknown }).element;
115
- const key = mediaElementKey(el);
116
- if (key) return key;
117
- return undefined;
118
- }
119
- return "";
120
- }
121
-
122
- /** Exposé pour tests. */
123
- export { channelFormValue };
124
-
125
- function parseRois(value: unknown): ShaderRoi[] {
126
- if (!Array.isArray(value)) return [];
127
- const out: ShaderRoi[] = [];
128
- for (const raw of value) {
129
- if (!raw || typeof raw !== "object") continue;
130
- const o = raw as Record<string, unknown>;
131
- const x = toNum(o.x, NaN);
132
- const y = toNum(o.y, NaN);
133
- if (!Number.isFinite(x) || !Number.isFinite(y)) continue;
134
- const roi: ShaderRoi = { x, y, source: "manual" };
135
- if (typeof o.id === "string" && o.id) roi.id = o.id;
136
- if ("w" in o) roi.w = toNum(o.w, 0);
137
- if ("h" in o) roi.h = toNum(o.h, 0);
138
- if ("patch" in o) roi.patch = toNum(o.patch, 16);
139
- out.push(roi);
140
- }
141
- return out;
142
- }
143
-
144
- const BYTES_PER_PIXEL = 4;
145
-
146
- async function rgbaToBlobUrl(
147
- data: Uint8Array,
148
- width: number,
149
- height: number,
150
- ): Promise<string | null> {
151
- if (typeof document === "undefined" || width < 1 || height < 1) return null;
152
- try {
153
- const canvas = document.createElement("canvas");
154
- canvas.width = width;
155
- canvas.height = height;
156
- const ctx = canvas.getContext("2d");
157
- if (!ctx) return null;
158
- // WebGL readPixels is bottom-up; flip for canvas display.
159
- const imageData = ctx.createImageData(width, height);
160
- const dst = imageData.data;
161
- for (let y = 0; y < height; y++) {
162
- const srcRow = (height - 1 - y) * width * BYTES_PER_PIXEL;
163
- const dstRow = y * width * BYTES_PER_PIXEL;
164
- for (let i = 0; i < width * BYTES_PER_PIXEL; i++) {
165
- dst[dstRow + i] = data[srcRow + i];
166
- }
167
- }
168
- ctx.putImageData(imageData, 0, 0);
169
- const blob = await new Promise<Blob | null>((resolve) => {
170
- try {
171
- canvas.toBlob((b) => resolve(b), "image/png");
172
- } catch {
173
- resolve(null);
174
- }
175
- });
176
- if (blob) return URL.createObjectURL(blob);
177
- // Fallback (certs navigateurs / contexts bloquent toBlob)
178
- const dataUrl = canvas.toDataURL("image/png");
179
- return dataUrl || null;
180
- } catch {
181
- return null;
182
- }
183
- }
184
-
185
- function assignExtractMediaUrls(item: ShaderExtractItem, url: string): void {
186
- item.blobUrl = url;
187
- item.url = url;
188
- }
189
-
190
- type PendingRoi = ShaderRoi & { score?: number };
191
-
192
- /**
193
- * ShaderToy-compatible multipass renderer (Image + Buffer A–D + Common).
194
- * Opt-in: import `@supersoniks/concorde/shader`.
195
- *
196
- * Optional `dataProvider` (attr or ancestor `dataProvider` / `formDataProvider`):
197
- * maps form fields `param0`…`param3` → uniforms `uParam0`…`uParam3`.
198
- */
199
- @customElement(tagName)
200
- export class SonicShader extends LitElement {
201
- static styles = css`
202
- :host {
203
- display: block;
204
- position: relative;
205
- width: 100%;
206
- max-width: 100%;
207
- height: auto;
208
- aspect-ratio: var(--sonic-shader-ar, 16 / 9);
209
- overflow: hidden;
210
- background: #0a0a0a;
211
- color: #f87171;
212
- font: 12px/1.4 ui-monospace, monospace;
213
- }
214
- canvas {
215
- position: absolute;
216
- inset: 0;
217
- width: 100%;
218
- height: 100%;
219
- display: block;
220
- touch-action: none;
221
- }
222
- .err {
223
- position: absolute;
224
- inset: 0;
225
- z-index: 1;
226
- padding: 0.75rem;
227
- background: rgba(0, 0, 0, 0.85);
228
- white-space: pre-wrap;
229
- overflow: auto;
230
- }
231
- `;
232
-
233
- @property() image = "";
234
- @property({ attribute: "buffer-a" }) bufferA = "";
235
- @property({ attribute: "buffer-b" }) bufferB = "";
236
- @property({ attribute: "buffer-c" }) bufferC = "";
237
- @property({ attribute: "buffer-d" }) bufferD = "";
238
- @property() common = "";
239
-
240
- @property() channel0 = "";
241
- @property() channel1 = "";
242
- @property() channel2 = "";
243
- @property() channel3 = "";
244
-
245
- @property({ attribute: "image-ch0" }) imageCh0 = "";
246
- @property({ attribute: "image-ch1" }) imageCh1 = "";
247
- @property({ attribute: "image-ch2" }) imageCh2 = "";
248
- @property({ attribute: "image-ch3" }) imageCh3 = "";
249
-
250
- @property({ attribute: "buffer-a-ch0" }) bufferACh0 = "";
251
- @property({ attribute: "buffer-a-ch1" }) bufferACh1 = "";
252
- @property({ attribute: "buffer-a-ch2" }) bufferACh2 = "";
253
- @property({ attribute: "buffer-a-ch3" }) bufferACh3 = "";
254
-
255
- @property({ attribute: "buffer-b-ch0" }) bufferBCh0 = "";
256
- @property({ attribute: "buffer-b-ch1" }) bufferBCh1 = "";
257
- @property({ attribute: "buffer-b-ch2" }) bufferBCh2 = "";
258
- @property({ attribute: "buffer-b-ch3" }) bufferBCh3 = "";
259
-
260
- @property({ attribute: "buffer-c-ch0" }) bufferCCh0 = "";
261
- @property({ attribute: "buffer-c-ch1" }) bufferCCh1 = "";
262
- @property({ attribute: "buffer-c-ch2" }) bufferCCh2 = "";
263
- @property({ attribute: "buffer-c-ch3" }) bufferCCh3 = "";
264
-
265
- @property({ attribute: "buffer-d-ch0" }) bufferDCh0 = "";
266
- @property({ attribute: "buffer-d-ch1" }) bufferDCh1 = "";
267
- @property({ attribute: "buffer-d-ch2" }) bufferDCh2 = "";
268
- @property({ attribute: "buffer-d-ch3" }) bufferDCh3 = "";
269
-
270
- @property({ type: Boolean, reflect: true }) play = true;
271
- /**
272
- * N’anime que pendant le hover (ou tant que le param hover n’a pas fini
273
- * sa transition). Utile avec beaucoup d’instances.
274
- */
275
- @property({ type: Boolean, attribute: "play-on-hover" }) playOnHover = false;
276
- @property({ type: Boolean }) mouse = true;
277
- /**
278
- * `direct` — `iMouse.xy` = pointeur (ShaderToy).
279
- * `target` — le pointeur est une cible ; `iMouse.xy` suit (vitesse ∝ distance).
280
- */
281
- @property({ type: String, attribute: "mouse-mode" })
282
- mouseMode: ShaderMouseMode = "direct";
283
- /**
284
- * Vitesse de poursuite en mode `target` (1/s). Plus haut = plus snappy.
285
- * Déplacement ≈ `(cible − pos) * (1 − e^(−speed·dt))`.
286
- */
287
- @property({ type: Number, attribute: "mouse-speed" }) mouseSpeed = 8;
288
- /**
289
- * Anime `uParamN` au rollover / roll-out (0↔1). Ex. `hover-param="0"` ou `"param0"`.
290
- * Le shader lit `uParamN` pour mixer l’effet on/off.
291
- */
292
- @property({ attribute: "hover-param" }) hoverParam: ShaderHoverParam | string =
293
- "";
294
- /** Vitesse d’easing hover on/off (1/s, défaut 10). */
295
- @property({ type: Number, attribute: "hover-speed" }) hoverSpeed = 10;
296
- /**
297
- * Libère le contexte WebGL hors viewport (défaut true).
298
- * Les navigateurs limitent ~8–16 contextes.
299
- */
300
- @property({ type: Boolean, attribute: "release-offscreen" })
301
- releaseOffscreen = true;
302
- @property({ type: Number, attribute: "dpr-max" }) dprMax = 2;
303
-
304
- /** Generic float uniforms `uParam0`…`uParam3` (no shader rebuild). */
305
- @property({ type: Number, attribute: "param0" }) param0 = 0;
306
- @property({ type: Number, attribute: "param1" }) param1 = 0;
307
- @property({ type: Number, attribute: "param2" }) param2 = 0;
308
- @property({ type: Number, attribute: "param3" }) param3 = 0;
309
-
310
- /**
311
- * Publisher id. Fields `param0`…`param3` feed `uParam0`…`uParam3`.
312
- * Falls back to ancestor `dataProvider` or `formDataProvider` when unset.
313
- * Also used as default out publisher (see `outDataProvider`).
314
- */
315
- @property({ type: String })
316
- dataProvider = "";
317
-
318
- /**
319
- * Publisher de sortie. Défaut : même id que `dataProvider` / ancêtre.
320
- * Écrit mouseX/Y, hovering, frame (+ sample* si `sample`).
321
- * Sur DP partagé form+out : ne réécrit pas param0…3 (sauf slot hover-param).
322
- * Paresseux : pas de set / readPixels sans lecteur méta/sample ni listener `out`.
323
- */
324
- @property({ type: String, attribute: "out-data-provider" })
325
- outDataProvider = "";
326
-
327
- /**
328
- * Active le sample couleur → sampleR/G/B/A + sampleLuma.
329
- * `readPixels` uniquement s’il y a un consommateur out (DP ou event `out`).
330
- */
331
- @property({ type: Boolean }) sample = false;
332
-
333
- /** Intervalle de publication / event `out` (ms, défaut 80). */
334
- @property({ type: Number, attribute: "out-interval" }) outInterval = 80;
335
-
336
- /** Active l’extraction de patches / singularités. */
337
- @property({ type: Boolean }) extract = false;
338
- /** Throttle extract ms (défaut = `out-interval` ou 100). */
339
- @property({ type: Number, attribute: "extract-interval" })
340
- extractInterval = 0;
341
- /** Pass où lire les pixels couleur : `image` \| `buffer-a`… */
342
- @property({ type: String, attribute: "extract-source" })
343
- extractSource = "image";
344
- /** Pass mask pour détection : `none` \| `buffer-a`… */
345
- @property({ type: String, attribute: "extract-mask" })
346
- extractMask = "none";
347
- /** Seuil 0–1 sur le mask (défaut 0.5). */
348
- @property({ type: Number, attribute: "extract-threshold" })
349
- extractThreshold = 0.5;
350
- /** Cap N items détectés (défaut 8). */
351
- @property({ type: Number, attribute: "extract-max" }) extractMax = 8;
352
- /** Taille patch px par défaut pour un point (défaut 16). */
353
- @property({ type: Number, attribute: "extract-patch" }) extractPatch = 16;
354
- /** Génère des blob URLs par item. */
355
- @property({ type: Boolean, attribute: "extract-bitmaps" })
356
- extractBitmaps = false;
357
- /** Publisher dédié extract (défaut = out / dataProvider). */
358
- @property({ type: String, attribute: "extract-data-provider" })
359
- extractDataProvider = "";
360
-
361
- /**
362
- * Force CSS aspect-ratio (e.g. `"16/9"`, `"1"`).
363
- * When empty, uses channel0 (or first texture) dimensions.
364
- */
365
- @property({ type: String, attribute: "aspect-ratio" })
366
- aspectRatio = "";
367
-
368
- @state() private errorMessage = "";
369
-
370
- private runtime: ShaderToyRuntime | null = null;
371
- private raf = 0;
372
- private startTime = 0;
373
- private lastTime = 0;
374
- private frame = 0;
375
- /** Incrémenté après chaque render (contrat SonicFrameSource). */
376
- frameSeq = 0;
377
- private mouseVec: [number, number, number, number] = [0, 0, 0, 0];
378
- /** Cible pointeur (px drawing buffer, origine bas-gauche). */
379
- private mouseTarget: [number, number] = [0, 0];
380
- /** Position suivie → `iMouse.xy` en mode target. */
381
- private mouseFollow: [number, number] = [0, 0];
382
- private mouseHasPointer = false;
383
- private pointerDown = false;
384
- private hovering = false;
385
- private hoverGoal = 0;
386
- /**
387
- * Valeur easée 0↔1 pour le slot `hover-param`.
388
- * Privée (pas une @property) pour éviter un requestUpdate Lit à chaque frame
389
- * — sinon re-renders / write-back dataProvider → enter/leave en boucle.
390
- */
391
- private hoverMix = 0;
392
- private leaveRaf = 0;
393
- /** Compteur d’écouteurs `out` (publication paresseuse). */
394
- private outEventListeners = 0;
395
- /** Compteur d’écouteurs `extract`. */
396
- private extractEventListeners = 0;
397
- private releasing = false;
398
- private inView = true;
399
- private resizeObserver: ResizeObserver | null = null;
400
- private intersectionObserver: IntersectionObserver | null = null;
401
- private rebuildToken = 0;
402
- private ready = false;
403
- private formPublisher: ReturnType<typeof PublisherManager.get> | null = null;
404
- private outPublisher: ReturnType<typeof PublisherManager.get> | null = null;
405
- private extractPublisher: ReturnType<typeof PublisherManager.get> | null =
406
- null;
407
- private lastOutAt = 0;
408
- private lastExtractAt = 0;
409
- private manualRois: ShaderRoi[] = [];
410
- private lastBlobUrls: string[] = [];
411
- private pendingRevokeUrls: string[] = [];
412
- private extractRunning = false;
413
- private extractSeq = 0;
414
- private onFormMutation = () => {
415
- const data = (this.formPublisher?.get() ?? {}) as Record<string, unknown>;
416
- this.applyFormParams(data);
417
- };
418
-
419
- connectedCallback() {
420
- super.connectedCallback();
421
- this.addEventListener("pointermove", this.onPointerMove as EventListener);
422
- this.addEventListener("pointerdown", this.onPointerDown as EventListener);
423
- this.addEventListener("pointerup", this.onPointerUp as EventListener);
424
- this.addEventListener("pointerleave", this.onPointerLeave);
425
- this.addEventListener("pointerenter", this.onPointerEnter);
426
- this.bindFormProvider();
427
- this.bindOutPublisher();
428
- this.bindExtractPublisher();
429
- }
430
-
431
- /**
432
- * Suit les listeners `out` / `extract` pour ne publier (et ne readPixels)
433
- * que s’il y a un consommateur — zéro coût tant que personne ne lit.
434
- */
435
- override addEventListener(
436
- type: string,
437
- listener: EventListenerOrEventListenerObject | null,
438
- options?: boolean | AddEventListenerOptions,
439
- ): void {
440
- if (type === "out" && listener) this.outEventListeners++;
441
- if (type === "extract" && listener) this.extractEventListeners++;
442
- super.addEventListener(type, listener as never, options);
443
- }
444
-
445
- override removeEventListener(
446
- type: string,
447
- listener: EventListenerOrEventListenerObject | null,
448
- options?: boolean | EventListenerOptions,
449
- ): void {
450
- if (type === "out" && listener) {
451
- this.outEventListeners = Math.max(0, this.outEventListeners - 1);
452
- }
453
- if (type === "extract" && listener) {
454
- this.extractEventListeners = Math.max(0, this.extractEventListeners - 1);
455
- }
456
- super.removeEventListener(type, listener as never, options);
457
- }
458
-
459
- disconnectedCallback() {
460
- super.disconnectedCallback();
461
- this.removeEventListener("pointermove", this.onPointerMove as EventListener);
462
- this.removeEventListener("pointerdown", this.onPointerDown as EventListener);
463
- this.removeEventListener("pointerup", this.onPointerUp as EventListener);
464
- this.removeEventListener("pointerleave", this.onPointerLeave);
465
- this.removeEventListener("pointerenter", this.onPointerEnter);
466
- if (this.leaveRaf) {
467
- cancelAnimationFrame(this.leaveRaf);
468
- this.leaveRaf = 0;
469
- }
470
- this.unbindFormProvider();
471
- this.unbindContextEvents();
472
- this.revokeBlobUrls();
473
- for (const url of this.pendingRevokeUrls) {
474
- try {
475
- URL.revokeObjectURL(url);
476
- } catch {
477
- /* ignore */
478
- }
479
- }
480
- this.pendingRevokeUrls = [];
481
- this.stopLoop();
482
- this.resizeObserver?.disconnect();
483
- this.intersectionObserver?.disconnect();
484
- this.rebuildToken++;
485
- this.ready = false;
486
- this.releasing = true;
487
- this.runtime?.dispose(true); // libère le slot navigateur
488
- this.runtime = null;
489
- this.outPublisher = null;
490
- this.releasing = false;
491
- }
492
-
493
- protected firstUpdated() {
494
- this.resizeObserver = new ResizeObserver(() => this.syncSize());
495
- this.resizeObserver.observe(this);
496
- this.intersectionObserver = new IntersectionObserver(
497
- (entries) => {
498
- this.inView = entries.some((e) => e.isIntersecting);
499
- this.syncVisibility();
500
- },
501
- { threshold: 0 },
502
- );
503
- this.intersectionObserver.observe(this);
504
- this.bindFormProvider();
505
- this.bindOutPublisher();
506
- this.bindExtractPublisher();
507
- requestAnimationFrame(() => {
508
- if (this.inView || !this.releaseOffscreen) {
509
- void this.ensureRuntime();
510
- }
511
- });
512
- }
513
-
514
- protected updated(changed: Map<string, unknown>) {
515
- if (!this.runtime) return;
516
- const shaderKeys = [
517
- "image",
518
- "bufferA",
519
- "bufferB",
520
- "bufferC",
521
- "bufferD",
522
- "common",
523
- "channel0",
524
- "channel1",
525
- "channel2",
526
- "channel3",
527
- "imageCh0",
528
- "imageCh1",
529
- "imageCh2",
530
- "imageCh3",
531
- "bufferACh0",
532
- "bufferACh1",
533
- "bufferACh2",
534
- "bufferACh3",
535
- "bufferBCh0",
536
- "bufferBCh1",
537
- "bufferBCh2",
538
- "bufferBCh3",
539
- "bufferCCh0",
540
- "bufferCCh1",
541
- "bufferCCh2",
542
- "bufferCCh3",
543
- "bufferDCh0",
544
- "bufferDCh1",
545
- "bufferDCh2",
546
- "bufferDCh3",
547
- ];
548
- if (shaderKeys.some((k) => changed.has(k))) {
549
- void this.rebuild();
550
- }
551
- if (changed.has("play")) {
552
- this.syncPlayback();
553
- }
554
- if (
555
- changed.has("dataProvider") ||
556
- changed.has("outDataProvider") ||
557
- changed.has("extractDataProvider")
558
- ) {
559
- this.bindFormProvider();
560
- this.bindOutPublisher();
561
- this.bindExtractPublisher();
562
- }
563
- if (changed.has("aspectRatio")) {
564
- this.applyAspectRatio();
565
- }
566
- }
567
-
568
- private applyAspectRatio(textureUrl?: string) {
569
- const forced = this.aspectRatio.trim();
570
- if (forced) {
571
- this.style.setProperty(
572
- "--sonic-shader-ar",
573
- forced.includes("/") ? forced : forced.replace(":", " / "),
574
- );
575
- return;
576
- }
577
- const url = textureUrl || this.channel0;
578
- const size = url ? this.runtime?.getTextureSize(url) : null;
579
- if (size) {
580
- this.style.setProperty(
581
- "--sonic-shader-ar",
582
- `${size.width} / ${size.height}`,
583
- );
584
- return;
585
- }
586
- this.style.removeProperty("--sonic-shader-ar");
587
- }
588
-
589
- private resolveFormProviderId(): string {
590
- const own = this.dataProvider?.trim();
591
- if (own) return own;
592
- return (
593
- HTML.getAncestorAttributeValue(this, "dataProvider") ||
594
- HTML.getAncestorAttributeValue(this, "formDataProvider") ||
595
- ""
596
- );
597
- }
598
-
599
- private unbindFormProvider() {
600
- if (this.formPublisher) {
601
- // Nested form fields (sonic-input) mutate children — root onAssign
602
- // does not fire; onInternalMutation does.
603
- this.formPublisher.offInternalMutation(this.onFormMutation);
604
- this.formPublisher = null;
605
- }
606
- }
607
-
608
- private bindFormProvider() {
609
- this.unbindFormProvider();
610
- const id = this.resolveFormProviderId();
611
- if (!id) return;
612
- this.formPublisher = PublisherManager.get(id);
613
- this.formPublisher.onInternalMutation(this.onFormMutation);
614
- this.onFormMutation();
615
- }
616
-
617
- private resolveOutProviderId(): string {
618
- const own = this.outDataProvider?.trim();
619
- if (own) return own;
620
- return this.resolveFormProviderId();
621
- }
622
-
623
- private bindOutPublisher() {
624
- const id = this.resolveOutProviderId();
625
- this.outPublisher = id ? PublisherManager.get(id) : null;
626
- }
627
-
628
- private resolveExtractProviderId(): string {
629
- const own = this.extractDataProvider?.trim();
630
- if (own) return own;
631
- return this.resolveOutProviderId();
632
- }
633
-
634
- private bindExtractPublisher() {
635
- const id = this.resolveExtractProviderId();
636
- this.extractPublisher = id ? PublisherManager.get(id) : null;
637
- }
638
-
639
- private applyFormParams(value: unknown) {
640
- const data =
641
- value && typeof value === "object"
642
- ? (value as Record<string, unknown>)
643
- : {};
644
- // Le slot hover-param est piloté en interne : ne pas le réécrire depuis le
645
- // publisher (évite la boucle out → mutation → param ↔ hoverGoal).
646
- const hoverSlot = parseHoverParam(this.hoverParam);
647
- if (hoverSlot !== 0) this.param0 = toNum(data.param0, this.param0);
648
- if (hoverSlot !== 1) this.param1 = toNum(data.param1, this.param1);
649
- if (hoverSlot !== 2) this.param2 = toNum(data.param2, this.param2);
650
- if (hoverSlot !== 3) this.param3 = toNum(data.param3, this.param3);
651
- if ("mouseSpeed" in data) {
652
- this.mouseSpeed = toNum(data.mouseSpeed, this.mouseSpeed);
653
- }
654
- if ("hoverSpeed" in data) {
655
- this.hoverSpeed = toNum(data.hoverSpeed, this.hoverSpeed);
656
- }
657
- if ("extractThreshold" in data) {
658
- this.extractThreshold = toNum(data.extractThreshold, this.extractThreshold);
659
- }
660
- if ("extractMax" in data) {
661
- this.extractMax = toNum(data.extractMax, this.extractMax);
662
- }
663
- if ("extractPatch" in data) {
664
- this.extractPatch = toNum(data.extractPatch, this.extractPatch);
665
- }
666
- if ("rois" in data) {
667
- this.manualRois = parseRois(data.rois);
668
- }
669
- for (const key of CHANNEL_FORM_KEYS) {
670
- if (!(key in data)) continue;
671
- const next = channelFormValue(data[key]);
672
- if (next === undefined) continue;
673
- if ((this as unknown as Record<string, string>)[key] !== next) {
674
- (this as unknown as Record<string, string>)[key] = next;
675
- }
676
- }
677
- }
678
-
679
- /** Params GPU : remplace le slot `hover-param` par `hoverMix`. */
680
- private effectiveParams(): [number, number, number, number] {
681
- const params: [number, number, number, number] = [
682
- this.param0,
683
- this.param1,
684
- this.param2,
685
- this.param3,
686
- ];
687
- const slot = parseHoverParam(this.hoverParam);
688
- if (slot !== null) params[slot] = this.hoverMix;
689
- return params;
690
- }
691
-
692
- /**
693
- * Hors viewport : libère textures / FBO / programmes, **sans** loseContext
694
- * (sinon le même canvas ne peut plus compiler au retour).
695
- * Le slot navigateur est libéré au disconnect (`dispose(true)`).
696
- */
697
- private releaseRuntime() {
698
- this.rebuildToken++;
699
- this.stopLoop();
700
- this.ready = false;
701
- this.releasing = true;
702
- this.unbindContextEvents();
703
- this.runtime?.dispose(false);
704
- this.runtime = null;
705
- this.releasing = false;
706
- }
707
-
708
- private getCanvas(): HTMLCanvasElement | null {
709
- return (
710
- (this.renderRoot?.querySelector("canvas") as HTMLCanvasElement | null) ??
711
- null
712
- );
713
- }
714
-
715
- /** Contrat SonicFrameSource — canvas lisible pour un autre sonic-shader. */
716
- getFrameCanvas(): HTMLCanvasElement | null {
717
- if (!this.ready || !this.runtime || this.runtime.isLost) return null;
718
- return this.getCanvas();
719
- }
720
-
721
- /** Résout `#id` dans getRootNode() puis document ; clés live `__sonic_frame_`. */
722
- private lookupElement(key: string): Element | null {
723
- if (!key.startsWith("#")) return null;
724
- const live = lookupLiveElement(key);
725
- if (live) return live;
726
- const id = key.slice(1);
727
- if (!id || id.startsWith("__sonic_frame_")) return null;
728
- const root = this.getRootNode();
729
- if (root instanceof Document || root instanceof ShadowRoot) {
730
- const el = root.getElementById(id);
731
- if (el) return el;
732
- }
733
- return typeof document !== "undefined" ? document.getElementById(id) : null;
734
- }
735
-
736
- private bindContextEvents() {
737
- const canvas = this.getCanvas();
738
- canvas?.addEventListener("webglcontextlost", this.onContextLost);
739
- canvas?.addEventListener("webglcontextrestored", this.onContextRestored);
740
- }
741
-
742
- private unbindContextEvents() {
743
- const canvas = this.getCanvas();
744
- canvas?.removeEventListener("webglcontextlost", this.onContextLost);
745
- canvas?.removeEventListener(
746
- "webglcontextrestored",
747
- this.onContextRestored,
748
- );
749
- }
750
-
751
- private onContextLost = (e: Event) => {
752
- e.preventDefault();
753
- if (this.releasing) return;
754
- this.rebuildToken++;
755
- this.stopLoop();
756
- this.ready = false;
757
- this.runtime = null;
758
- };
759
-
760
- private onContextRestored = () => {
761
- if (this.releasing || !this.inView) return;
762
- void this.ensureRuntime();
763
- };
764
-
765
- private async ensureRuntime() {
766
- if (this.runtime && !this.runtime.isLost) return;
767
- this.runtime = null;
768
- await this.updateComplete;
769
- if (!this.isConnected || (!this.inView && this.releaseOffscreen)) return;
770
-
771
- const canvas = this.getCanvas();
772
- if (!canvas) return;
773
-
774
- try {
775
- this.errorMessage = "";
776
- this.runtime = new ShaderToyRuntime(canvas);
777
- this.runtime.setElementResolver((key) => this.lookupElement(key));
778
- this.bindContextEvents();
779
- this.syncSize();
780
- await this.rebuild();
781
- } catch (err) {
782
- this.emitError(err);
783
- }
784
- }
785
-
786
- private syncVisibility() {
787
- if (!this.inView && this.releaseOffscreen) {
788
- this.releaseRuntime();
789
- return;
790
- }
791
- if (this.inView && (!this.runtime || this.runtime.isLost)) {
792
- void this.ensureRuntime();
793
- return;
794
- }
795
- this.syncPlayback();
796
- }
797
-
798
- private syncSize() {
799
- if (!this.runtime) return;
800
- const rect = this.getBoundingClientRect();
801
- const cssW = Math.max(rect.width, this.clientWidth, 1);
802
- const cssH = Math.max(rect.height, this.clientHeight, 1);
803
- const dpr = Math.min(window.devicePixelRatio || 1, this.dprMax);
804
- this.runtime.resize(cssW * dpr, cssH * dpr);
805
- if (this.ready) {
806
- this.drawFrame(performance.now());
807
- }
808
- }
809
-
810
- private buildChannels(pass: ShaderPassId): PassChannels {
811
- const fallbacks = [
812
- this.channel0,
813
- this.channel1,
814
- this.channel2,
815
- this.channel3,
816
- ];
817
- const overrides: (string | undefined)[] =
818
- pass === "image"
819
- ? [this.imageCh0, this.imageCh1, this.imageCh2, this.imageCh3]
820
- : pass === "bufferA"
821
- ? [
822
- this.bufferACh0,
823
- this.bufferACh1,
824
- this.bufferACh2,
825
- this.bufferACh3,
826
- ]
827
- : pass === "bufferB"
828
- ? [
829
- this.bufferBCh0,
830
- this.bufferBCh1,
831
- this.bufferBCh2,
832
- this.bufferBCh3,
833
- ]
834
- : pass === "bufferC"
835
- ? [
836
- this.bufferCCh0,
837
- this.bufferCCh1,
838
- this.bufferCCh2,
839
- this.bufferCCh3,
840
- ]
841
- : [
842
- this.bufferDCh0,
843
- this.bufferDCh1,
844
- this.bufferDCh2,
845
- this.bufferDCh3,
846
- ];
847
- return [0, 1, 2, 3].map((i) =>
848
- parseChannelSource(overrides[i], fallbacks[i]),
849
- ) as PassChannels;
850
- }
851
-
852
- private collectUrls(channels: Map<ShaderPassId, PassChannels>): string[] {
853
- const urls: string[] = [];
854
- for (const chs of channels.values()) {
855
- for (const c of chs) {
856
- if (c.kind === "url") urls.push(c.url);
857
- }
858
- }
859
- return urls;
860
- }
861
-
862
- private collectElementKeys(
863
- channels: Map<ShaderPassId, PassChannels>,
864
- ): string[] {
865
- const keys: string[] = [];
866
- for (const chs of channels.values()) {
867
- for (const c of chs) {
868
- if (c.kind === "element") keys.push(c.key);
869
- }
870
- }
871
- return [...new Set(keys)];
872
- }
873
-
874
- private async rebuild() {
875
- if (!this.runtime || this.runtime.isLost || !this.image.trim()) return;
876
- const token = ++this.rebuildToken;
877
- this.errorMessage = "";
878
- const sources: ShaderSources = {
879
- common: this.common,
880
- image: this.image,
881
- bufferA: this.bufferA,
882
- bufferB: this.bufferB,
883
- bufferC: this.bufferC,
884
- bufferD: this.bufferD,
885
- };
886
- const channels = new Map<ShaderPassId, PassChannels>();
887
- for (const pass of [
888
- "bufferA",
889
- "bufferB",
890
- "bufferC",
891
- "bufferD",
892
- "image",
893
- ] as ShaderPassId[]) {
894
- channels.set(pass, this.buildChannels(pass));
895
- }
896
- try {
897
- this.syncSize();
898
- const urls = this.collectUrls(channels);
899
- await this.runtime.ensureTextures(urls);
900
- for (const key of this.collectElementKeys(channels)) {
901
- this.runtime.ensureElementTexture(key);
902
- }
903
- if (token !== this.rebuildToken || !this.runtime || this.runtime.isLost) {
904
- return;
905
- }
906
- const aspectHint =
907
- this.channel0.startsWith("#") ? "" : this.channel0 || urls[0];
908
- this.applyAspectRatio(aspectHint);
909
- this.syncSize();
910
- this.runtime.setSources(sources, channels);
911
- if (token !== this.rebuildToken || !this.runtime || this.runtime.isLost) {
912
- return;
913
- }
914
- this.ready = true;
915
- this.startTime = performance.now();
916
- this.lastTime = this.startTime;
917
- this.frame = 0;
918
- this.drawFrame(this.startTime);
919
- this.syncPlayback();
920
- } catch (err) {
921
- if (token !== this.rebuildToken) return;
922
- this.ready = false;
923
- this.stopLoop();
924
- this.emitError(err);
925
- }
926
- }
927
-
928
- private emitError(err: unknown) {
929
- const message =
930
- err instanceof ShaderCompileError
931
- ? err.message
932
- : err instanceof Error
933
- ? err.message
934
- : String(err);
935
- this.errorMessage = message;
936
- this.dispatchEvent(
937
- new CustomEvent("error", {
938
- detail: {
939
- message,
940
- pass: err instanceof ShaderCompileError ? err.pass : undefined,
941
- infoLog: err instanceof ShaderCompileError ? err.infoLog : undefined,
942
- },
943
- bubbles: true,
944
- composed: true,
945
- }),
946
- );
947
- }
948
-
949
- private shouldAnimate(): boolean {
950
- if (
951
- !this.play ||
952
- !this.ready ||
953
- !this.inView ||
954
- prefersReducedMotion() ||
955
- !this.runtime
956
- ) {
957
- return false;
958
- }
959
- if (this.playOnHover) {
960
- return this.hovering || !this.hoverSettled();
961
- }
962
- return true;
963
- }
964
-
965
- private hoverSettled(): boolean {
966
- if (parseHoverParam(this.hoverParam) === null) return true;
967
- return Math.abs(this.hoverMix - this.hoverGoal) < 0.002;
968
- }
969
-
970
- private syncPlayback() {
971
- if (this.shouldAnimate()) {
972
- this.runtime?.setVideosPlaying(true);
973
- if (!this.raf) {
974
- this.lastTime = performance.now();
975
- this.loop();
976
- }
977
- } else {
978
- this.stopLoop();
979
- this.runtime?.setVideosPlaying(false);
980
- if (this.ready) this.drawFrame(performance.now());
981
- }
982
- }
983
-
984
- private loop = () => {
985
- this.raf = requestAnimationFrame(this.loop);
986
- this.drawFrame(performance.now());
987
- // play-on-hover : arrêter une fois la transition terminée
988
- if (this.playOnHover && !this.hovering && this.hoverSettled()) {
989
- this.stopLoop();
990
- this.runtime?.setVideosPlaying(false);
991
- }
992
- };
993
-
994
- private stopLoop() {
995
- if (this.raf) {
996
- cancelAnimationFrame(this.raf);
997
- this.raf = 0;
998
- }
999
- }
1000
-
1001
- private drawFrame(now: number) {
1002
- if (!this.runtime || !this.ready) return;
1003
- const time = (now - this.startTime) / 1000;
1004
- const timeDelta = Math.max(0, (now - this.lastTime) / 1000);
1005
- this.lastTime = now;
1006
- this.advanceMouseFollow(timeDelta);
1007
- this.advanceHover(timeDelta);
1008
- const params = this.effectiveParams();
1009
- this.runtime.render({
1010
- time,
1011
- timeDelta,
1012
- frame: this.frame++,
1013
- mouse: this.mouseVec,
1014
- params,
1015
- });
1016
- this.frameSeq++;
1017
- this.maybePublishOut(now, time, params);
1018
- void this.maybeExtract(now, time);
1019
- }
1020
-
1021
- private round3(n: number): number {
1022
- return Math.round(n * 1000) / 1000;
1023
- }
1024
-
1025
- private buildOutput(
1026
- time: number,
1027
- params?: [number, number, number, number],
1028
- wantSample = false,
1029
- ): SonicShaderOutput {
1030
- const { width, height } = this.runtime?.size ?? { width: 1, height: 1 };
1031
- const hasPtr = this.mouseHasPointer;
1032
- const mx = hasPtr && width > 0 ? this.mouseVec[0] / width : 0.5;
1033
- const my = hasPtr && height > 0 ? this.mouseVec[1] / height : 0.5;
1034
- const p = params ?? this.effectiveParams();
1035
- const out: SonicShaderOutput = {
1036
- time: this.round3(time),
1037
- frame: this.frame,
1038
- mouseX: this.round3(mx),
1039
- mouseY: this.round3(my),
1040
- hovering: this.hovering ? 1 : 0,
1041
- param0: this.round3(p[0]),
1042
- param1: this.round3(p[1]),
1043
- param2: this.round3(p[2]),
1044
- param3: this.round3(p[3]),
1045
- };
1046
- if (wantSample && this.runtime) {
1047
- const sx = hasPtr ? this.mouseVec[0] : width * 0.5;
1048
- const sy = hasPtr ? this.mouseVec[1] : height * 0.5;
1049
- const [r8, g8, b8, a8] = this.runtime.readPixel(sx, sy);
1050
- const r = r8 / 255;
1051
- const g = g8 / 255;
1052
- const b = b8 / 255;
1053
- const a = a8 / 255;
1054
- out.sampleR = this.round3(r);
1055
- out.sampleG = this.round3(g);
1056
- out.sampleB = this.round3(b);
1057
- out.sampleA = this.round3(a);
1058
- out.sampleLuma = this.round3(0.2126 * r + 0.7152 * g + 0.0722 * b);
1059
- }
1060
- return out;
1061
- }
1062
-
1063
- /** Un champ out du publisher a-t-il un listener (sonic-value, @subscribe…) ? */
1064
- private publisherFieldHasListener(key: string): boolean {
1065
- const pub = this.outPublisher as OutPublisherLike | null;
1066
- const child = pub?._proxies_?.get(key);
1067
- return !!child?.hasListener?.();
1068
- }
1069
-
1070
- /**
1071
- * Publication paresseuse : uniquement s’il y a un event `out` ou un lecteur
1072
- * DP sur un champ de sortie. Sinon aucun coût (pas de set, pas de readPixels).
1073
- */
1074
- private hasOutConsumers(): boolean {
1075
- if (this.outEventListeners > 0) return true;
1076
- if (!this.outPublisher) return false;
1077
- for (const key of OUT_META_KEYS) {
1078
- if (this.publisherFieldHasListener(key)) return true;
1079
- }
1080
- for (const key of OUT_SAMPLE_KEYS) {
1081
- if (this.publisherFieldHasListener(key)) return true;
1082
- }
1083
- return false;
1084
- }
1085
-
1086
- /**
1087
- * Même DP pour form (entrée param*) et out : ne pas réécrire les params
1088
- * pilotés par le formulaire (sinon sortie viewport / hoverMix → champs à 0).
1089
- * Seul le slot `hover-param` reste écrit (piloté par le shader).
1090
- */
1091
- private shouldSkipParamOutWrite(key: string): boolean {
1092
- if (!(OUT_PARAM_KEYS as readonly string[]).includes(key)) return false;
1093
- if (!this.formPublisher || this.formPublisher !== this.outPublisher) {
1094
- return false;
1095
- }
1096
- const slot = parseHoverParam(this.hoverParam);
1097
- if (slot === null) return true;
1098
- return Number(key.slice(5)) !== slot;
1099
- }
1100
-
1101
- /**
1102
- * `readPixels` si `sample` et au moins un consommateur out.
1103
- * (Un `@handle(frame)` + `get(dp)` massif doit recevoir les samples.)
1104
- */
1105
- private needsSampleRead(): boolean {
1106
- return this.sample && this.hasOutConsumers();
1107
- }
1108
-
1109
- private maybePublishOut(
1110
- now: number,
1111
- time: number,
1112
- params?: [number, number, number, number],
1113
- ) {
1114
- if (!this.outPublisher) this.bindOutPublisher();
1115
- if (!this.hasOutConsumers()) return;
1116
- const interval = Math.max(16, this.outInterval || 80);
1117
- if (now - this.lastOutAt < interval) return;
1118
- this.lastOutAt = now;
1119
- const payload = this.buildOutput(time, params, this.needsSampleRead());
1120
- const pub = this.outPublisher;
1121
- if (pub) {
1122
- for (const [key, value] of Object.entries(payload)) {
1123
- if (value === undefined) continue;
1124
- if (this.shouldSkipParamOutWrite(key)) continue;
1125
- try {
1126
- // Champs individuels pour ne pas écraser le reste du form
1127
- (pub as Record<string, { set: (v: unknown) => void }>)[key].set(
1128
- value,
1129
- );
1130
- } catch {
1131
- /* publisher leaf manquant / non settable */
1132
- }
1133
- }
1134
- }
1135
- this.dispatchEvent(
1136
- new CustomEvent("out", {
1137
- detail: payload,
1138
- bubbles: true,
1139
- composed: true,
1140
- }),
1141
- );
1142
- }
1143
-
1144
- private revokeBlobUrls() {
1145
- for (const url of this.lastBlobUrls) {
1146
- try {
1147
- URL.revokeObjectURL(url);
1148
- } catch {
1149
- /* ignore */
1150
- }
1151
- }
1152
- this.lastBlobUrls = [];
1153
- }
1154
-
1155
- /** Révoque les URLs du batch précédent après un court délai (évite img cassées). */
1156
- private scheduleRevokePreviousBlobs(urls: string[]) {
1157
- const objectUrls = urls.filter((u) => u.startsWith("blob:"));
1158
- if (objectUrls.length === 0) return;
1159
- this.pendingRevokeUrls.push(...objectUrls);
1160
- const toRevoke = objectUrls;
1161
- window.setTimeout(() => {
1162
- for (const url of toRevoke) {
1163
- try {
1164
- URL.revokeObjectURL(url);
1165
- } catch {
1166
- /* ignore */
1167
- }
1168
- const i = this.pendingRevokeUrls.indexOf(url);
1169
- if (i >= 0) this.pendingRevokeUrls.splice(i, 1);
1170
- }
1171
- }, 1500);
1172
- }
1173
-
1174
- private publisherHasFieldListener(
1175
- pub: OutPublisherLike | null,
1176
- key: string,
1177
- ): boolean {
1178
- const child = pub?._proxies_?.get(key);
1179
- return !!child?.hasListener?.();
1180
- }
1181
-
1182
- private hasExtractConsumers(): boolean {
1183
- if (this.extractEventListeners > 0) return true;
1184
- const pub = this.extractPublisher as OutPublisherLike | null;
1185
- if (!pub) return false;
1186
- for (const key of EXTRACT_OUT_KEYS) {
1187
- if (this.publisherHasFieldListener(pub, key)) return true;
1188
- }
1189
- return false;
1190
- }
1191
-
1192
- private syncManualRoisFromPublishers() {
1193
- const tryGet = (pub: OutPublisherLike | null) => {
1194
- if (!pub?.get) return;
1195
- try {
1196
- const data = pub.get() ?? {};
1197
- if ("rois" in data) this.manualRois = parseRois(data.rois);
1198
- } catch {
1199
- /* ignore */
1200
- }
1201
- };
1202
- tryGet(this.formPublisher as OutPublisherLike | null);
1203
- if (this.extractPublisher && this.extractPublisher !== this.formPublisher) {
1204
- tryGet(this.extractPublisher as OutPublisherLike | null);
1205
- }
1206
- }
1207
-
1208
- private resolveExtractInterval(): number {
1209
- if (this.extractInterval > 0) return Math.max(16, this.extractInterval);
1210
- return Math.max(16, this.outInterval || 100);
1211
- }
1212
-
1213
- /**
1214
- * Lit une ROI à la demande (hors throttle). Nécessite un runtime prêt.
1215
- */
1216
- async readRegion(roi: ShaderRoi): Promise<ShaderExtractItem | null> {
1217
- if (!this.runtime || !this.ready) return null;
1218
- const item = await this.buildExtractItem(roi, "manual", undefined);
1219
- return item;
1220
- }
1221
-
1222
- /** Lance une extraction complète immédiatement. */
1223
- async extractNow(): Promise<ShaderExtractOutput> {
1224
- const time = (performance.now() - this.startTime) / 1000;
1225
- return this.runExtract(time);
1226
- }
1227
-
1228
- private async maybeExtract(now: number, time: number) {
1229
- if (!this.extract || !this.ready || !this.runtime) return;
1230
- if (!this.extractPublisher) this.bindExtractPublisher();
1231
- if (!this.hasExtractConsumers()) return;
1232
- if (now - this.lastExtractAt < this.resolveExtractInterval()) return;
1233
- if (this.extractRunning) return;
1234
- this.lastExtractAt = now;
1235
- await this.runExtract(time);
1236
- }
1237
-
1238
- private async runExtract(time: number): Promise<ShaderExtractOutput> {
1239
- const empty: ShaderExtractOutput = {
1240
- frame: this.frame,
1241
- time: this.round3(time),
1242
- items: [],
1243
- };
1244
- if (!this.runtime || !this.ready) return empty;
1245
- this.extractRunning = true;
1246
- try {
1247
- this.syncManualRoisFromPublishers();
1248
- const { width: bufW, height: bufH } = this.runtime.size;
1249
- const rois: PendingRoi[] = this.manualRois.map((r) => ({
1250
- ...r,
1251
- source: "manual" as const,
1252
- }));
1253
-
1254
- const maskPass = parseExtractPass(this.extractMask);
1255
- if (maskPass) {
1256
- const full = this.runtime.readBufferRect(maskPass, 0, 0, bufW, bufH);
1257
- if (full) {
1258
- const peaks = findPeaks(full.data, full.width, full.height, {
1259
- threshold: this.extractThreshold,
1260
- maxCount: Math.max(0, Math.floor(this.extractMax)),
1261
- // Défaut ≈ patch/3 plafonné à 16 (doc) — laisse assez de coins espacés
1262
- minDistance: Math.max(
1263
- 8,
1264
- Math.floor(Math.min(this.extractPatch / 3, 16)),
1265
- ),
1266
- });
1267
- // Score relatif au meilleur peak du batch (ordre inchangé, UI lisible)
1268
- const topScore = peaks[0]?.score || 1;
1269
- for (let i = 0; i < peaks.length; i++) {
1270
- const p = peaks[i];
1271
- rois.push({
1272
- id: `detect-${i}`,
1273
- x: (p.x + 0.5) / bufW,
1274
- y: (p.y + 0.5) / bufH,
1275
- patch: this.extractPatch,
1276
- source: "detect",
1277
- score: topScore > 0 ? p.score / topScore : p.score,
1278
- });
1279
- }
1280
- }
1281
- }
1282
-
1283
- // Phase sync : tous les readPixels AVANT tout await
1284
- // (preserveDrawingBuffer=false → buffer Image vidé dès qu’on yield).
1285
- type PendingItem = {
1286
- item: ShaderExtractItem;
1287
- rgba: Uint8Array;
1288
- width: number;
1289
- height: number;
1290
- };
1291
- const pending: PendingItem[] = [];
1292
- let detectIdx = 0;
1293
- const pass = parseExtractPass(this.extractSource) ?? "image";
1294
-
1295
- for (const roi of rois) {
1296
- const source = roi.source === "detect" ? "detect" : "manual";
1297
- if (source === "detect") {
1298
- if (detectIdx >= Math.max(0, Math.floor(this.extractMax))) continue;
1299
- detectIdx++;
1300
- }
1301
- const px = roiToPixels(
1302
- roi,
1303
- bufW,
1304
- bufH,
1305
- this.extractPatch,
1306
- MAX_PATCH_PX,
1307
- );
1308
- if (!px) continue;
1309
- const rect =
1310
- pass === "image"
1311
- ? this.runtime.readRect(px.x, px.y, px.w, px.h)
1312
- : this.runtime.readBufferRect(pass, px.x, px.y, px.w, px.h);
1313
- if (!rect) continue;
1314
- // Copie : le buffer WebGL peut être réutilisé / invalidé ensuite
1315
- const rgba = new Uint8Array(rect.data);
1316
- const mean = meanRgba(rgba);
1317
- const item: ShaderExtractItem = {
1318
- id: roi.id || `${source}-${px.x}-${px.y}`,
1319
- x: this.round3(rect.x / bufW),
1320
- y: this.round3(rect.y / bufH),
1321
- w: this.round3(rect.width / bufW),
1322
- h: this.round3(rect.height / bufH),
1323
- meanR: this.round3(mean.r),
1324
- meanG: this.round3(mean.g),
1325
- meanB: this.round3(mean.b),
1326
- meanA: this.round3(mean.a),
1327
- meanLuma: this.round3(mean.luma),
1328
- source,
1329
- };
1330
- if (typeof roi.score === "number") item.score = this.round3(roi.score);
1331
- pending.push({
1332
- item,
1333
- rgba,
1334
- width: rect.width,
1335
- height: rect.height,
1336
- });
1337
- }
1338
-
1339
- // Phase async : bitmaps (après copies CPU)
1340
- if (this.extractBitmaps) {
1341
- const token = this.rebuildToken;
1342
- for (const p of pending) {
1343
- if (token !== this.rebuildToken || !this.isConnected) {
1344
- for (const q of pending) {
1345
- if (q.item.blobUrl) revokeMediaUrls([q.item.blobUrl]);
1346
- }
1347
- return empty;
1348
- }
1349
- const url = await rgbaToBlobUrl(p.rgba, p.width, p.height);
1350
- if (token !== this.rebuildToken || !this.isConnected) {
1351
- if (url) revokeMediaUrls([url]);
1352
- for (const q of pending) {
1353
- if (q.item.blobUrl) revokeMediaUrls([q.item.blobUrl]);
1354
- }
1355
- return empty;
1356
- }
1357
- if (url) assignExtractMediaUrls(p.item, url);
1358
- }
1359
- }
1360
-
1361
- if (!this.isConnected) {
1362
- for (const p of pending) {
1363
- if (p.item.blobUrl) revokeMediaUrls([p.item.blobUrl]);
1364
- }
1365
- return empty;
1366
- }
1367
-
1368
- const items = pending.map((p) => p.item);
1369
- const payload: ShaderExtractOutput = {
1370
- frame: this.frame,
1371
- time: this.round3(time),
1372
- items,
1373
- };
1374
- this.publishExtract(payload);
1375
- return payload;
1376
- } finally {
1377
- this.extractRunning = false;
1378
- }
1379
- }
1380
-
1381
- private async buildExtractItem(
1382
- roi: ShaderRoi,
1383
- source: "manual" | "detect",
1384
- score?: number,
1385
- ): Promise<ShaderExtractItem | null> {
1386
- if (!this.runtime) return null;
1387
- const { width: bufW, height: bufH } = this.runtime.size;
1388
- const px = roiToPixels(roi, bufW, bufH, this.extractPatch, MAX_PATCH_PX);
1389
- if (!px) return null;
1390
- const pass = parseExtractPass(this.extractSource) ?? "image";
1391
- const rect =
1392
- pass === "image"
1393
- ? this.runtime.readRect(px.x, px.y, px.w, px.h)
1394
- : this.runtime.readBufferRect(pass, px.x, px.y, px.w, px.h);
1395
- if (!rect) return null;
1396
- const mean = meanRgba(rect.data);
1397
- const item: ShaderExtractItem = {
1398
- id: roi.id || `${source}-${px.x}-${px.y}`,
1399
- x: this.round3(rect.x / bufW),
1400
- y: this.round3(rect.y / bufH),
1401
- w: this.round3(rect.width / bufW),
1402
- h: this.round3(rect.height / bufH),
1403
- meanR: this.round3(mean.r),
1404
- meanG: this.round3(mean.g),
1405
- meanB: this.round3(mean.b),
1406
- meanA: this.round3(mean.a),
1407
- meanLuma: this.round3(mean.luma),
1408
- source,
1409
- };
1410
- if (typeof score === "number") item.score = this.round3(score);
1411
- if (this.extractBitmaps) {
1412
- const token = this.rebuildToken;
1413
- const url = await rgbaToBlobUrl(rect.data, rect.width, rect.height);
1414
- if (token !== this.rebuildToken || !this.isConnected) {
1415
- if (url) revokeMediaUrls([url]);
1416
- return null;
1417
- }
1418
- if (url) assignExtractMediaUrls(item, url);
1419
- }
1420
- return item;
1421
- }
1422
-
1423
- private publishExtract(payload: ShaderExtractOutput) {
1424
- // Ne pas révoquer tout de suite : les <img> du batch précédent casseraient.
1425
- this.scheduleRevokePreviousBlobs(this.lastBlobUrls);
1426
- this.lastBlobUrls = [];
1427
- for (const it of payload.items) {
1428
- if (it.blobUrl) this.lastBlobUrls.push(it.blobUrl);
1429
- }
1430
- this.extractSeq++;
1431
- if (!this.extractPublisher) this.bindExtractPublisher();
1432
- const pub = this.extractPublisher;
1433
- if (pub) {
1434
- // Set atomique sur la racine : invalide `_cachedGet_` du parent.
1435
- // (pub.extracts.set(...) seul laisse un snapshot périmé → 1 seul item en get()).
1436
- try {
1437
- const prev =
1438
- ((pub as { get?: () => Record<string, unknown> }).get?.() as
1439
- | Record<string, unknown>
1440
- | null
1441
- | undefined) ?? {};
1442
- (pub as { set: (v: unknown) => void }).set({
1443
- ...prev,
1444
- rois: Array.isArray(prev.rois) ? prev.rois : this.manualRois,
1445
- extracts: payload.items,
1446
- extractCount: payload.items.length,
1447
- extractSeq: this.extractSeq,
1448
- });
1449
- } catch {
1450
- try {
1451
- (pub as Record<string, { set: (v: unknown) => void }>).extracts.set(
1452
- payload.items,
1453
- );
1454
- (
1455
- pub as Record<string, { set: (v: unknown) => void }>
1456
- ).extractCount.set(payload.items.length);
1457
- (
1458
- pub as Record<string, { set: (v: unknown) => void }>
1459
- ).extractSeq.set(this.extractSeq);
1460
- } catch {
1461
- /* ignore */
1462
- }
1463
- }
1464
- }
1465
- this.dispatchEvent(
1466
- new CustomEvent("extract", {
1467
- detail: payload,
1468
- bubbles: true,
1469
- composed: true,
1470
- }),
1471
- );
1472
- }
1473
-
1474
- /**
1475
- * Mode target : poursuite exponentielle (vitesse proportionnelle à la distance).
1476
- * Frame-rate indépendant via `1 - exp(-speed * dt)`.
1477
- */
1478
- private advanceMouseFollow(dt: number) {
1479
- if (!this.mouse || this.mouseMode !== "target" || !this.mouseHasPointer) {
1480
- return;
1481
- }
1482
- const speed = Math.max(0, this.mouseSpeed);
1483
- const t = speed <= 0 || dt <= 0 ? 1 : 1 - Math.exp(-speed * dt);
1484
- this.mouseFollow[0] += (this.mouseTarget[0] - this.mouseFollow[0]) * t;
1485
- this.mouseFollow[1] += (this.mouseTarget[1] - this.mouseFollow[1]) * t;
1486
- this.mouseVec[0] = this.mouseFollow[0];
1487
- this.mouseVec[1] = this.mouseFollow[1];
1488
- }
1489
-
1490
- /** Rollover / roll-out → easing de `hoverMix` (0↔1) pour le slot choisi. */
1491
- private advanceHover(dt: number) {
1492
- if (parseHoverParam(this.hoverParam) === null) return;
1493
- const speed = Math.max(0, this.hoverSpeed);
1494
- const t = speed <= 0 || dt <= 0 ? 1 : 1 - Math.exp(-speed * dt);
1495
- const next = this.hoverMix + (this.hoverGoal - this.hoverMix) * t;
1496
- // Snap pour éviter une micro-animation infinie (play-on-hover qui redémarre).
1497
- this.hoverMix =
1498
- Math.abs(next - this.hoverGoal) < 0.002 ? this.hoverGoal : next;
1499
- }
1500
-
1501
- private localPointer(e: PointerEvent): { x: number; y: number } {
1502
- const rect = this.getBoundingClientRect();
1503
- const dpr = Math.min(window.devicePixelRatio || 1, this.dprMax);
1504
- const x = (e.clientX - rect.left) * dpr;
1505
- const y = (rect.height - (e.clientY - rect.top)) * dpr;
1506
- return { x, y };
1507
- }
1508
-
1509
- private setPointerTarget(x: number, y: number, snap = false) {
1510
- this.mouseTarget[0] = x;
1511
- this.mouseTarget[1] = y;
1512
- if (!this.mouseHasPointer || snap || this.mouseMode === "direct") {
1513
- this.mouseHasPointer = true;
1514
- this.mouseFollow[0] = x;
1515
- this.mouseFollow[1] = y;
1516
- this.mouseVec[0] = x;
1517
- this.mouseVec[1] = y;
1518
- }
1519
- }
1520
-
1521
- private onPointerMove = (e: PointerEvent) => {
1522
- if (!this.mouse) return;
1523
- const { x, y } = this.localPointer(e);
1524
- this.setPointerTarget(x, y);
1525
- if (this.pointerDown) {
1526
- this.mouseVec[2] = x;
1527
- this.mouseVec[3] = y;
1528
- }
1529
- };
1530
-
1531
- private onPointerDown = (e: PointerEvent) => {
1532
- if (!this.mouse) return;
1533
- this.pointerDown = true;
1534
- this.setPointerCapture?.(e.pointerId);
1535
- const { x, y } = this.localPointer(e);
1536
- this.setPointerTarget(x, y, true);
1537
- this.mouseVec[2] = x;
1538
- this.mouseVec[3] = y;
1539
- };
1540
-
1541
- private onPointerUp = (e: PointerEvent) => {
1542
- if (!this.mouse) return;
1543
- this.pointerDown = false;
1544
- const { x, y } = this.localPointer(e);
1545
- this.setPointerTarget(x, y);
1546
- this.mouseVec[2] = -Math.abs(this.mouseVec[2]);
1547
- this.mouseVec[3] = -Math.abs(this.mouseVec[3]);
1548
- };
1549
-
1550
- private onPointerEnter = () => {
1551
- if (this.leaveRaf) {
1552
- cancelAnimationFrame(this.leaveRaf);
1553
- this.leaveRaf = 0;
1554
- }
1555
- this.hovering = true;
1556
- this.hoverGoal = 1;
1557
- this.syncPlayback();
1558
- };
1559
-
1560
- private onPointerLeave = () => {
1561
- // Différer : un leave parasite (re-render / enfant shadow) suivi d’un
1562
- // re-enter immédiat provoquait activation↔désactivation en boucle.
1563
- if (this.leaveRaf) cancelAnimationFrame(this.leaveRaf);
1564
- this.leaveRaf = requestAnimationFrame(() => {
1565
- this.leaveRaf = 0;
1566
- if (!this.isConnected || this.matches(":hover")) return;
1567
- this.hovering = false;
1568
- this.hoverGoal = 0;
1569
- this.pointerDown = false;
1570
- this.syncPlayback();
1571
- });
1572
- };
1573
-
1574
- render() {
1575
- return html`
1576
- <canvas part="canvas"></canvas>
1577
- ${this.errorMessage
1578
- ? html`<div class="err" part="error">${this.errorMessage}</div>`
1579
- : null}
1580
- `;
1581
- }
1582
- }
1583
-
1584
- export { parseChannelSource, ShaderToyRuntime, shouldUploadElementFrame } from "./gl-runtime";
1585
- export { buildFragmentSource } from "./shadertoy-prelude";
1586
- export type {
1587
- ChannelSource,
1588
- ShaderExtractItem,
1589
- ShaderExtractOutput,
1590
- ShaderExtractPass,
1591
- ShaderHoverParam,
1592
- ShaderMouseMode,
1593
- ShaderParamSlot,
1594
- ShaderPassId,
1595
- ShaderPeak,
1596
- ShaderRoi,
1597
- ShaderSources,
1598
- SonicShaderConfig,
1599
- SonicShaderOutput,
1600
- } from "./types";
1601
- export type {
1602
- SonicMediaRef,
1603
- SonicFrameSource,
1604
- } from "@supersoniks/concorde/core/utils/mediaRef";
1605
- export {
1606
- toMediaUrl,
1607
- cloneMediaRef,
1608
- isFrameSource,
1609
- mediaElementKey,
1610
- } from "@supersoniks/concorde/core/utils/mediaRef";
1611
- export {
1612
- findPeaks,
1613
- meanRgba,
1614
- parseExtractPass,
1615
- parseHoverParam,
1616
- roiToPixels,
1617
- ShaderCompileError,
1618
- } from "./types";
1619
-
1620
- declare global {
1621
- interface HTMLElementTagNameMap {
1622
- [tagName]: SonicShader;
1623
- }
1624
- }