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

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 (476) hide show
  1. package/.gitlab-ci.yml +0 -13
  2. package/build-infos.json +1 -1
  3. package/concorde-3d.bundle.js +201 -152
  4. package/concorde-3d.es.js +14688 -13906
  5. package/concorde-core.bundle.js +557 -622
  6. package/concorde-core.es.js +6025 -5575
  7. package/concorde-hugging-face-infer.bundle.js +1 -1
  8. package/concorde-hugging-face-infer.es.js +1 -1
  9. package/concorde-interactive.bundle.js +1162 -0
  10. package/concorde-interactive.es.js +10723 -0
  11. package/concorde-shader.bundle.js +31 -20
  12. package/concorde-shader.es.js +2773 -2547
  13. package/concorde-webgpu.bundle.js +43 -32
  14. package/concorde-webgpu.es.js +1819 -1553
  15. package/dist/concorde-3d.bundle.js +201 -152
  16. package/dist/concorde-3d.es.js +14688 -13906
  17. package/dist/concorde-core.bundle.js +557 -622
  18. package/dist/concorde-core.es.js +6025 -5575
  19. package/dist/concorde-hugging-face-infer.bundle.js +1 -1
  20. package/dist/concorde-hugging-face-infer.es.js +1 -1
  21. package/dist/concorde-interactive.bundle.js +1162 -0
  22. package/dist/concorde-interactive.es.js +10723 -0
  23. package/dist/concorde-shader.bundle.js +31 -20
  24. package/dist/concorde-shader.es.js +2773 -2547
  25. package/dist/concorde-webgpu.bundle.js +43 -32
  26. package/dist/concorde-webgpu.es.js +1819 -1553
  27. package/dist/docs-mock-api-sw.js +5 -1
  28. package/dist/docs-mock-api-sw.js.map +2 -2
  29. package/dist/js/addons/interactive.js +6 -0
  30. package/dist/js/addons/interactive.js.map +1 -0
  31. package/dist/js/core/components/functional/3d/3d.js +90 -2
  32. package/dist/js/core/components/functional/3d/3d.js.map +1 -1
  33. package/dist/js/core/components/functional/3d/constants.js +1 -0
  34. package/dist/js/core/components/functional/3d/constants.js.map +1 -1
  35. package/dist/js/core/components/functional/3d/ensure.js +6 -3
  36. package/dist/js/core/components/functional/3d/ensure.js.map +1 -1
  37. package/dist/js/core/components/functional/3d/form-params.js +2 -0
  38. package/dist/js/core/components/functional/3d/form-params.js.map +1 -1
  39. package/dist/js/core/components/functional/3d/life.js +2 -1
  40. package/dist/js/core/components/functional/3d/life.js.map +1 -1
  41. package/dist/js/core/components/functional/3d/out-publish.js +3 -2
  42. package/dist/js/core/components/functional/3d/out-publish.js.map +1 -1
  43. package/dist/js/core/components/functional/3d/playback.js +6 -1
  44. package/dist/js/core/components/functional/3d/playback.js.map +1 -1
  45. package/dist/js/core/components/functional/3d/post-bind.js +207 -0
  46. package/dist/js/core/components/functional/3d/post-bind.js.map +1 -0
  47. package/dist/js/core/components/functional/3d/post-channels.js +39 -0
  48. package/dist/js/core/components/functional/3d/post-channels.js.map +1 -0
  49. package/dist/js/core/components/functional/3d/post-fx.js +495 -0
  50. package/dist/js/core/components/functional/3d/post-fx.js.map +1 -0
  51. package/dist/js/core/components/functional/3d/props.js +142 -0
  52. package/dist/js/core/components/functional/3d/props.js.map +1 -1
  53. package/dist/js/core/components/functional/3d/reload.js +2 -0
  54. package/dist/js/core/components/functional/3d/reload.js.map +1 -1
  55. package/dist/js/core/components/functional/3d/runtime.js +80 -3
  56. package/dist/js/core/components/functional/3d/runtime.js.map +1 -1
  57. package/dist/js/core/components/functional/3d/scene-runtime.js +1 -1
  58. package/dist/js/core/components/functional/3d/scene-runtime.js.map +1 -1
  59. package/dist/js/core/components/functional/3d/tune.js +21 -0
  60. package/dist/js/core/components/functional/3d/tune.js.map +1 -1
  61. package/dist/js/core/components/functional/3d/updated.js +13 -1
  62. package/dist/js/core/components/functional/3d/updated.js.map +1 -1
  63. package/dist/js/core/components/functional/if/if.js +65 -7
  64. package/dist/js/core/components/functional/if/if.js.map +1 -1
  65. package/dist/js/core/components/functional/interactive/action.js +96 -0
  66. package/dist/js/core/components/functional/interactive/action.js.map +1 -0
  67. package/dist/js/core/components/functional/interactive/gamepad.js +206 -0
  68. package/dist/js/core/components/functional/interactive/gamepad.js.map +1 -0
  69. package/dist/js/core/components/functional/interactive/gesture.js +148 -0
  70. package/dist/js/core/components/functional/interactive/gesture.js.map +1 -0
  71. package/dist/js/core/components/functional/interactive/helpers.js +82 -0
  72. package/dist/js/core/components/functional/interactive/helpers.js.map +1 -0
  73. package/dist/js/core/components/functional/interactive/index.js +20 -0
  74. package/dist/js/core/components/functional/interactive/index.js.map +1 -0
  75. package/dist/js/core/components/functional/interactive/keyboard.js +183 -0
  76. package/dist/js/core/components/functional/interactive/keyboard.js.map +1 -0
  77. package/dist/js/core/components/functional/interactive/matrix.js +201 -0
  78. package/dist/js/core/components/functional/interactive/matrix.js.map +1 -0
  79. package/dist/js/core/components/functional/interactive/registry.js +28 -0
  80. package/dist/js/core/components/functional/interactive/registry.js.map +1 -0
  81. package/dist/js/core/components/functional/interactive/store.js +264 -0
  82. package/dist/js/core/components/functional/interactive/store.js.map +1 -0
  83. package/dist/js/core/components/functional/interactive/ticker.js +182 -0
  84. package/dist/js/core/components/functional/interactive/ticker.js.map +1 -0
  85. package/dist/js/core/components/functional/shader/gl-runtime.js +128 -14
  86. package/dist/js/core/components/functional/shader/gl-runtime.js.map +1 -1
  87. package/dist/js/core/components/functional/shader/shader.js +154 -57
  88. package/dist/js/core/components/functional/shader/shader.js.map +1 -1
  89. package/dist/js/core/components/functional/shader/shadertoy-prelude.js +39 -5
  90. package/dist/js/core/components/functional/shader/shadertoy-prelude.js.map +1 -1
  91. package/dist/js/core/components/functional/shader/types.js +58 -7
  92. package/dist/js/core/components/functional/shader/types.js.map +1 -1
  93. package/dist/js/core/components/functional/value/value.js +49 -4
  94. package/dist/js/core/components/functional/value/value.js.map +1 -1
  95. package/dist/js/core/components/functional/webgpu/gl-fallback.js +27 -6
  96. package/dist/js/core/components/functional/webgpu/gl-fallback.js.map +1 -1
  97. package/dist/js/core/components/functional/webgpu/gpu-runtime.js +115 -13
  98. package/dist/js/core/components/functional/webgpu/gpu-runtime.js.map +1 -1
  99. package/dist/js/core/components/functional/webgpu/helpers.js +8 -2
  100. package/dist/js/core/components/functional/webgpu/helpers.js.map +1 -1
  101. package/dist/js/core/components/functional/webgpu/webgpu.js +34 -1
  102. package/dist/js/core/components/functional/webgpu/webgpu.js.map +1 -1
  103. package/dist/js/core/components/ui/_css/rounded.js +34 -0
  104. package/dist/js/core/components/ui/_css/rounded.js.map +1 -0
  105. package/dist/js/core/components/ui/_css/type.js +44 -0
  106. package/dist/js/core/components/ui/_css/type.js.map +1 -1
  107. package/dist/js/core/components/ui/_i18n/ui-aria-labels.js +95 -0
  108. package/dist/js/core/components/ui/_i18n/ui-aria-labels.js.map +1 -0
  109. package/dist/js/core/components/ui/alert/alert.js +72 -87
  110. package/dist/js/core/components/ui/alert/alert.js.map +1 -1
  111. package/dist/js/core/components/ui/alert-messages/alert-messages.js +1 -0
  112. package/dist/js/core/components/ui/alert-messages/alert-messages.js.map +1 -1
  113. package/dist/js/core/components/ui/badge/badge.js +29 -80
  114. package/dist/js/core/components/ui/badge/badge.js.map +1 -1
  115. package/dist/js/core/components/ui/button/button.js +8 -7
  116. package/dist/js/core/components/ui/button/button.js.map +1 -1
  117. package/dist/js/core/components/ui/card/card-header.js +7 -2
  118. package/dist/js/core/components/ui/card/card-header.js.map +1 -1
  119. package/dist/js/core/components/ui/divider/divider.js +1 -1
  120. package/dist/js/core/components/ui/divider/divider.js.map +1 -1
  121. package/dist/js/core/components/ui/form/checkbox/checkbox.js +4 -20
  122. package/dist/js/core/components/ui/form/checkbox/checkbox.js.map +1 -1
  123. package/dist/js/core/components/ui/form/fieldset/legend-description.js +1 -1
  124. package/dist/js/core/components/ui/form/fieldset/legend.js +1 -1
  125. package/dist/js/core/components/ui/form/input/input.js +12 -15
  126. package/dist/js/core/components/ui/form/input/input.js.map +1 -1
  127. package/dist/js/core/components/ui/form/input-autocomplete/input-autocomplete.js +363 -158
  128. package/dist/js/core/components/ui/form/input-autocomplete/input-autocomplete.js.map +1 -1
  129. package/dist/js/core/components/ui/form/radio/radio.js +1 -1
  130. package/dist/js/core/components/ui/form/select/select.js +3 -6
  131. package/dist/js/core/components/ui/form/select/select.js.map +1 -1
  132. package/dist/js/core/components/ui/form/textarea/textarea.js +1 -2
  133. package/dist/js/core/components/ui/form/textarea/textarea.js.map +1 -1
  134. package/dist/js/core/components/ui/image/image.js +9 -37
  135. package/dist/js/core/components/ui/image/image.js.map +1 -1
  136. package/dist/js/core/components/ui/link/link.js +25 -26
  137. package/dist/js/core/components/ui/link/link.js.map +1 -1
  138. package/dist/js/core/components/ui/modal/modal-close.js +3 -12
  139. package/dist/js/core/components/ui/modal/modal-close.js.map +1 -1
  140. package/dist/js/core/components/ui/modal/modal.js +18 -18
  141. package/dist/js/core/components/ui/modal/modal.js.map +1 -1
  142. package/dist/js/core/components/ui/pop/pop.js +131 -112
  143. package/dist/js/core/components/ui/pop/pop.js.map +1 -1
  144. package/dist/js/core/components/ui/table/table.js.map +1 -1
  145. package/dist/js/core/components/ui/theme/theme.js +1 -1
  146. package/dist/js/core/components/ui/toast/dismissed.js +9 -0
  147. package/dist/js/core/components/ui/toast/dismissed.js.map +1 -0
  148. package/dist/js/core/components/ui/toast/render-content.js +14 -0
  149. package/dist/js/core/components/ui/toast/render-content.js.map +1 -0
  150. package/dist/js/core/components/ui/toast/toast-item.js +150 -96
  151. package/dist/js/core/components/ui/toast/toast-item.js.map +1 -1
  152. package/dist/js/core/components/ui/toast/toast.js +41 -13
  153. package/dist/js/core/components/ui/toast/toast.js.map +1 -1
  154. package/dist/js/core/components/ui/tooltip/tooltip.js +144 -143
  155. package/dist/js/core/components/ui/tooltip/tooltip.js.map +1 -1
  156. package/dist/js/core/decorators/subscriber/ancestorAttribute.js.map +1 -1
  157. package/dist/js/core/decorators/subscriber/derive.js +3 -1
  158. package/dist/js/core/decorators/subscriber/derive.js.map +1 -1
  159. package/dist/js/core/mixins/Fetcher.js.map +1 -1
  160. package/dist/js/core/mixins/FormCheckable.js +1 -8
  161. package/dist/js/core/mixins/FormCheckable.js.map +1 -1
  162. package/dist/js/core/mixins/FormElement.js +26 -53
  163. package/dist/js/core/mixins/FormElement.js.map +1 -1
  164. package/dist/js/core/utils/AncestorAttributeObserver.js +130 -55
  165. package/dist/js/core/utils/AncestorAttributeObserver.js.map +1 -1
  166. package/dist/js/core/utils/LocationHandler.js +1 -1
  167. package/dist/js/core/utils/LocationHandler.js.map +1 -1
  168. package/dist/js/core/utils/dismissed.js +23 -0
  169. package/dist/js/core/utils/dismissed.js.map +1 -0
  170. package/dist/js/core/utils/mediaRef.js +37 -0
  171. package/dist/js/core/utils/mediaRef.js.map +1 -1
  172. package/dist/js/core/utils/positioning.js +110 -0
  173. package/dist/js/core/utils/positioning.js.map +1 -0
  174. package/dist/js/directives.js +1 -2
  175. package/dist/js/directives.js.map +1 -1
  176. package/dist/types/addons/interactive.d.ts +6 -0
  177. package/dist/types/addons/interactive.d.ts.map +1 -0
  178. package/dist/types/core/components/functional/3d/3d.d.ts +26 -3
  179. package/dist/types/core/components/functional/3d/3d.d.ts.map +1 -1
  180. package/dist/types/core/components/functional/3d/constants.d.ts +1 -1
  181. package/dist/types/core/components/functional/3d/constants.d.ts.map +1 -1
  182. package/dist/types/core/components/functional/3d/ensure.d.ts +3 -0
  183. package/dist/types/core/components/functional/3d/ensure.d.ts.map +1 -1
  184. package/dist/types/core/components/functional/3d/form-params.d.ts.map +1 -1
  185. package/dist/types/core/components/functional/3d/life.d.ts +2 -0
  186. package/dist/types/core/components/functional/3d/life.d.ts.map +1 -1
  187. package/dist/types/core/components/functional/3d/out-publish.d.ts +1 -0
  188. package/dist/types/core/components/functional/3d/out-publish.d.ts.map +1 -1
  189. package/dist/types/core/components/functional/3d/playback.d.ts +9 -0
  190. package/dist/types/core/components/functional/3d/playback.d.ts.map +1 -1
  191. package/dist/types/core/components/functional/3d/post-bind.d.ts +52 -0
  192. package/dist/types/core/components/functional/3d/post-bind.d.ts.map +1 -0
  193. package/dist/types/core/components/functional/3d/post-channels.d.ts +40 -0
  194. package/dist/types/core/components/functional/3d/post-channels.d.ts.map +1 -0
  195. package/dist/types/core/components/functional/3d/post-fx.d.ts +73 -0
  196. package/dist/types/core/components/functional/3d/post-fx.d.ts.map +1 -0
  197. package/dist/types/core/components/functional/3d/props.d.ts +42 -0
  198. package/dist/types/core/components/functional/3d/props.d.ts.map +1 -1
  199. package/dist/types/core/components/functional/3d/reload.d.ts.map +1 -1
  200. package/dist/types/core/components/functional/3d/runtime.d.ts +16 -1
  201. package/dist/types/core/components/functional/3d/runtime.d.ts.map +1 -1
  202. package/dist/types/core/components/functional/3d/scene-runtime.d.ts +1 -1
  203. package/dist/types/core/components/functional/3d/scene-runtime.d.ts.map +1 -1
  204. package/dist/types/core/components/functional/3d/tune.d.ts +5 -0
  205. package/dist/types/core/components/functional/3d/tune.d.ts.map +1 -1
  206. package/dist/types/core/components/functional/3d/types.d.ts +9 -0
  207. package/dist/types/core/components/functional/3d/types.d.ts.map +1 -1
  208. package/dist/types/core/components/functional/3d/updated.d.ts.map +1 -1
  209. package/dist/types/core/components/functional/if/if.d.ts +14 -5
  210. package/dist/types/core/components/functional/if/if.d.ts.map +1 -1
  211. package/dist/types/core/components/functional/interactive/action.d.ts +22 -0
  212. package/dist/types/core/components/functional/interactive/action.d.ts.map +1 -0
  213. package/dist/types/core/components/functional/interactive/gamepad.d.ts +37 -0
  214. package/dist/types/core/components/functional/interactive/gamepad.d.ts.map +1 -0
  215. package/dist/types/core/components/functional/interactive/gesture.d.ts +26 -0
  216. package/dist/types/core/components/functional/interactive/gesture.d.ts.map +1 -0
  217. package/dist/types/core/components/functional/interactive/helpers.d.ts +23 -0
  218. package/dist/types/core/components/functional/interactive/helpers.d.ts.map +1 -0
  219. package/dist/types/core/components/functional/interactive/index.d.ts +20 -0
  220. package/dist/types/core/components/functional/interactive/index.d.ts.map +1 -0
  221. package/dist/types/core/components/functional/interactive/keyboard.d.ts +37 -0
  222. package/dist/types/core/components/functional/interactive/keyboard.d.ts.map +1 -0
  223. package/dist/types/core/components/functional/interactive/matrix.d.ts +31 -0
  224. package/dist/types/core/components/functional/interactive/matrix.d.ts.map +1 -0
  225. package/dist/types/core/components/functional/interactive/registry.d.ts +23 -0
  226. package/dist/types/core/components/functional/interactive/registry.d.ts.map +1 -0
  227. package/dist/types/core/components/functional/interactive/store.d.ts +46 -0
  228. package/dist/types/core/components/functional/interactive/store.d.ts.map +1 -0
  229. package/dist/types/core/components/functional/interactive/ticker.d.ts +33 -0
  230. package/dist/types/core/components/functional/interactive/ticker.d.ts.map +1 -0
  231. package/dist/types/core/components/functional/shader/gl-runtime.d.ts +33 -1
  232. package/dist/types/core/components/functional/shader/gl-runtime.d.ts.map +1 -1
  233. package/dist/types/core/components/functional/shader/shader.d.ts +28 -7
  234. package/dist/types/core/components/functional/shader/shader.d.ts.map +1 -1
  235. package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts +16 -2
  236. package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts.map +1 -1
  237. package/dist/types/core/components/functional/shader/types.d.ts +29 -5
  238. package/dist/types/core/components/functional/shader/types.d.ts.map +1 -1
  239. package/dist/types/core/components/functional/value/value.d.ts +6 -0
  240. package/dist/types/core/components/functional/value/value.d.ts.map +1 -1
  241. package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts +4 -0
  242. package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts.map +1 -1
  243. package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts +14 -0
  244. package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts.map +1 -1
  245. package/dist/types/core/components/functional/webgpu/helpers.d.ts +1 -0
  246. package/dist/types/core/components/functional/webgpu/helpers.d.ts.map +1 -1
  247. package/dist/types/core/components/functional/webgpu/webgpu.d.ts +7 -1
  248. package/dist/types/core/components/functional/webgpu/webgpu.d.ts.map +1 -1
  249. package/dist/types/core/components/ui/_css/rounded.d.ts +3 -0
  250. package/dist/types/core/components/ui/_css/rounded.d.ts.map +1 -0
  251. package/dist/types/core/components/ui/_css/type.d.ts +13 -0
  252. package/dist/types/core/components/ui/_css/type.d.ts.map +1 -1
  253. package/dist/types/core/components/ui/_i18n/ui-aria-labels.d.ts +83 -0
  254. package/dist/types/core/components/ui/_i18n/ui-aria-labels.d.ts.map +1 -0
  255. package/dist/types/core/components/ui/alert/alert.d.ts +14 -12
  256. package/dist/types/core/components/ui/alert/alert.d.ts.map +1 -1
  257. package/dist/types/core/components/ui/alert-messages/alert-messages.d.ts.map +1 -1
  258. package/dist/types/core/components/ui/badge/badge.d.ts +1 -1
  259. package/dist/types/core/components/ui/badge/badge.d.ts.map +1 -1
  260. package/dist/types/core/components/ui/button/button.d.ts +13 -29
  261. package/dist/types/core/components/ui/button/button.d.ts.map +1 -1
  262. package/dist/types/core/components/ui/card/card-header.d.ts.map +1 -1
  263. package/dist/types/core/components/ui/divider/divider.d.ts +2 -1
  264. package/dist/types/core/components/ui/divider/divider.d.ts.map +1 -1
  265. package/dist/types/core/components/ui/form/checkbox/checkbox.d.ts +25 -73
  266. package/dist/types/core/components/ui/form/checkbox/checkbox.d.ts.map +1 -1
  267. package/dist/types/core/components/ui/form/input/input.d.ts +14 -29
  268. package/dist/types/core/components/ui/form/input/input.d.ts.map +1 -1
  269. package/dist/types/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts +63 -65
  270. package/dist/types/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts.map +1 -1
  271. package/dist/types/core/components/ui/form/radio/radio.d.ts +1 -1
  272. package/dist/types/core/components/ui/form/select/select.d.ts +3 -5
  273. package/dist/types/core/components/ui/form/select/select.d.ts.map +1 -1
  274. package/dist/types/core/components/ui/form/textarea/textarea.d.ts +12 -28
  275. package/dist/types/core/components/ui/form/textarea/textarea.d.ts.map +1 -1
  276. package/dist/types/core/components/ui/image/image.d.ts +2 -1
  277. package/dist/types/core/components/ui/image/image.d.ts.map +1 -1
  278. package/dist/types/core/components/ui/link/link.d.ts +10 -9
  279. package/dist/types/core/components/ui/link/link.d.ts.map +1 -1
  280. package/dist/types/core/components/ui/modal/modal-close.d.ts +2 -2
  281. package/dist/types/core/components/ui/modal/modal-close.d.ts.map +1 -1
  282. package/dist/types/core/components/ui/pop/pop.d.ts +12 -4
  283. package/dist/types/core/components/ui/pop/pop.d.ts.map +1 -1
  284. package/dist/types/core/components/ui/table/table.d.ts +2 -1
  285. package/dist/types/core/components/ui/table/table.d.ts.map +1 -1
  286. package/dist/types/core/components/ui/toast/dismissed.d.ts +3 -0
  287. package/dist/types/core/components/ui/toast/dismissed.d.ts.map +1 -0
  288. package/dist/types/core/components/ui/toast/render-content.d.ts +7 -0
  289. package/dist/types/core/components/ui/toast/render-content.d.ts.map +1 -0
  290. package/dist/types/core/components/ui/toast/toast-item.d.ts +26 -9
  291. package/dist/types/core/components/ui/toast/toast-item.d.ts.map +1 -1
  292. package/dist/types/core/components/ui/toast/toast.d.ts +6 -3
  293. package/dist/types/core/components/ui/toast/toast.d.ts.map +1 -1
  294. package/dist/types/core/components/ui/toast/types.d.ts +12 -2
  295. package/dist/types/core/components/ui/toast/types.d.ts.map +1 -1
  296. package/dist/types/core/components/ui/tooltip/tooltip.d.ts +19 -11
  297. package/dist/types/core/components/ui/tooltip/tooltip.d.ts.map +1 -1
  298. package/dist/types/core/decorators/subscriber/ancestorAttribute.d.ts +3 -4
  299. package/dist/types/core/decorators/subscriber/ancestorAttribute.d.ts.map +1 -1
  300. package/dist/types/core/decorators/subscriber/derive.d.ts.map +1 -1
  301. package/dist/types/core/mixins/FormCheckable.d.ts +10 -27
  302. package/dist/types/core/mixins/FormCheckable.d.ts.map +1 -1
  303. package/dist/types/core/mixins/FormElement.d.ts +21 -10
  304. package/dist/types/core/mixins/FormElement.d.ts.map +1 -1
  305. package/dist/types/core/mixins/FormInput.d.ts +11 -27
  306. package/dist/types/core/mixins/FormInput.d.ts.map +1 -1
  307. package/dist/types/core/utils/AncestorAttributeObserver.d.ts +17 -9
  308. package/dist/types/core/utils/AncestorAttributeObserver.d.ts.map +1 -1
  309. package/dist/types/core/utils/LocationHandler.d.ts +3 -2
  310. package/dist/types/core/utils/LocationHandler.d.ts.map +1 -1
  311. package/dist/types/core/utils/dismissed.d.ts +3 -0
  312. package/dist/types/core/utils/dismissed.d.ts.map +1 -0
  313. package/dist/types/core/utils/mediaRef.d.ts +15 -0
  314. package/dist/types/core/utils/mediaRef.d.ts.map +1 -1
  315. package/dist/types/core/utils/positioning.d.ts +44 -0
  316. package/dist/types/core/utils/positioning.d.ts.map +1 -0
  317. package/dist/types/directives.d.ts +1 -3
  318. package/dist/types/directives.d.ts.map +1 -1
  319. package/dist/types/mixins.d.ts +22 -55
  320. package/dist/types/mixins.d.ts.map +1 -1
  321. package/docs/assets/{index-FmK4JaIM.js → index-D8MVWqY6.js} +946 -687
  322. package/docs/assets/index-DiD0qYvE.css +1 -0
  323. package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +17 -85
  324. package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +1 -1
  325. package/docs/crawl/hubs/form-components.html +13 -11
  326. package/docs/docs-mock-api-sw.js +5 -1
  327. package/docs/docs-mock-api-sw.js.map +2 -2
  328. package/docs/index.html +2 -2
  329. package/docs/llms-full.txt +12 -38
  330. package/docs/llms.txt +1 -1
  331. package/docs/src/core/components/functional/sdui/sdui.md +0 -0
  332. package/docs/src/core/components/ui/form/checkbox/checkbox.md +0 -0
  333. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +14 -118
  334. package/docs/src/docs/_getting-started/create-a-component.md +0 -0
  335. package/docs/src/docs/_misc/formelement-subscriber-removal.md +1 -1
  336. package/docs/src/docs/search/docs-search.json +195 -200
  337. package/docs/src/tsconfig.json +324 -0
  338. package/gitlab/job_tests.sh +25 -12
  339. package/index.html +3 -3
  340. package/package.json +217 -9
  341. package/public/docs-mock-api-sw.js +5 -1
  342. package/public/docs-mock-api-sw.js.map +2 -2
  343. package/scripts/build-addons.mjs +2 -2
  344. package/scripts/post-build.mjs +9 -0
  345. package/src/addons/interactive.ts +5 -0
  346. package/src/core/components/functional/3d/3d.md +34 -1
  347. package/src/core/components/functional/3d/3d.spec.ts +42 -0
  348. package/src/core/components/functional/3d/3d.ts +101 -3
  349. package/src/core/components/functional/3d/constants.ts +1 -0
  350. package/src/core/components/functional/3d/ensure.ts +11 -3
  351. package/src/core/components/functional/3d/form-params.ts +2 -0
  352. package/src/core/components/functional/3d/life.ts +4 -1
  353. package/src/core/components/functional/3d/out-publish.ts +4 -3
  354. package/src/core/components/functional/3d/playback.ts +13 -1
  355. package/src/core/components/functional/3d/post-bind.ts +262 -0
  356. package/src/core/components/functional/3d/post-channels.spec.ts +36 -0
  357. package/src/core/components/functional/3d/post-channels.ts +69 -0
  358. package/src/core/components/functional/3d/post-fx.ts +594 -0
  359. package/src/core/components/functional/3d/props.ts +45 -0
  360. package/src/core/components/functional/3d/reload.ts +2 -0
  361. package/src/core/components/functional/3d/runtime.ts +93 -4
  362. package/src/core/components/functional/3d/scene-runtime.ts +3 -0
  363. package/src/core/components/functional/3d/tune.ts +21 -0
  364. package/src/core/components/functional/3d/types.ts +9 -0
  365. package/src/core/components/functional/3d/updated.ts +17 -1
  366. package/src/core/components/functional/if/if.ts +54 -7
  367. package/src/core/components/functional/interactive/action.ts +84 -0
  368. package/src/core/components/functional/interactive/gamepad.ts +197 -0
  369. package/src/core/components/functional/interactive/gesture.ts +136 -0
  370. package/src/core/components/functional/interactive/helpers.spec.ts +50 -0
  371. package/src/core/components/functional/interactive/helpers.ts +97 -0
  372. package/src/core/components/functional/interactive/index.ts +25 -0
  373. package/src/core/components/functional/interactive/interactive.md +33 -0
  374. package/src/core/components/functional/interactive/keyboard.ts +171 -0
  375. package/src/core/components/functional/interactive/matrix.ts +185 -0
  376. package/src/core/components/functional/interactive/registry.ts +46 -0
  377. package/src/core/components/functional/interactive/store.ts +264 -0
  378. package/src/core/components/functional/interactive/ticker.ts +171 -0
  379. package/src/core/components/functional/list/list.ts +0 -0
  380. package/src/core/components/functional/shader/gl-runtime.ts +169 -12
  381. package/src/core/components/functional/shader/shader.md +27 -4
  382. package/src/core/components/functional/shader/shader.spec.ts +267 -0
  383. package/src/core/components/functional/shader/shader.ts +177 -55
  384. package/src/core/components/functional/shader/shadertoy-prelude.ts +49 -5
  385. package/src/core/components/functional/shader/types.ts +89 -12
  386. package/src/core/components/functional/subscriber/subscriber.ts +0 -0
  387. package/src/core/components/functional/value/value.ts +44 -4
  388. package/src/core/components/functional/webgpu/gl-fallback.ts +28 -4
  389. package/src/core/components/functional/webgpu/gpu-runtime.ts +154 -18
  390. package/src/core/components/functional/webgpu/helpers.ts +8 -2
  391. package/src/core/components/functional/webgpu/webgpu.md +13 -2
  392. package/src/core/components/functional/webgpu/webgpu.spec.ts +37 -0
  393. package/src/core/components/functional/webgpu/webgpu.ts +39 -1
  394. package/src/core/components/ui/_css/rounded.ts +36 -0
  395. package/src/core/components/ui/_css/type.ts +49 -0
  396. package/src/core/components/ui/_i18n/ui-aria-labels.ts +104 -0
  397. package/src/core/components/ui/alert/alert.md +128 -72
  398. package/src/core/components/ui/alert/alert.spec.ts +145 -0
  399. package/src/core/components/ui/alert/alert.ts +86 -91
  400. package/src/core/components/ui/alert-messages/alert-messages.ts +1 -1
  401. package/src/core/components/ui/badge/badge.md +126 -78
  402. package/src/core/components/ui/badge/badge.ts +29 -81
  403. package/src/core/components/ui/button/button.md +1 -0
  404. package/src/core/components/ui/button/button.ts +12 -10
  405. package/src/core/components/ui/card/card-header.ts +7 -2
  406. package/src/core/components/ui/card/card.md +120 -65
  407. package/src/core/components/ui/divider/divider.ts +4 -9
  408. package/src/core/components/ui/form/checkbox/checkbox.md +1 -1
  409. package/src/core/components/ui/form/checkbox/checkbox.ts +4 -20
  410. package/src/core/components/ui/form/fieldset/legend-description.ts +1 -1
  411. package/src/core/components/ui/form/fieldset/legend.ts +1 -1
  412. package/src/core/components/ui/form/input/input.md +1 -1
  413. package/src/core/components/ui/form/input/input.ts +25 -27
  414. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +14 -118
  415. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.ts +419 -187
  416. package/src/core/components/ui/form/radio/radio.ts +1 -1
  417. package/src/core/components/ui/form/select/select.ts +3 -6
  418. package/src/core/components/ui/form/textarea/textarea.md +1 -1
  419. package/src/core/components/ui/form/textarea/textarea.ts +1 -2
  420. package/src/core/components/ui/image/image.md +147 -53
  421. package/src/core/components/ui/image/image.ts +10 -44
  422. package/src/core/components/ui/link/link.md +2 -2
  423. package/src/core/components/ui/link/link.ts +42 -37
  424. package/src/core/components/ui/modal/modal-close.ts +8 -12
  425. package/src/core/components/ui/modal/modal.ts +18 -18
  426. package/src/core/components/ui/pop/pop.md +105 -1
  427. package/src/core/components/ui/pop/pop.ts +145 -141
  428. package/src/core/components/ui/table/table.ts +2 -8
  429. package/src/core/components/ui/theme/theme.ts +1 -1
  430. package/src/core/components/ui/toast/dismissed.ts +14 -0
  431. package/src/core/components/ui/toast/render-content.ts +13 -0
  432. package/src/core/components/ui/toast/toast-item.ts +179 -103
  433. package/src/core/components/ui/toast/toast.ts +58 -21
  434. package/src/core/components/ui/toast/types.ts +14 -2
  435. package/src/core/components/ui/tooltip/tooltip.ts +176 -154
  436. package/src/core/decorators/subscriber/ancestorAttribute.spec.ts +26 -0
  437. package/src/core/decorators/subscriber/ancestorAttribute.ts +3 -4
  438. package/src/core/decorators/subscriber/derive.ts +3 -3
  439. package/src/core/mixins/Fetcher.ts +1 -1
  440. package/src/core/mixins/FormCheckable.ts +1 -8
  441. package/src/core/mixins/FormElement.ts +74 -76
  442. package/src/core/mixins/Subscriber.ts +0 -0
  443. package/src/core/utils/AncestorAttributeObserver.ts +183 -70
  444. package/src/core/utils/DataBindObserver.ts +0 -0
  445. package/src/core/utils/LocationHandler.ts +12 -5
  446. package/src/core/utils/Objects.ts +0 -0
  447. package/src/core/utils/dismissed.ts +22 -0
  448. package/src/core/utils/mediaRef.spec.ts +25 -0
  449. package/src/core/utils/mediaRef.ts +45 -0
  450. package/src/core/utils/positioning.spec.ts +208 -0
  451. package/src/core/utils/positioning.ts +183 -0
  452. package/src/directives.ts +1 -3
  453. package/src/docs/_core-concept/dataFlow.md +1 -1
  454. package/src/docs/_decorators/ancestor-attribute.md +3 -2
  455. package/src/docs/_getting-started/concorde-outside.md +3 -3
  456. package/src/docs/_misc/formelement-subscriber-removal.md +115 -0
  457. package/src/docs/_misc/html-integration.md +2 -0
  458. package/src/docs/_misc/visual-stack.md +19 -1
  459. package/src/docs/code.ts +3 -1
  460. package/src/docs/components/docs-demo-sources.ts +88 -0
  461. package/src/docs/docs.ts +3 -0
  462. package/src/docs/example/docs-3d-post-depth-demo.ts +68 -0
  463. package/src/docs/example/docs-3d-webgpu-live-demo.ts +83 -0
  464. package/src/docs/example/docs-harris-webgpu-demo.ts +53 -55
  465. package/src/docs/example/docs-input-autocomplete-demos.ts +110 -0
  466. package/src/docs/mock-api/router.ts +17 -1
  467. package/src/docs/navigation/navigation.ts +4 -0
  468. package/src/docs/search/docs-search.json +922 -1762
  469. package/src/docs/tailwind/css/tailwind.css +13 -6
  470. package/src/tsconfig.json +162 -6
  471. package/src/tsconfig.tsbuildinfo +1 -1
  472. package/tailwind.config.js +50 -3
  473. package/vite/config.js +23 -35
  474. package/vite.config.mts +5 -0
  475. package/vitest.setup.ts +49 -13
  476. package/docs/assets/index-BZiZXMU-.css +0 -1
@@ -25,7 +25,17 @@ export class Sonic3dProps extends LitElement {
25
25
  this.pick = false;
26
26
  this.play = true;
27
27
  this.playOnHover = false;
28
+ /**
29
+ * Garde le RAF / runtime hors viewport (pont live `#id`).
30
+ * Aussi auto si un consommateur a appelé `registerFrameConsumer`.
31
+ */
32
+ this.playOffscreen = false;
28
33
  this.releaseOffscreen = true;
34
+ /**
35
+ * Inertie OrbitControls (`dampingFactor`). `0` = pas d’inertie.
36
+ * Défaut `0.08`.
37
+ */
38
+ this.damping = 0.08;
29
39
  this.dprMax = 2;
30
40
  this.aspectRatio = "";
31
41
  this.dataProvider = "";
@@ -34,6 +44,39 @@ export class Sonic3dProps extends LitElement {
34
44
  this.snapshotInterval = DEFAULT_SNAPSHOT_INTERVAL_MS;
35
45
  /** Publie `frameUrl` / `snapshot` (canvas) pour chaînage shader / jsonata. */
36
46
  this.frameOut = false;
47
+ /* —— Post FX (Lot 2) : passes ShaderToy dans le contexte Three —— */
48
+ this.postImage = "";
49
+ this.postBufferA = "";
50
+ this.postBufferB = "";
51
+ this.postBufferC = "";
52
+ this.postBufferD = "";
53
+ this.postCommon = "";
54
+ this.postImageCh0 = "";
55
+ this.postImageCh1 = "";
56
+ this.postImageCh2 = "";
57
+ this.postImageCh3 = "";
58
+ this.postBufferACh0 = "";
59
+ this.postBufferACh1 = "";
60
+ this.postBufferACh2 = "";
61
+ this.postBufferACh3 = "";
62
+ this.postBufferBCh0 = "";
63
+ this.postBufferBCh1 = "";
64
+ this.postBufferBCh2 = "";
65
+ this.postBufferBCh3 = "";
66
+ this.postBufferCCh0 = "";
67
+ this.postBufferCCh1 = "";
68
+ this.postBufferCCh2 = "";
69
+ this.postBufferCCh3 = "";
70
+ this.postBufferDCh0 = "";
71
+ this.postBufferDCh1 = "";
72
+ this.postBufferDCh2 = "";
73
+ this.postBufferDCh3 = "";
74
+ this.param0 = 0;
75
+ this.param1 = 0;
76
+ this.param2 = 0;
77
+ this.param3 = 0;
78
+ /** Échelle des cibles post (0.25–1, défaut 1). */
79
+ this.postScale = 1;
37
80
  }
38
81
  }
39
82
  __decorate([
@@ -78,9 +121,15 @@ __decorate([
78
121
  __decorate([
79
122
  property({ type: Boolean, attribute: "play-on-hover" })
80
123
  ], Sonic3dProps.prototype, "playOnHover", void 0);
124
+ __decorate([
125
+ property({ type: Boolean, attribute: "play-offscreen" })
126
+ ], Sonic3dProps.prototype, "playOffscreen", void 0);
81
127
  __decorate([
82
128
  property({ type: Boolean, attribute: "release-offscreen" })
83
129
  ], Sonic3dProps.prototype, "releaseOffscreen", void 0);
130
+ __decorate([
131
+ property({ type: Number })
132
+ ], Sonic3dProps.prototype, "damping", void 0);
84
133
  __decorate([
85
134
  property({ type: Number, attribute: "dpr-max" })
86
135
  ], Sonic3dProps.prototype, "dprMax", void 0);
@@ -102,4 +151,97 @@ __decorate([
102
151
  __decorate([
103
152
  property({ type: Boolean, attribute: "frame-out" })
104
153
  ], Sonic3dProps.prototype, "frameOut", void 0);
154
+ __decorate([
155
+ property({ attribute: "post-image" })
156
+ ], Sonic3dProps.prototype, "postImage", void 0);
157
+ __decorate([
158
+ property({ attribute: "post-buffer-a" })
159
+ ], Sonic3dProps.prototype, "postBufferA", void 0);
160
+ __decorate([
161
+ property({ attribute: "post-buffer-b" })
162
+ ], Sonic3dProps.prototype, "postBufferB", void 0);
163
+ __decorate([
164
+ property({ attribute: "post-buffer-c" })
165
+ ], Sonic3dProps.prototype, "postBufferC", void 0);
166
+ __decorate([
167
+ property({ attribute: "post-buffer-d" })
168
+ ], Sonic3dProps.prototype, "postBufferD", void 0);
169
+ __decorate([
170
+ property({ attribute: "post-common" })
171
+ ], Sonic3dProps.prototype, "postCommon", void 0);
172
+ __decorate([
173
+ property({ attribute: "post-image-ch0" })
174
+ ], Sonic3dProps.prototype, "postImageCh0", void 0);
175
+ __decorate([
176
+ property({ attribute: "post-image-ch1" })
177
+ ], Sonic3dProps.prototype, "postImageCh1", void 0);
178
+ __decorate([
179
+ property({ attribute: "post-image-ch2" })
180
+ ], Sonic3dProps.prototype, "postImageCh2", void 0);
181
+ __decorate([
182
+ property({ attribute: "post-image-ch3" })
183
+ ], Sonic3dProps.prototype, "postImageCh3", void 0);
184
+ __decorate([
185
+ property({ attribute: "post-buffer-a-ch0" })
186
+ ], Sonic3dProps.prototype, "postBufferACh0", void 0);
187
+ __decorate([
188
+ property({ attribute: "post-buffer-a-ch1" })
189
+ ], Sonic3dProps.prototype, "postBufferACh1", void 0);
190
+ __decorate([
191
+ property({ attribute: "post-buffer-a-ch2" })
192
+ ], Sonic3dProps.prototype, "postBufferACh2", void 0);
193
+ __decorate([
194
+ property({ attribute: "post-buffer-a-ch3" })
195
+ ], Sonic3dProps.prototype, "postBufferACh3", void 0);
196
+ __decorate([
197
+ property({ attribute: "post-buffer-b-ch0" })
198
+ ], Sonic3dProps.prototype, "postBufferBCh0", void 0);
199
+ __decorate([
200
+ property({ attribute: "post-buffer-b-ch1" })
201
+ ], Sonic3dProps.prototype, "postBufferBCh1", void 0);
202
+ __decorate([
203
+ property({ attribute: "post-buffer-b-ch2" })
204
+ ], Sonic3dProps.prototype, "postBufferBCh2", void 0);
205
+ __decorate([
206
+ property({ attribute: "post-buffer-b-ch3" })
207
+ ], Sonic3dProps.prototype, "postBufferBCh3", void 0);
208
+ __decorate([
209
+ property({ attribute: "post-buffer-c-ch0" })
210
+ ], Sonic3dProps.prototype, "postBufferCCh0", void 0);
211
+ __decorate([
212
+ property({ attribute: "post-buffer-c-ch1" })
213
+ ], Sonic3dProps.prototype, "postBufferCCh1", void 0);
214
+ __decorate([
215
+ property({ attribute: "post-buffer-c-ch2" })
216
+ ], Sonic3dProps.prototype, "postBufferCCh2", void 0);
217
+ __decorate([
218
+ property({ attribute: "post-buffer-c-ch3" })
219
+ ], Sonic3dProps.prototype, "postBufferCCh3", void 0);
220
+ __decorate([
221
+ property({ attribute: "post-buffer-d-ch0" })
222
+ ], Sonic3dProps.prototype, "postBufferDCh0", void 0);
223
+ __decorate([
224
+ property({ attribute: "post-buffer-d-ch1" })
225
+ ], Sonic3dProps.prototype, "postBufferDCh1", void 0);
226
+ __decorate([
227
+ property({ attribute: "post-buffer-d-ch2" })
228
+ ], Sonic3dProps.prototype, "postBufferDCh2", void 0);
229
+ __decorate([
230
+ property({ attribute: "post-buffer-d-ch3" })
231
+ ], Sonic3dProps.prototype, "postBufferDCh3", void 0);
232
+ __decorate([
233
+ property({ type: Number })
234
+ ], Sonic3dProps.prototype, "param0", void 0);
235
+ __decorate([
236
+ property({ type: Number })
237
+ ], Sonic3dProps.prototype, "param1", void 0);
238
+ __decorate([
239
+ property({ type: Number })
240
+ ], Sonic3dProps.prototype, "param2", void 0);
241
+ __decorate([
242
+ property({ type: Number })
243
+ ], Sonic3dProps.prototype, "param3", void 0);
244
+ __decorate([
245
+ property({ type: Number, attribute: "post-scale" })
246
+ ], Sonic3dProps.prototype, "postScale", void 0);
105
247
  //# sourceMappingURL=props.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/props.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { asset } from "./asset";
2
2
  import { frameSource } from "./frame-source";
3
+ import { postBind } from "./post-bind";
3
4
  import { playback } from "./playback";
4
5
  function degToRad(deg) {
5
6
  return ((Number.isFinite(deg) ? deg : 0) * Math.PI) / 180;
@@ -22,6 +23,7 @@ async function run(host) {
22
23
  host.runtime.render();
23
24
  host.frameSeq++;
24
25
  host.syncPlayback();
26
+ postBind.applyConfig(host);
25
27
  frameSource.maybePublish(host);
26
28
  host.dispatchEvent(new CustomEvent("ready", {
27
29
  detail: { ready: true },
@@ -1 +1 @@
1
- {"version":3,"file":"reload.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/reload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reload.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/reload.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,12 @@ import * as THREE from "three";
2
2
  import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
3
3
  import { bootScene } from "./boot";
4
4
  import { ops } from "./ops";
5
+ import { PostFxCompileError, PostFxPipeline, } from "./post-fx";
5
6
  import { tune } from "./tune";
6
7
  import { view } from "./view";
8
+ export { PostFxCompileError };
7
9
  /**
8
- * Runtime Three.js encapsulé : renderer, scène, caméra, load, fit, pick.
10
+ * Runtime Three.js encapsulé : renderer, scène, caméra, load, fit, pick, post FX.
9
11
  * Le composant Lit gère RAF / viewport / DP.
10
12
  */
11
13
  export class SceneRuntime {
@@ -26,6 +28,18 @@ export class SceneRuntime {
26
28
  this.highlighted = null;
27
29
  this.prevEmissive = new THREE.Color();
28
30
  this.prevEmissiveIntensity = 0;
31
+ this.lastCssW = 1;
32
+ this.lastCssH = 1;
33
+ this.damping = 0.08;
34
+ this.postFrame = {
35
+ time: 0,
36
+ timeDelta: 1 / 60,
37
+ frame: 0,
38
+ mouse: [0, 0, 0, 0],
39
+ params: [0, 0, 0, 0],
40
+ near: 0.1,
41
+ far: 100,
42
+ };
29
43
  this.asTuneCtx = () => this;
30
44
  this.asViewCtx = () => this;
31
45
  this.asOpsCtx = () => this;
@@ -43,10 +57,33 @@ export class SceneRuntime {
43
57
  this.fov = b.fov;
44
58
  this.fitEnabled = b.fitEnabled;
45
59
  this.limits = b.limits;
60
+ this.postFx = new PostFxPipeline(this.renderer);
46
61
  this.applyCameraMode(this.mode);
47
62
  if (b.autoRotate)
48
63
  this.setAutoRotate(true);
49
- void [this.canvas, this.perspCam, this.orthoCam, this.root, this.content, this.lights, this.loader, this.loadToken, this.blobUrl, this.dprMax, this.fov, this.fitEnabled, this.limits, this.bbox, this.target, this.raycaster, this.pointerNdc, this.highlighted, this.prevEmissive, this.prevEmissiveIntensity, this.unbindWheelRelay];
64
+ void [
65
+ this.canvas,
66
+ this.perspCam,
67
+ this.orthoCam,
68
+ this.root,
69
+ this.content,
70
+ this.lights,
71
+ this.loader,
72
+ this.loadToken,
73
+ this.blobUrl,
74
+ this.dprMax,
75
+ this.fov,
76
+ this.fitEnabled,
77
+ this.limits,
78
+ this.bbox,
79
+ this.target,
80
+ this.raycaster,
81
+ this.pointerNdc,
82
+ this.highlighted,
83
+ this.prevEmissive,
84
+ this.prevEmissiveIntensity,
85
+ this.unbindWheelRelay,
86
+ ];
50
87
  }
51
88
  get ready() {
52
89
  return this._ready;
@@ -60,6 +97,9 @@ export class SceneRuntime {
60
97
  get isLost() {
61
98
  return this.renderer.getContext()?.isContextLost?.() ?? false;
62
99
  }
100
+ get hasPostFx() {
101
+ return this.postFx.isEnabled;
102
+ }
63
103
  setDprMax(v) {
64
104
  tune.setDprMax(this.asTuneCtx(), v);
65
105
  }
@@ -75,6 +115,15 @@ export class SceneRuntime {
75
115
  setAutoRotate(v) {
76
116
  tune.setAutoRotate(this.asTuneCtx(), v);
77
117
  }
118
+ setDamping(v) {
119
+ this.damping = Number.isFinite(v) ? Math.max(0, v) : 0.08;
120
+ tune.setDamping(this.asTuneCtx(), this.damping);
121
+ }
122
+ /** Coupe autoRotate + inertie OrbitControls. */
123
+ stopMotion() {
124
+ tune.setAutoRotate(this.asTuneCtx(), false);
125
+ tune.stopMotion(this.asTuneCtx());
126
+ }
78
127
  setOrbitLimits(opts) {
79
128
  tune.setOrbitLimits(this.asTuneCtx(), opts);
80
129
  }
@@ -83,9 +132,14 @@ export class SceneRuntime {
83
132
  }
84
133
  applyCameraMode(mode) {
85
134
  view.applyCameraMode(this.asViewCtx(), mode);
135
+ tune.setDamping(this.asTuneCtx(), this.damping);
86
136
  }
87
137
  resize(cssW, cssH) {
138
+ this.lastCssW = cssW;
139
+ this.lastCssH = cssH;
88
140
  view.resize(this.asViewCtx(), cssW, cssH);
141
+ const dpr = Math.min(typeof window !== "undefined" ? window.devicePixelRatio || 1 : 1, this.dprMax);
142
+ this.postFx.resize(cssW * dpr, cssH * dpr);
89
143
  }
90
144
  async load(asset) {
91
145
  return ops.runLoad(this.asOpsCtx(), asset);
@@ -93,9 +147,31 @@ export class SceneRuntime {
93
147
  fitToContent() {
94
148
  ops.fitToContent(this.asOpsCtx());
95
149
  }
150
+ setPostConfig(config) {
151
+ this.postFx.setConfig(config);
152
+ if (config && this.lastCssW > 0) {
153
+ this.resize(this.lastCssW, this.lastCssH);
154
+ }
155
+ }
156
+ setPostElementResolver(fn) {
157
+ this.postFx.setElementResolver(fn);
158
+ }
159
+ setPostFrame(frame) {
160
+ Object.assign(this.postFrame, frame);
161
+ const cam = this.activeCam;
162
+ if ("near" in cam && "far" in cam) {
163
+ this.postFrame.near = cam.near;
164
+ this.postFrame.far = cam.far;
165
+ }
166
+ }
96
167
  render() {
97
168
  this.controls?.update();
98
- this.renderer.render(this.scene, this.activeCam);
169
+ if (this.postFx.isEnabled) {
170
+ this.postFx.render(this.scene, this.activeCam, this.postFrame);
171
+ }
172
+ else {
173
+ this.renderer.render(this.scene, this.activeCam);
174
+ }
99
175
  }
100
176
  pick(normX, normY) {
101
177
  return ops.pick(this.asOpsCtx(), normX, normY);
@@ -110,6 +186,7 @@ export class SceneRuntime {
110
186
  return ops.buildSnapshot(this.asOpsCtx(), base);
111
187
  }
112
188
  dispose(loseContext = false) {
189
+ this.postFx.dispose();
113
190
  ops.dispose(this.asOpsCtx(), loseContext);
114
191
  }
115
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/runtime.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  * Entrée publique `@supersoniks/concorde/3d/scene-runtime`.
3
3
  * Implémentation : `runtime.ts` + helpers orbit/pick/load/….
4
4
  */
5
- export { SceneRuntime, } from "./runtime";
5
+ export { SceneRuntime, PostFxCompileError, } from "./runtime";
6
6
  //# sourceMappingURL=scene-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-runtime.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/scene-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,YAAY,GAGb,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"scene-runtime.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/scene-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,YAAY,EACZ,kBAAkB,GAKnB,MAAM,WAAW,CAAC"}
@@ -18,6 +18,25 @@ function setAutoRotate(ctx, v) {
18
18
  if (ctx.controls)
19
19
  ctx.controls.autoRotate = v;
20
20
  }
21
+ function setDamping(ctx, v) {
22
+ if (!ctx.controls)
23
+ return;
24
+ const d = Number.isFinite(v) ? Math.max(0, v) : 0.08;
25
+ ctx.controls.enableDamping = d > 0;
26
+ ctx.controls.dampingFactor = d > 0 ? d : 0.08;
27
+ }
28
+ /** Coupe autoRotate + vide l’inertie OrbitControls. */
29
+ function stopMotion(ctx) {
30
+ if (!ctx.controls)
31
+ return;
32
+ ctx.controls.autoRotate = false;
33
+ const wasDamping = ctx.controls.enableDamping;
34
+ const factor = ctx.controls.dampingFactor;
35
+ ctx.controls.enableDamping = false;
36
+ ctx.controls.update();
37
+ ctx.controls.enableDamping = wasDamping;
38
+ ctx.controls.dampingFactor = factor;
39
+ }
21
40
  function setOrbitLimits(ctx, opts) {
22
41
  ctx.limits = orbit.mergeLimits(ctx.limits, opts);
23
42
  orbit.applyLimitsToControls(ctx.controls, ctx.limits);
@@ -36,6 +55,8 @@ export const tune = {
36
55
  setFov,
37
56
  setFit,
38
57
  setAutoRotate,
58
+ setDamping,
59
+ stopMotion,
39
60
  setOrbitLimits,
40
61
  setOrbitSpherical,
41
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tune.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/tune.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAoB,MAAM,SAAS,CAAC;AAgBlD,SAAS,SAAS,CAAC,GAAY,EAAE,CAAS;IACxC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,WAAW,CAAC,GAAY,EAAE,CAAS;IAC1C,GAAG,CAAC,QAAQ,CAAC,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC/E,CAAC;AAED,SAAS,MAAM,CAAC,GAAY,EAAE,CAAS;IACrC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACxD,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IAC3B,GAAG,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,MAAM,CAAC,GAAY,EAAE,CAAU;IACtC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,GAAY,EAAE,CAAU;IAC7C,IAAI,GAAG,CAAC,QAAQ;QAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,cAAc,CAAC,GAAY,EAAE,IAA0B;IAC9D,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAY,EACZ,GAAW,EACX,KAAa,EACb,QAAgB;IAEhB,KAAK,CAAC,YAAY,CAChB;QACE,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,EACD,GAAG,EACH,KAAK,EACL,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,SAAS;IACT,WAAW;IACX,MAAM;IACN,MAAM;IACN,aAAa;IACb,cAAc;IACd,iBAAiB;CACT,CAAC"}
1
+ {"version":3,"file":"tune.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/tune.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { ensure } from "./ensure";
2
2
  import { life } from "./life";
3
3
  import { parse } from "./parse";
4
4
  import { playback } from "./playback";
5
+ import { postBind } from "./post-bind";
5
6
  import { reload } from "./reload";
6
7
  function hasAny(changed, keys) {
7
8
  return keys.some((k) => changed.has(k));
@@ -48,11 +49,22 @@ function updated(host, changed) {
48
49
  if (changed.has("autoRotate") || changed.has("play")) {
49
50
  playback.syncAutoRotate(host);
50
51
  }
51
- if (changed.has("play") || changed.has("playOnHover")) {
52
+ if (changed.has("play") ||
53
+ changed.has("playOnHover") ||
54
+ changed.has("playOffscreen")) {
52
55
  host.syncPlayback();
53
56
  }
57
+ if (changed.has("playOffscreen") || changed.has("releaseOffscreen")) {
58
+ ensure.syncVisibility(host);
59
+ }
60
+ if (changed.has("damping") && host.runtime) {
61
+ host.runtime.setDamping(host.damping);
62
+ }
54
63
  if (changed.has("src") || changed.has("asset"))
55
64
  void reload.run(host);
65
+ if (postBind.propsChanged(changed)) {
66
+ postBind.applyConfig(host);
67
+ }
56
68
  }
57
69
  export const propUpdate = { updated };
58
70
  //# sourceMappingURL=updated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updated.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/updated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,SAAS,MAAM,CACb,OAA+C,EAC/C,IAAc;IAEd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAc,EACd,OAA+C;IAE/C,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO;IAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,IAAa,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,IACE,MAAM,CAAC,OAAO,EAAE;QACd,aAAa;QACb,aAAa;QACb,UAAU;QACV,UAAU;QACV,QAAQ;KACT,CAAC,EACF,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,IAAa,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAc,EACd,OAA+C;IAE/C,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CACd,IAAc,EACd,OAA+C;IAE/C,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO;IAC1B,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,QAAQ,CAAC,cAAc,CAAC,IAAa,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,KAAK,MAAM,CAAC,GAAG,CAAC,IAAa,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,OAAO,EAAW,CAAC"}
1
+ {"version":3,"file":"updated.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/updated.ts"],"names":[],"mappings":"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"}
@@ -6,20 +6,60 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { css, html, LitElement, nothing } from "lit";
8
8
  import { customElement, property } from "lit/decorators.js";
9
- const tagName = "sonic-if"; // For Astro.build
9
+ import { Subscriber } from "@supersoniks/concorde/mixins";
10
+ const tagName = "sonic-if";
11
+ function pathGet(obj, path) {
12
+ if (!path)
13
+ return obj;
14
+ let cur = obj;
15
+ for (const p of path.split(".").filter(Boolean)) {
16
+ if (cur == null)
17
+ return undefined;
18
+ cur = cur[p];
19
+ }
20
+ return cur;
21
+ }
10
22
  /**
11
- * Le composant *sonic-if* affiche son contenu dans le slot principal si sa propriété .condition est évaluée à true
23
+ * Affiche le slot si `.condition` est true **ou** via attributs SDUI
24
+ * `dataProvider` + `key` (+ `equals` / `not` / `truthy` / `gt` / `lt`).
12
25
  */
13
- let SonicIF = class SonicIF extends LitElement {
26
+ let SonicIF = class SonicIF extends Subscriber(LitElement) {
14
27
  constructor() {
15
28
  super(...arguments);
16
- /**
17
- * Le contenu s'affiche si la condition est évaluée à true.
18
- */
29
+ /** Mode Lit classique. */
19
30
  this.condition = false;
31
+ this.key = "";
32
+ this.equals = "";
33
+ this.not = "";
34
+ this.truthy = false;
35
+ this.gt = "";
36
+ this.lt = "";
37
+ }
38
+ attrMode() {
39
+ return Boolean(this.dataProvider &&
40
+ (this.key ||
41
+ this.truthy ||
42
+ this.equals !== "" ||
43
+ this.not !== "" ||
44
+ this.gt !== "" ||
45
+ this.lt !== ""));
46
+ }
47
+ show() {
48
+ if (!this.attrMode())
49
+ return this.condition;
50
+ const value = pathGet(this.props, this.key);
51
+ if (this.equals !== "")
52
+ return String(value) === this.equals;
53
+ if (this.not !== "")
54
+ return String(value) !== this.not;
55
+ if (this.gt !== "")
56
+ return Number(value) > Number(this.gt);
57
+ if (this.lt !== "")
58
+ return Number(value) < Number(this.lt);
59
+ return Boolean(value);
20
60
  }
21
61
  render() {
22
- if (!this.condition)
62
+ if (!this.show())
23
63
  return nothing;
24
64
  return html ` <slot></slot> `;
25
65
  }
@@ -32,6 +72,24 @@ SonicIF.styles = css `
32
72
  __decorate([
33
73
  property({ type: Boolean })
34
74
  ], SonicIF.prototype, "condition", void 0);
75
+ __decorate([
76
+ property({ type: String })
77
+ ], SonicIF.prototype, "key", void 0);
78
+ __decorate([
79
+ property({ type: String })
80
+ ], SonicIF.prototype, "equals", void 0);
81
+ __decorate([
82
+ property({ type: String })
83
+ ], SonicIF.prototype, "not", void 0);
84
+ __decorate([
85
+ property({ type: Boolean })
86
+ ], SonicIF.prototype, "truthy", void 0);
87
+ __decorate([
88
+ property({ type: String })
89
+ ], SonicIF.prototype, "gt", void 0);
90
+ __decorate([
91
+ property({ type: String })
92
+ ], SonicIF.prototype, "lt", void 0);
35
93
  SonicIF = __decorate([
36
94
  customElement(tagName)
37
95
  ], SonicIF);
@@ -1 +1 @@
1
- {"version":3,"file":"if.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/if/if.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,KAAK,CAAC;AACnD,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,kBAAkB;AAC9C;;GAEG;AAEI,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAAhC;;QAOL;;WAEG;QACwB,cAAS,GAAG,KAAK,CAAC;IAK/C,CAAC;IAJC,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC;QACpC,OAAO,IAAI,CAAA,iBAAiB,CAAC;IAC/B,CAAC;;AAbM,cAAM,GAAG,GAAG,CAAA;;;;GAIlB,AAJY,CAIX;AAKyB;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;0CAAmB;AAVlC,OAAO;IADnB,aAAa,CAAC,OAAO,CAAC;GACV,OAAO,CAenB"}
1
+ {"version":3,"file":"if.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/if/if.ts"],"names":[],"mappings":"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"}