@supersoniks/concorde 4.9.96 → 4.9.97-visual-stack.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.
- package/README.md +34 -17
- package/build-infos.json +1 -1
- package/concorde-3d.bundle.js +3911 -0
- package/concorde-3d.es.js +32635 -0
- package/concorde-core.bundle.js +147 -147
- package/concorde-core.es.js +4375 -4282
- package/concorde-hugging-face-infer.bundle.js +32 -0
- package/concorde-hugging-face-infer.es.js +2952 -0
- package/concorde-shader.bundle.js +105 -0
- package/concorde-shader.es.js +7982 -0
- package/concorde-webgpu.bundle.js +296 -0
- package/concorde-webgpu.es.js +8268 -0
- package/dist/concorde-3d.bundle.js +3911 -0
- package/dist/concorde-3d.es.js +32635 -0
- package/dist/concorde-core.bundle.js +147 -147
- package/dist/concorde-core.es.js +4375 -4282
- package/dist/concorde-hugging-face-infer.bundle.js +32 -0
- package/dist/concorde-hugging-face-infer.es.js +2952 -0
- package/dist/concorde-shader.bundle.js +105 -0
- package/dist/concorde-shader.es.js +7982 -0
- package/dist/concorde-webgpu.bundle.js +296 -0
- package/dist/concorde-webgpu.es.js +8268 -0
- package/dist/docs/hf-samples/beach.jpg +0 -0
- package/dist/docs/hf-samples/cats.jpg +0 -0
- package/dist/docs/hf-samples/corgi.jpg +0 -0
- package/dist/docs/hf-samples/portrait.jpg +0 -0
- package/dist/docs/hf-samples/scene.jpg +0 -0
- package/dist/docs/hf-samples/singer.jpg +0 -0
- package/dist/docs/shader-samples/color.jpg +0 -0
- package/dist/docs/shader-samples/depth.png +0 -0
- package/dist/docs/shader-samples/impact.jpg +0 -0
- package/dist/docs/shader-samples/video.webm +0 -0
- package/dist/js/addons/3d.js +6 -0
- package/dist/js/addons/3d.js.map +1 -0
- package/dist/js/addons/hugging-face-infer.js +8 -0
- package/dist/js/addons/hugging-face-infer.js.map +1 -0
- package/dist/js/addons/shader.js +6 -0
- package/dist/js/addons/shader.js.map +1 -0
- package/dist/js/addons/webgpu.js +7 -0
- package/dist/js/addons/webgpu.js.map +1 -0
- package/dist/js/components.js +12 -0
- package/dist/js/components.js.map +1 -0
- package/dist/js/concorde-loaded.js +5 -0
- package/dist/js/concorde-loaded.js.map +1 -0
- package/dist/js/core/_types/endpoint.js +5 -0
- package/dist/js/core/_types/endpoint.js.map +1 -0
- package/dist/js/core/_types/key.js +2 -0
- package/dist/js/core/_types/key.js.map +1 -0
- package/dist/js/core/_types/types.js +3 -0
- package/dist/js/core/_types/types.js.map +1 -0
- package/dist/js/core/components/functional/3d/3d.js +151 -0
- package/dist/js/core/components/functional/3d/3d.js.map +1 -0
- package/dist/js/core/components/functional/3d/asset.js +20 -0
- package/dist/js/core/components/functional/3d/asset.js.map +1 -0
- package/dist/js/core/components/functional/3d/boot.js +47 -0
- package/dist/js/core/components/functional/3d/boot.js.map +1 -0
- package/dist/js/core/components/functional/3d/constants.js +88 -0
- package/dist/js/core/components/functional/3d/constants.js.map +1 -0
- package/dist/js/core/components/functional/3d/demo-content.js +38 -0
- package/dist/js/core/components/functional/3d/demo-content.js.map +1 -0
- package/dist/js/core/components/functional/3d/ensure.js +73 -0
- package/dist/js/core/components/functional/3d/ensure.js.map +1 -0
- package/dist/js/core/components/functional/3d/form-bind.js +25 -0
- package/dist/js/core/components/functional/3d/form-bind.js.map +1 -0
- package/dist/js/core/components/functional/3d/form-fields.js +76 -0
- package/dist/js/core/components/functional/3d/form-fields.js.map +1 -0
- package/dist/js/core/components/functional/3d/form-params.js +67 -0
- package/dist/js/core/components/functional/3d/form-params.js.map +1 -0
- package/dist/js/core/components/functional/3d/frame-capture.js +108 -0
- package/dist/js/core/components/functional/3d/frame-capture.js.map +1 -0
- package/dist/js/core/components/functional/3d/gl.js +34 -0
- package/dist/js/core/components/functional/3d/gl.js.map +1 -0
- package/dist/js/core/components/functional/3d/life.js +55 -0
- package/dist/js/core/components/functional/3d/life.js.map +1 -0
- package/dist/js/core/components/functional/3d/load.js +109 -0
- package/dist/js/core/components/functional/3d/load.js.map +1 -0
- package/dist/js/core/components/functional/3d/ops.js +78 -0
- package/dist/js/core/components/functional/3d/ops.js.map +1 -0
- package/dist/js/core/components/functional/3d/opts.js +2 -0
- package/dist/js/core/components/functional/3d/opts.js.map +1 -0
- package/dist/js/core/components/functional/3d/orbit.js +136 -0
- package/dist/js/core/components/functional/3d/orbit.js.map +1 -0
- package/dist/js/core/components/functional/3d/out-publish.js +103 -0
- package/dist/js/core/components/functional/3d/out-publish.js.map +1 -0
- package/dist/js/core/components/functional/3d/parse.js +95 -0
- package/dist/js/core/components/functional/3d/parse.js.map +1 -0
- package/dist/js/core/components/functional/3d/pick.js +62 -0
- package/dist/js/core/components/functional/3d/pick.js.map +1 -0
- package/dist/js/core/components/functional/3d/playback.js +56 -0
- package/dist/js/core/components/functional/3d/playback.js.map +1 -0
- package/dist/js/core/components/functional/3d/pointer.js +58 -0
- package/dist/js/core/components/functional/3d/pointer.js.map +1 -0
- package/dist/js/core/components/functional/3d/props.js +105 -0
- package/dist/js/core/components/functional/3d/props.js.map +1 -0
- package/dist/js/core/components/functional/3d/publisher-listen.js +6 -0
- package/dist/js/core/components/functional/3d/publisher-listen.js.map +1 -0
- package/dist/js/core/components/functional/3d/reload.js +60 -0
- package/dist/js/core/components/functional/3d/reload.js.map +1 -0
- package/dist/js/core/components/functional/3d/runtime.js +116 -0
- package/dist/js/core/components/functional/3d/runtime.js.map +1 -0
- package/dist/js/core/components/functional/3d/scene-runtime.js +6 -0
- package/dist/js/core/components/functional/3d/scene-runtime.js.map +1 -0
- package/dist/js/core/components/functional/3d/snapshot.js +47 -0
- package/dist/js/core/components/functional/3d/snapshot.js.map +1 -0
- package/dist/js/core/components/functional/3d/styles.js +38 -0
- package/dist/js/core/components/functional/3d/styles.js.map +1 -0
- package/dist/js/core/components/functional/3d/tune.js +42 -0
- package/dist/js/core/components/functional/3d/tune.js.map +1 -0
- package/dist/js/core/components/functional/3d/types.js +8 -0
- package/dist/js/core/components/functional/3d/types.js.map +1 -0
- package/dist/js/core/components/functional/3d/updated.js +58 -0
- package/dist/js/core/components/functional/3d/updated.js.map +1 -0
- package/dist/js/core/components/functional/3d/view.js +40 -0
- package/dist/js/core/components/functional/3d/view.js.map +1 -0
- package/dist/js/core/components/functional/3d/wire.js +34 -0
- package/dist/js/core/components/functional/3d/wire.js.map +1 -0
- package/dist/js/core/components/functional/date/date.js +272 -0
- package/dist/js/core/components/functional/date/date.js.map +1 -0
- package/dist/js/core/components/functional/example/example.js +44 -0
- package/dist/js/core/components/functional/example/example.js.map +1 -0
- package/dist/js/core/components/functional/fetch/fetch.js +79 -0
- package/dist/js/core/components/functional/fetch/fetch.js.map +1 -0
- package/dist/js/core/components/functional/functional.js +18 -0
- package/dist/js/core/components/functional/functional.js.map +1 -0
- package/dist/js/core/components/functional/if/if.js +39 -0
- package/dist/js/core/components/functional/if/if.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-cache.js +183 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-cache.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-config.js +50 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-config.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-controller.js +460 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-controller.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-engine.js +116 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-engine.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-input.js +170 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-input.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-protocol.js +2 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-protocol.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-registry.js +367 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-registry.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-schema.js +288 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-schema.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-worker-runtime.js +309 -0
- package/dist/js/core/components/functional/infer/hugging-face/hf-worker-runtime.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/hugging-face-infer.js +213 -0
- package/dist/js/core/components/functional/infer/hugging-face/hugging-face-infer.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/hugging-face.js +76 -0
- package/dist/js/core/components/functional/infer/hugging-face/hugging-face.js.map +1 -0
- package/dist/js/core/components/functional/infer/hugging-face/types.js +62 -0
- package/dist/js/core/components/functional/infer/hugging-face/types.js.map +1 -0
- package/dist/js/core/components/functional/jsonata/jsonata.js +119 -0
- package/dist/js/core/components/functional/jsonata/jsonata.js.map +1 -0
- package/dist/js/core/components/functional/list/list.js +341 -0
- package/dist/js/core/components/functional/list/list.js.map +1 -0
- package/dist/js/core/components/functional/mix/mix.js +103 -0
- package/dist/js/core/components/functional/mix/mix.js.map +1 -0
- package/dist/js/core/components/functional/queue/queue.js +450 -0
- package/dist/js/core/components/functional/queue/queue.js.map +1 -0
- package/dist/js/core/components/functional/router/redirect.js +54 -0
- package/dist/js/core/components/functional/router/redirect.js.map +1 -0
- package/dist/js/core/components/functional/router/router.js +179 -0
- package/dist/js/core/components/functional/router/router.js.map +1 -0
- package/dist/js/core/components/functional/sdui/SDUIDescriptorTransformer.js +216 -0
- package/dist/js/core/components/functional/sdui/SDUIDescriptorTransformer.js.map +1 -0
- package/dist/js/core/components/functional/sdui/default-library.json +108 -0
- package/dist/js/core/components/functional/sdui/sdui-utils.js +64 -0
- package/dist/js/core/components/functional/sdui/sdui-utils.js.map +1 -0
- package/dist/js/core/components/functional/sdui/sdui.js +271 -0
- package/dist/js/core/components/functional/sdui/sdui.js.map +1 -0
- package/dist/js/core/components/functional/sdui/types.js +2 -0
- package/dist/js/core/components/functional/sdui/types.js.map +1 -0
- package/dist/js/core/components/functional/shader/gl-runtime.js +603 -0
- package/dist/js/core/components/functional/shader/gl-runtime.js.map +1 -0
- package/dist/js/core/components/functional/shader/shader.js +1593 -0
- package/dist/js/core/components/functional/shader/shader.js.map +1 -0
- package/dist/js/core/components/functional/shader/shadertoy-prelude.js +48 -0
- package/dist/js/core/components/functional/shader/shadertoy-prelude.js.map +1 -0
- package/dist/js/core/components/functional/shader/types.js +179 -0
- package/dist/js/core/components/functional/shader/types.js.map +1 -0
- package/dist/js/core/components/functional/sonic-scope/sonic-scope.js +22 -0
- package/dist/js/core/components/functional/sonic-scope/sonic-scope.js.map +1 -0
- package/dist/js/core/components/functional/states/states.js +172 -0
- package/dist/js/core/components/functional/states/states.js.map +1 -0
- package/dist/js/core/components/functional/submit/submit.js +284 -0
- package/dist/js/core/components/functional/submit/submit.js.map +1 -0
- package/dist/js/core/components/functional/subscriber/subscriber.js +39 -0
- package/dist/js/core/components/functional/subscriber/subscriber.js.map +1 -0
- package/dist/js/core/components/functional/translation/translation.js +28 -0
- package/dist/js/core/components/functional/translation/translation.js.map +1 -0
- package/dist/js/core/components/functional/value/value.js +28 -0
- package/dist/js/core/components/functional/value/value.js.map +1 -0
- package/dist/js/core/components/functional/webgpu/canvas2d-fallback.js +117 -0
- package/dist/js/core/components/functional/webgpu/canvas2d-fallback.js.map +1 -0
- package/dist/js/core/components/functional/webgpu/form-bind.js +92 -0
- package/dist/js/core/components/functional/webgpu/form-bind.js.map +1 -0
- package/dist/js/core/components/functional/webgpu/gl-fallback.js +135 -0
- package/dist/js/core/components/functional/webgpu/gl-fallback.js.map +1 -0
- package/dist/js/core/components/functional/webgpu/gpu-runtime.js +305 -0
- package/dist/js/core/components/functional/webgpu/gpu-runtime.js.map +1 -0
- package/dist/js/core/components/functional/webgpu/helpers.js +44 -0
- package/dist/js/core/components/functional/webgpu/helpers.js.map +1 -0
- package/dist/js/core/components/functional/webgpu/out-frame.js +117 -0
- package/dist/js/core/components/functional/webgpu/out-frame.js.map +1 -0
- package/dist/js/core/components/functional/webgpu/particles-runtime.js +407 -0
- package/dist/js/core/components/functional/webgpu/particles-runtime.js.map +1 -0
- package/dist/js/core/components/functional/webgpu/pointer.js +56 -0
- package/dist/js/core/components/functional/webgpu/pointer.js.map +1 -0
- package/dist/js/core/components/functional/webgpu/types.js +24 -0
- package/dist/js/core/components/functional/webgpu/types.js.map +1 -0
- package/dist/js/core/components/functional/webgpu/webgpu.js +667 -0
- package/dist/js/core/components/functional/webgpu/webgpu.js.map +1 -0
- package/dist/js/core/components/functional/webgpu/wgsl-prelude.js +77 -0
- package/dist/js/core/components/functional/webgpu/wgsl-prelude.js.map +1 -0
- package/dist/js/core/components/ui/_css/scroll.js +27 -0
- package/dist/js/core/components/ui/_css/scroll.js.map +1 -0
- package/dist/js/core/components/ui/_css/shadow.js +22 -0
- package/dist/js/core/components/ui/_css/shadow.js.map +1 -0
- package/dist/js/core/components/ui/_css/size.js +36 -0
- package/dist/js/core/components/ui/_css/size.js.map +1 -0
- package/dist/js/core/components/ui/_css/type.js +92 -0
- package/dist/js/core/components/ui/_css/type.js.map +1 -0
- package/dist/js/core/components/ui/alert/alert.js +213 -0
- package/dist/js/core/components/ui/alert/alert.js.map +1 -0
- package/dist/js/core/components/ui/alert-messages/alert-messages.js +68 -0
- package/dist/js/core/components/ui/alert-messages/alert-messages.js.map +1 -0
- package/dist/js/core/components/ui/badge/badge.js +199 -0
- package/dist/js/core/components/ui/badge/badge.js.map +1 -0
- package/dist/js/core/components/ui/button/button.js +697 -0
- package/dist/js/core/components/ui/button/button.js.map +1 -0
- package/dist/js/core/components/ui/captcha/altchaStyles.js +226 -0
- package/dist/js/core/components/ui/captcha/altchaStyles.js.map +1 -0
- package/dist/js/core/components/ui/captcha/captcha.js +167 -0
- package/dist/js/core/components/ui/captcha/captcha.js.map +1 -0
- package/dist/js/core/components/ui/card/card-footer.js +26 -0
- package/dist/js/core/components/ui/card/card-footer.js.map +1 -0
- package/dist/js/core/components/ui/card/card-header-descripton.js +30 -0
- package/dist/js/core/components/ui/card/card-header-descripton.js.map +1 -0
- package/dist/js/core/components/ui/card/card-header.js +79 -0
- package/dist/js/core/components/ui/card/card-header.js.map +1 -0
- package/dist/js/core/components/ui/card/card-main.js +26 -0
- package/dist/js/core/components/ui/card/card-main.js.map +1 -0
- package/dist/js/core/components/ui/card/card.js +67 -0
- package/dist/js/core/components/ui/card/card.js.map +1 -0
- package/dist/js/core/components/ui/divider/divider.js +200 -0
- package/dist/js/core/components/ui/divider/divider.js.map +1 -0
- package/dist/js/core/components/ui/form/checkbox/checkbox.js +257 -0
- package/dist/js/core/components/ui/form/checkbox/checkbox.js.map +1 -0
- package/dist/js/core/components/ui/form/css/form-control.js +393 -0
- package/dist/js/core/components/ui/form/css/form-control.js.map +1 -0
- package/dist/js/core/components/ui/form/fieldset/fieldset.js +124 -0
- package/dist/js/core/components/ui/form/fieldset/fieldset.js.map +1 -0
- package/dist/js/core/components/ui/form/fieldset/legend-description.js +38 -0
- package/dist/js/core/components/ui/form/fieldset/legend-description.js.map +1 -0
- package/dist/js/core/components/ui/form/fieldset/legend.js +130 -0
- package/dist/js/core/components/ui/form/fieldset/legend.js.map +1 -0
- package/dist/js/core/components/ui/form/form-actions/form-actions.js +47 -0
- package/dist/js/core/components/ui/form/form-actions/form-actions.js.map +1 -0
- package/dist/js/core/components/ui/form/form-layout/form-layout.js +84 -0
- package/dist/js/core/components/ui/form/form-layout/form-layout.js.map +1 -0
- package/dist/js/core/components/ui/form/input/input.js +316 -0
- package/dist/js/core/components/ui/form/input/input.js.map +1 -0
- package/dist/js/core/components/ui/form/input/password-helper.js +134 -0
- package/dist/js/core/components/ui/form/input/password-helper.js.map +1 -0
- package/dist/js/core/components/ui/form/input/same-value-helper.js +85 -0
- package/dist/js/core/components/ui/form/input/same-value-helper.js.map +1 -0
- package/dist/js/core/components/ui/form/input-autocomplete/input-autocomplete.js +405 -0
- package/dist/js/core/components/ui/form/input-autocomplete/input-autocomplete.js.map +1 -0
- package/dist/js/core/components/ui/form/radio/radio.js +63 -0
- package/dist/js/core/components/ui/form/radio/radio.js.map +1 -0
- package/dist/js/core/components/ui/form/select/select.js +323 -0
- package/dist/js/core/components/ui/form/select/select.js.map +1 -0
- package/dist/js/core/components/ui/form/switch/switch.js +90 -0
- package/dist/js/core/components/ui/form/switch/switch.js.map +1 -0
- package/dist/js/core/components/ui/form/textarea/textarea.js +162 -0
- package/dist/js/core/components/ui/form/textarea/textarea.js.map +1 -0
- package/dist/js/core/components/ui/group/group.js +128 -0
- package/dist/js/core/components/ui/group/group.js.map +1 -0
- package/dist/js/core/components/ui/icon/icon.js +145 -0
- package/dist/js/core/components/ui/icon/icon.js.map +1 -0
- package/dist/js/core/components/ui/icon/icons.js +184 -0
- package/dist/js/core/components/ui/icon/icons.js.map +1 -0
- package/dist/js/core/components/ui/icon/icons.json +1 -0
- package/dist/js/core/components/ui/image/image.js +160 -0
- package/dist/js/core/components/ui/image/image.js.map +1 -0
- package/dist/js/core/components/ui/link/link.js +125 -0
- package/dist/js/core/components/ui/link/link.js.map +1 -0
- package/dist/js/core/components/ui/loader/loader.js +106 -0
- package/dist/js/core/components/ui/loader/loader.js.map +1 -0
- package/dist/js/core/components/ui/loader/styles/fixed.js +56 -0
- package/dist/js/core/components/ui/loader/styles/fixed.js.map +1 -0
- package/dist/js/core/components/ui/loader/styles/inline.js +70 -0
- package/dist/js/core/components/ui/loader/styles/inline.js.map +1 -0
- package/dist/js/core/components/ui/menu/menu-item.js +35 -0
- package/dist/js/core/components/ui/menu/menu-item.js.map +1 -0
- package/dist/js/core/components/ui/menu/menu.js +436 -0
- package/dist/js/core/components/ui/menu/menu.js.map +1 -0
- package/dist/js/core/components/ui/modal/modal-actions.js +44 -0
- package/dist/js/core/components/ui/modal/modal-actions.js.map +1 -0
- package/dist/js/core/components/ui/modal/modal-close.js +56 -0
- package/dist/js/core/components/ui/modal/modal-close.js.map +1 -0
- package/dist/js/core/components/ui/modal/modal-content.js +27 -0
- package/dist/js/core/components/ui/modal/modal-content.js.map +1 -0
- package/dist/js/core/components/ui/modal/modal-subtitle.js +34 -0
- package/dist/js/core/components/ui/modal/modal-subtitle.js.map +1 -0
- package/dist/js/core/components/ui/modal/modal-title.js +35 -0
- package/dist/js/core/components/ui/modal/modal-title.js.map +1 -0
- package/dist/js/core/components/ui/modal/modal-utils.js +32 -0
- package/dist/js/core/components/ui/modal/modal-utils.js.map +1 -0
- package/dist/js/core/components/ui/modal/modal.js +568 -0
- package/dist/js/core/components/ui/modal/modal.js.map +1 -0
- package/dist/js/core/components/ui/pop/pop.js +337 -0
- package/dist/js/core/components/ui/pop/pop.js.map +1 -0
- package/dist/js/core/components/ui/progress/progress.js +164 -0
- package/dist/js/core/components/ui/progress/progress.js.map +1 -0
- package/dist/js/core/components/ui/table/table-caption.js +29 -0
- package/dist/js/core/components/ui/table/table-caption.js.map +1 -0
- package/dist/js/core/components/ui/table/table-tbody.js +41 -0
- package/dist/js/core/components/ui/table/table-tbody.js.map +1 -0
- package/dist/js/core/components/ui/table/table-td.js +69 -0
- package/dist/js/core/components/ui/table/table-td.js.map +1 -0
- package/dist/js/core/components/ui/table/table-tfoot.js +28 -0
- package/dist/js/core/components/ui/table/table-tfoot.js.map +1 -0
- package/dist/js/core/components/ui/table/table-th.js +80 -0
- package/dist/js/core/components/ui/table/table-th.js.map +1 -0
- package/dist/js/core/components/ui/table/table-thead.js +26 -0
- package/dist/js/core/components/ui/table/table-thead.js.map +1 -0
- package/dist/js/core/components/ui/table/table-tr.js +67 -0
- package/dist/js/core/components/ui/table/table-tr.js.map +1 -0
- package/dist/js/core/components/ui/table/table.js +106 -0
- package/dist/js/core/components/ui/table/table.js.map +1 -0
- package/dist/js/core/components/ui/theme/theme-collection/core-variables.js +74 -0
- package/dist/js/core/components/ui/theme/theme-collection/core-variables.js.map +1 -0
- package/dist/js/core/components/ui/theme/theme-collection/dark.js +39 -0
- package/dist/js/core/components/ui/theme/theme-collection/dark.js.map +1 -0
- package/dist/js/core/components/ui/theme/theme-collection/light.js +32 -0
- package/dist/js/core/components/ui/theme/theme-collection/light.js.map +1 -0
- package/dist/js/core/components/ui/theme/theme.js +150 -0
- package/dist/js/core/components/ui/theme/theme.js.map +1 -0
- package/dist/js/core/components/ui/toast/message-subscriber.js +41 -0
- package/dist/js/core/components/ui/toast/message-subscriber.js.map +1 -0
- package/dist/js/core/components/ui/toast/toast-item.js +379 -0
- package/dist/js/core/components/ui/toast/toast-item.js.map +1 -0
- package/dist/js/core/components/ui/toast/toast.js +269 -0
- package/dist/js/core/components/ui/toast/toast.js.map +1 -0
- package/dist/js/core/components/ui/toast/types.js +2 -0
- package/dist/js/core/components/ui/toast/types.js.map +1 -0
- package/dist/js/core/components/ui/tooltip/tooltip.js +219 -0
- package/dist/js/core/components/ui/tooltip/tooltip.js.map +1 -0
- package/dist/js/core/components/ui/ui.js +41 -0
- package/dist/js/core/components/ui/ui.js.map +1 -0
- package/dist/js/core/core.js +14 -0
- package/dist/js/core/core.js.map +1 -0
- package/dist/js/core/decorators/Subscriber.js +10 -0
- package/dist/js/core/decorators/Subscriber.js.map +1 -0
- package/dist/js/core/decorators/api.js +806 -0
- package/dist/js/core/decorators/api.js.map +1 -0
- package/dist/js/core/decorators/lifecycle.js +67 -0
- package/dist/js/core/decorators/lifecycle.js.map +1 -0
- package/dist/js/core/decorators/subscriber/ancestorAttribute.js +27 -0
- package/dist/js/core/decorators/subscriber/ancestorAttribute.js.map +1 -0
- package/dist/js/core/decorators/subscriber/autoFill.js +26 -0
- package/dist/js/core/decorators/subscriber/autoFill.js.map +1 -0
- package/dist/js/core/decorators/subscriber/autoSubscribe.js +46 -0
- package/dist/js/core/decorators/subscriber/autoSubscribe.js.map +1 -0
- package/dist/js/core/decorators/subscriber/bind.js +150 -0
- package/dist/js/core/decorators/subscriber/bind.js.map +1 -0
- package/dist/js/core/decorators/subscriber/common.js +44 -0
- package/dist/js/core/decorators/subscriber/common.js.map +1 -0
- package/dist/js/core/decorators/subscriber/derive.js +60 -0
- package/dist/js/core/decorators/subscriber/derive.js.map +1 -0
- package/dist/js/core/decorators/subscriber/dynamicPath.js +75 -0
- package/dist/js/core/decorators/subscriber/dynamicPath.js.map +1 -0
- package/dist/js/core/decorators/subscriber/dynamicPropertyWatch.js +138 -0
- package/dist/js/core/decorators/subscriber/dynamicPropertyWatch.js.map +1 -0
- package/dist/js/core/decorators/subscriber/handle.js +22 -0
- package/dist/js/core/decorators/subscriber/handle.js.map +1 -0
- package/dist/js/core/decorators/subscriber/onAssign.js +199 -0
- package/dist/js/core/decorators/subscriber/onAssign.js.map +1 -0
- package/dist/js/core/decorators/subscriber/publish.js +108 -0
- package/dist/js/core/decorators/subscriber/publish.js.map +1 -0
- package/dist/js/core/decorators/subscriber/publisherPath.js +16 -0
- package/dist/js/core/decorators/subscriber/publisherPath.js.map +1 -0
- package/dist/js/core/decorators/subscriber/subscribe.js +20 -0
- package/dist/js/core/decorators/subscriber/subscribe.js.map +1 -0
- package/dist/js/core/directives/DataProvider.js +127 -0
- package/dist/js/core/directives/DataProvider.js.map +1 -0
- package/dist/js/core/directives/Wording.js +221 -0
- package/dist/js/core/directives/Wording.js.map +1 -0
- package/dist/js/core/mixins/Fetcher.js +325 -0
- package/dist/js/core/mixins/Fetcher.js.map +1 -0
- package/dist/js/core/mixins/FormCheckable.js +313 -0
- package/dist/js/core/mixins/FormCheckable.js.map +1 -0
- package/dist/js/core/mixins/FormElement.js +304 -0
- package/dist/js/core/mixins/FormElement.js.map +1 -0
- package/dist/js/core/mixins/FormInput.js +82 -0
- package/dist/js/core/mixins/FormInput.js.map +1 -0
- package/dist/js/core/mixins/Subscriber.js +354 -0
- package/dist/js/core/mixins/Subscriber.js.map +1 -0
- package/dist/js/core/mixins/TemplatesContainer.js +70 -0
- package/dist/js/core/mixins/TemplatesContainer.js.map +1 -0
- package/dist/js/core/mixins/mixins.js +7 -0
- package/dist/js/core/mixins/mixins.js.map +1 -0
- package/dist/js/core/utils/AncestorAttributeObserver.js +140 -0
- package/dist/js/core/utils/AncestorAttributeObserver.js.map +1 -0
- package/dist/js/core/utils/Arrays.js +141 -0
- package/dist/js/core/utils/Arrays.js.map +1 -0
- package/dist/js/core/utils/DataBindObserver.js +265 -0
- package/dist/js/core/utils/DataBindObserver.js.map +1 -0
- package/dist/js/core/utils/Electron.js +14 -0
- package/dist/js/core/utils/Electron.js.map +1 -0
- package/dist/js/core/utils/Format.js +43 -0
- package/dist/js/core/utils/Format.js.map +1 -0
- package/dist/js/core/utils/HTML.js +307 -0
- package/dist/js/core/utils/HTML.js.map +1 -0
- package/dist/js/core/utils/LocationHandler.js +143 -0
- package/dist/js/core/utils/LocationHandler.js.map +1 -0
- package/dist/js/core/utils/Objects.js +111 -0
- package/dist/js/core/utils/Objects.js.map +1 -0
- package/dist/js/core/utils/PublisherProxy.js +970 -0
- package/dist/js/core/utils/PublisherProxy.js.map +1 -0
- package/dist/js/core/utils/SafariScrollGuard.js +384 -0
- package/dist/js/core/utils/SafariScrollGuard.js.map +1 -0
- package/dist/js/core/utils/Utils.js +19 -0
- package/dist/js/core/utils/Utils.js.map +1 -0
- package/dist/js/core/utils/aesCrypto.js +98 -0
- package/dist/js/core/utils/aesCrypto.js.map +1 -0
- package/dist/js/core/utils/api.js +595 -0
- package/dist/js/core/utils/api.js.map +1 -0
- package/dist/js/core/utils/dataProviderKey.js +64 -0
- package/dist/js/core/utils/dataProviderKey.js.map +1 -0
- package/dist/js/core/utils/derive.js +246 -0
- package/dist/js/core/utils/derive.js.map +1 -0
- package/dist/js/core/utils/endpoint.js +74 -0
- package/dist/js/core/utils/endpoint.js.map +1 -0
- package/dist/js/core/utils/jsonataHelpers.js +84 -0
- package/dist/js/core/utils/jsonataHelpers.js.map +1 -0
- package/dist/js/core/utils/jsonataRuntime.js +75 -0
- package/dist/js/core/utils/jsonataRuntime.js.map +1 -0
- package/dist/js/core/utils/mediaRef.js +120 -0
- package/dist/js/core/utils/mediaRef.js.map +1 -0
- package/dist/js/core/utils/route.js +149 -0
- package/dist/js/core/utils/route.js.map +1 -0
- package/dist/js/core/utils/similarity.js +44 -0
- package/dist/js/core/utils/similarity.js.map +1 -0
- package/dist/js/core/utils/url-pattern.js +3 -0
- package/dist/js/core/utils/url-pattern.js.map +1 -0
- package/dist/js/dataprovider.js +2 -0
- package/dist/js/dataprovider.js.map +1 -0
- package/dist/js/decorators.js +43 -0
- package/dist/js/decorators.js.map +1 -0
- package/dist/js/directives.js +30 -0
- package/dist/js/directives.js.map +1 -0
- package/dist/js/index.js +8 -0
- package/dist/js/index.js.map +1 -0
- package/dist/js/mixins.js +23 -0
- package/dist/js/mixins.js.map +1 -0
- package/dist/js/test-utils/TestUtils.js +10 -0
- package/dist/js/test-utils/TestUtils.js.map +1 -0
- package/dist/js/utils.js +46 -0
- package/dist/js/utils.js.map +1 -0
- package/dist/types/addons/3d.d.ts +6 -0
- package/dist/types/addons/3d.d.ts.map +1 -0
- package/dist/types/addons/hugging-face-infer.d.ts +8 -0
- package/dist/types/addons/hugging-face-infer.d.ts.map +1 -0
- package/dist/types/addons/shader.d.ts +6 -0
- package/dist/types/addons/shader.d.ts.map +1 -0
- package/dist/types/addons/webgpu.d.ts +7 -0
- package/dist/types/addons/webgpu.d.ts.map +1 -0
- package/dist/types/components.d.ts +5 -0
- package/dist/types/components.d.ts.map +1 -0
- package/dist/types/concorde-loaded.d.ts +2 -0
- package/dist/types/concorde-loaded.d.ts.map +1 -0
- package/dist/types/core/_types/endpoint.d.ts +5 -0
- package/dist/types/core/_types/endpoint.d.ts.map +1 -0
- package/dist/types/core/_types/key.d.ts +2 -0
- package/dist/types/core/_types/key.d.ts.map +1 -0
- package/dist/types/core/_types/types.d.ts +28 -0
- package/dist/types/core/_types/types.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/3d.d.ts +66 -0
- package/dist/types/core/components/functional/3d/3d.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/asset.d.ts +12 -0
- package/dist/types/core/components/functional/3d/asset.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/boot.d.ts +23 -0
- package/dist/types/core/components/functional/3d/boot.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/constants.d.ts +43 -0
- package/dist/types/core/components/functional/3d/constants.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/demo-content.d.ts +10 -0
- package/dist/types/core/components/functional/3d/demo-content.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/ensure.d.ts +36 -0
- package/dist/types/core/components/functional/3d/ensure.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/form-bind.d.ts +20 -0
- package/dist/types/core/components/functional/3d/form-bind.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/form-fields.d.ts +14 -0
- package/dist/types/core/components/functional/3d/form-fields.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/form-params.d.ts +37 -0
- package/dist/types/core/components/functional/3d/form-params.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/frame-capture.d.ts +33 -0
- package/dist/types/core/components/functional/3d/frame-capture.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/gl.d.ts +4 -0
- package/dist/types/core/components/functional/3d/gl.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/life.d.ts +41 -0
- package/dist/types/core/components/functional/3d/life.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/load.d.ts +36 -0
- package/dist/types/core/components/functional/3d/load.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/ops.d.ts +48 -0
- package/dist/types/core/components/functional/3d/ops.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/opts.d.ts +16 -0
- package/dist/types/core/components/functional/3d/opts.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/orbit.d.ts +55 -0
- package/dist/types/core/components/functional/3d/orbit.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/out-publish.d.ts +47 -0
- package/dist/types/core/components/functional/3d/out-publish.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/parse.d.ts +23 -0
- package/dist/types/core/components/functional/3d/parse.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/pick.d.ts +32 -0
- package/dist/types/core/components/functional/3d/pick.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/playback.d.ts +26 -0
- package/dist/types/core/components/functional/3d/playback.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/pointer.d.ts +27 -0
- package/dist/types/core/components/functional/3d/pointer.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/props.d.ts +30 -0
- package/dist/types/core/components/functional/3d/props.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/publisher-listen.d.ts +8 -0
- package/dist/types/core/components/functional/3d/publisher-listen.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/reload.d.ts +35 -0
- package/dist/types/core/components/functional/3d/reload.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/runtime.d.ts +75 -0
- package/dist/types/core/components/functional/3d/runtime.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/scene-runtime.d.ts +6 -0
- package/dist/types/core/components/functional/3d/scene-runtime.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/snapshot.d.ts +29 -0
- package/dist/types/core/components/functional/3d/snapshot.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/styles.d.ts +2 -0
- package/dist/types/core/components/functional/3d/styles.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/tune.d.ts +32 -0
- package/dist/types/core/components/functional/3d/tune.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/types.d.ts +133 -0
- package/dist/types/core/components/functional/3d/types.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/updated.d.ts +7 -0
- package/dist/types/core/components/functional/3d/updated.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/view.d.ts +25 -0
- package/dist/types/core/components/functional/3d/view.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/wire.d.ts +32 -0
- package/dist/types/core/components/functional/3d/wire.d.ts.map +1 -0
- package/dist/types/core/components/functional/date/date.d.ts +52 -0
- package/dist/types/core/components/functional/date/date.d.ts.map +1 -0
- package/dist/types/core/components/functional/example/example.d.ts +15 -0
- package/dist/types/core/components/functional/example/example.d.ts.map +1 -0
- package/dist/types/core/components/functional/fetch/fetch.d.ts +102 -0
- package/dist/types/core/components/functional/fetch/fetch.d.ts.map +1 -0
- package/dist/types/core/components/functional/functional.d.ts +18 -0
- package/dist/types/core/components/functional/functional.d.ts.map +1 -0
- package/dist/types/core/components/functional/if/if.d.ts +13 -0
- package/dist/types/core/components/functional/if/if.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-cache.d.ts +21 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-cache.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-config.d.ts +133 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-config.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-controller.d.ts +79 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-controller.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-engine.d.ts +43 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-engine.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-input.d.ts +47 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-input.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-protocol.d.ts +95 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-protocol.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-registry.d.ts +77 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-registry.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-schema.d.ts +1251 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-schema.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-worker-runtime.d.ts +56 -0
- package/dist/types/core/components/functional/infer/hugging-face/hf-worker-runtime.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/hugging-face-infer.d.ts +67 -0
- package/dist/types/core/components/functional/infer/hugging-face/hugging-face-infer.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/hugging-face.d.ts +116 -0
- package/dist/types/core/components/functional/infer/hugging-face/hugging-face.d.ts.map +1 -0
- package/dist/types/core/components/functional/infer/hugging-face/types.d.ts +167 -0
- package/dist/types/core/components/functional/infer/hugging-face/types.d.ts.map +1 -0
- package/dist/types/core/components/functional/jsonata/jsonata.d.ts +29 -0
- package/dist/types/core/components/functional/jsonata/jsonata.d.ts.map +1 -0
- package/dist/types/core/components/functional/list/list.d.ts +149 -0
- package/dist/types/core/components/functional/list/list.d.ts.map +1 -0
- package/dist/types/core/components/functional/mix/mix.d.ts +23 -0
- package/dist/types/core/components/functional/mix/mix.d.ts.map +1 -0
- package/dist/types/core/components/functional/queue/queue.d.ts +93 -0
- package/dist/types/core/components/functional/queue/queue.d.ts.map +1 -0
- package/dist/types/core/components/functional/router/redirect.d.ts +19 -0
- package/dist/types/core/components/functional/router/redirect.d.ts.map +1 -0
- package/dist/types/core/components/functional/router/router.d.ts +46 -0
- package/dist/types/core/components/functional/router/router.d.ts.map +1 -0
- package/dist/types/core/components/functional/sdui/SDUIDescriptorTransformer.d.ts +59 -0
- package/dist/types/core/components/functional/sdui/SDUIDescriptorTransformer.d.ts.map +1 -0
- package/dist/types/core/components/functional/sdui/sdui-utils.d.ts +6 -0
- package/dist/types/core/components/functional/sdui/sdui-utils.d.ts.map +1 -0
- package/dist/types/core/components/functional/sdui/sdui.d.ts +148 -0
- package/dist/types/core/components/functional/sdui/sdui.d.ts.map +1 -0
- package/dist/types/core/components/functional/sdui/types.d.ts +38 -0
- package/dist/types/core/components/functional/sdui/types.d.ts.map +1 -0
- package/dist/types/core/components/functional/shader/gl-runtime.d.ts +71 -0
- package/dist/types/core/components/functional/shader/gl-runtime.d.ts.map +1 -0
- package/dist/types/core/components/functional/shader/shader.d.ts +274 -0
- package/dist/types/core/components/functional/shader/shader.d.ts.map +1 -0
- package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts +6 -0
- package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts.map +1 -0
- package/dist/types/core/components/functional/shader/types.d.ts +256 -0
- package/dist/types/core/components/functional/shader/types.d.ts.map +1 -0
- package/dist/types/core/components/functional/sonic-scope/sonic-scope.d.ts +6 -0
- package/dist/types/core/components/functional/sonic-scope/sonic-scope.d.ts.map +1 -0
- package/dist/types/core/components/functional/states/states.d.ts +42 -0
- package/dist/types/core/components/functional/states/states.d.ts.map +1 -0
- package/dist/types/core/components/functional/submit/submit.d.ts +37 -0
- package/dist/types/core/components/functional/submit/submit.d.ts.map +1 -0
- package/dist/types/core/components/functional/subscriber/subscriber.d.ts +13 -0
- package/dist/types/core/components/functional/subscriber/subscriber.d.ts.map +1 -0
- package/dist/types/core/components/functional/translation/translation.d.ts +7 -0
- package/dist/types/core/components/functional/translation/translation.d.ts.map +1 -0
- package/dist/types/core/components/functional/value/value.d.ts +8 -0
- package/dist/types/core/components/functional/value/value.d.ts.map +1 -0
- package/dist/types/core/components/functional/webgpu/canvas2d-fallback.d.ts +29 -0
- package/dist/types/core/components/functional/webgpu/canvas2d-fallback.d.ts.map +1 -0
- package/dist/types/core/components/functional/webgpu/form-bind.d.ts +43 -0
- package/dist/types/core/components/functional/webgpu/form-bind.d.ts.map +1 -0
- package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts +31 -0
- package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts.map +1 -0
- package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts +53 -0
- package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts.map +1 -0
- package/dist/types/core/components/functional/webgpu/helpers.d.ts +9 -0
- package/dist/types/core/components/functional/webgpu/helpers.d.ts.map +1 -0
- package/dist/types/core/components/functional/webgpu/out-frame.d.ts +29 -0
- package/dist/types/core/components/functional/webgpu/out-frame.d.ts.map +1 -0
- package/dist/types/core/components/functional/webgpu/particles-runtime.d.ts +37 -0
- package/dist/types/core/components/functional/webgpu/particles-runtime.d.ts.map +1 -0
- package/dist/types/core/components/functional/webgpu/pointer.d.ts +41 -0
- package/dist/types/core/components/functional/webgpu/pointer.d.ts.map +1 -0
- package/dist/types/core/components/functional/webgpu/types.d.ts +75 -0
- package/dist/types/core/components/functional/webgpu/types.d.ts.map +1 -0
- package/dist/types/core/components/functional/webgpu/webgpu.d.ts +123 -0
- package/dist/types/core/components/functional/webgpu/webgpu.d.ts.map +1 -0
- package/dist/types/core/components/functional/webgpu/wgsl-prelude.d.ts +8 -0
- package/dist/types/core/components/functional/webgpu/wgsl-prelude.d.ts.map +1 -0
- package/dist/types/core/components/ui/_css/scroll.d.ts +2 -0
- package/dist/types/core/components/ui/_css/scroll.d.ts.map +1 -0
- package/dist/types/core/components/ui/_css/shadow.d.ts +3 -0
- package/dist/types/core/components/ui/_css/shadow.d.ts.map +1 -0
- package/dist/types/core/components/ui/_css/size.d.ts +3 -0
- package/dist/types/core/components/ui/_css/size.d.ts.map +1 -0
- package/dist/types/core/components/ui/_css/type.d.ts +3 -0
- package/dist/types/core/components/ui/_css/type.d.ts.map +1 -0
- package/dist/types/core/components/ui/alert/alert.d.ts +37 -0
- package/dist/types/core/components/ui/alert/alert.d.ts.map +1 -0
- package/dist/types/core/components/ui/alert-messages/alert-messages.d.ts +15 -0
- package/dist/types/core/components/ui/alert-messages/alert-messages.d.ts.map +1 -0
- package/dist/types/core/components/ui/badge/badge.d.ts +27 -0
- package/dist/types/core/components/ui/badge/badge.d.ts.map +1 -0
- package/dist/types/core/components/ui/button/button.d.ts +180 -0
- package/dist/types/core/components/ui/button/button.d.ts.map +1 -0
- package/dist/types/core/components/ui/captcha/altchaStyles.d.ts +2 -0
- package/dist/types/core/components/ui/captcha/altchaStyles.d.ts.map +1 -0
- package/dist/types/core/components/ui/captcha/captcha.d.ts +30 -0
- package/dist/types/core/components/ui/captcha/captcha.d.ts.map +1 -0
- package/dist/types/core/components/ui/card/card-footer.d.ts +6 -0
- package/dist/types/core/components/ui/card/card-footer.d.ts.map +1 -0
- package/dist/types/core/components/ui/card/card-header-descripton.d.ts +6 -0
- package/dist/types/core/components/ui/card/card-header-descripton.d.ts.map +1 -0
- package/dist/types/core/components/ui/card/card-header.d.ts +9 -0
- package/dist/types/core/components/ui/card/card-header.d.ts.map +1 -0
- package/dist/types/core/components/ui/card/card-main.d.ts +6 -0
- package/dist/types/core/components/ui/card/card-main.d.ts.map +1 -0
- package/dist/types/core/components/ui/card/card.d.ts +13 -0
- package/dist/types/core/components/ui/card/card.d.ts.map +1 -0
- package/dist/types/core/components/ui/divider/divider.d.ts +16 -0
- package/dist/types/core/components/ui/divider/divider.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/checkbox/checkbox.d.ts +176 -0
- package/dist/types/core/components/ui/form/checkbox/checkbox.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/css/form-control.d.ts +5 -0
- package/dist/types/core/components/ui/form/css/form-control.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/fieldset/fieldset.d.ts +24 -0
- package/dist/types/core/components/ui/form/fieldset/fieldset.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/fieldset/legend-description.d.ts +6 -0
- package/dist/types/core/components/ui/form/fieldset/legend-description.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/fieldset/legend.d.ts +17 -0
- package/dist/types/core/components/ui/form/fieldset/legend.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/form-actions/form-actions.d.ts +8 -0
- package/dist/types/core/components/ui/form/form-actions/form-actions.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/form-layout/form-layout.d.ts +13 -0
- package/dist/types/core/components/ui/form/form-layout/form-layout.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/input/input.d.ts +123 -0
- package/dist/types/core/components/ui/form/input/input.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/input/password-helper.d.ts +26 -0
- package/dist/types/core/components/ui/form/input/password-helper.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/input/same-value-helper.d.ts +17 -0
- package/dist/types/core/components/ui/form/input/same-value-helper.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts +155 -0
- package/dist/types/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/radio/radio.d.ts +15 -0
- package/dist/types/core/components/ui/form/radio/radio.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/select/select.d.ts +59 -0
- package/dist/types/core/components/ui/form/select/select.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/switch/switch.d.ts +6 -0
- package/dist/types/core/components/ui/form/switch/switch.d.ts.map +1 -0
- package/dist/types/core/components/ui/form/textarea/textarea.d.ts +94 -0
- package/dist/types/core/components/ui/form/textarea/textarea.d.ts.map +1 -0
- package/dist/types/core/components/ui/group/group.d.ts +17 -0
- package/dist/types/core/components/ui/group/group.d.ts.map +1 -0
- package/dist/types/core/components/ui/icon/icon.d.ts +30 -0
- package/dist/types/core/components/ui/icon/icon.d.ts.map +1 -0
- package/dist/types/core/components/ui/icon/icons.d.ts +13 -0
- package/dist/types/core/components/ui/icon/icons.d.ts.map +1 -0
- package/dist/types/core/components/ui/image/image.d.ts +16 -0
- package/dist/types/core/components/ui/image/image.d.ts.map +1 -0
- package/dist/types/core/components/ui/link/link.d.ts +30 -0
- package/dist/types/core/components/ui/link/link.d.ts.map +1 -0
- package/dist/types/core/components/ui/loader/loader.d.ts +24 -0
- package/dist/types/core/components/ui/loader/loader.d.ts.map +1 -0
- package/dist/types/core/components/ui/loader/styles/fixed.d.ts +2 -0
- package/dist/types/core/components/ui/loader/styles/fixed.d.ts.map +1 -0
- package/dist/types/core/components/ui/loader/styles/inline.d.ts +2 -0
- package/dist/types/core/components/ui/loader/styles/inline.d.ts.map +1 -0
- package/dist/types/core/components/ui/menu/menu-item.d.ts +6 -0
- package/dist/types/core/components/ui/menu/menu-item.d.ts.map +1 -0
- package/dist/types/core/components/ui/menu/menu.d.ts +52 -0
- package/dist/types/core/components/ui/menu/menu.d.ts.map +1 -0
- package/dist/types/core/components/ui/modal/modal-actions.d.ts +9 -0
- package/dist/types/core/components/ui/modal/modal-actions.d.ts.map +1 -0
- package/dist/types/core/components/ui/modal/modal-close.d.ts +11 -0
- package/dist/types/core/components/ui/modal/modal-close.d.ts.map +1 -0
- package/dist/types/core/components/ui/modal/modal-content.d.ts +6 -0
- package/dist/types/core/components/ui/modal/modal-content.d.ts.map +1 -0
- package/dist/types/core/components/ui/modal/modal-subtitle.d.ts +6 -0
- package/dist/types/core/components/ui/modal/modal-subtitle.d.ts.map +1 -0
- package/dist/types/core/components/ui/modal/modal-title.d.ts +6 -0
- package/dist/types/core/components/ui/modal/modal-title.d.ts.map +1 -0
- package/dist/types/core/components/ui/modal/modal-utils.d.ts +4 -0
- package/dist/types/core/components/ui/modal/modal-utils.d.ts.map +1 -0
- package/dist/types/core/components/ui/modal/modal.d.ts +79 -0
- package/dist/types/core/components/ui/modal/modal.d.ts.map +1 -0
- package/dist/types/core/components/ui/pop/pop.d.ts +42 -0
- package/dist/types/core/components/ui/pop/pop.d.ts.map +1 -0
- package/dist/types/core/components/ui/progress/progress.d.ts +12 -0
- package/dist/types/core/components/ui/progress/progress.d.ts.map +1 -0
- package/dist/types/core/components/ui/table/table-caption.d.ts +6 -0
- package/dist/types/core/components/ui/table/table-caption.d.ts.map +1 -0
- package/dist/types/core/components/ui/table/table-tbody.d.ts +6 -0
- package/dist/types/core/components/ui/table/table-tbody.d.ts.map +1 -0
- package/dist/types/core/components/ui/table/table-td.d.ts +13 -0
- package/dist/types/core/components/ui/table/table-td.d.ts.map +1 -0
- package/dist/types/core/components/ui/table/table-tfoot.d.ts +6 -0
- package/dist/types/core/components/ui/table/table-tfoot.d.ts.map +1 -0
- package/dist/types/core/components/ui/table/table-th.d.ts +12 -0
- package/dist/types/core/components/ui/table/table-th.d.ts.map +1 -0
- package/dist/types/core/components/ui/table/table-thead.d.ts +6 -0
- package/dist/types/core/components/ui/table/table-thead.d.ts.map +1 -0
- package/dist/types/core/components/ui/table/table-tr.d.ts +14 -0
- package/dist/types/core/components/ui/table/table-tr.d.ts.map +1 -0
- package/dist/types/core/components/ui/table/table.d.ts +18 -0
- package/dist/types/core/components/ui/table/table.d.ts.map +1 -0
- package/dist/types/core/components/ui/theme/theme-collection/core-variables.d.ts +2 -0
- package/dist/types/core/components/ui/theme/theme-collection/core-variables.d.ts.map +1 -0
- package/dist/types/core/components/ui/theme/theme-collection/dark.d.ts +2 -0
- package/dist/types/core/components/ui/theme/theme-collection/dark.d.ts.map +1 -0
- package/dist/types/core/components/ui/theme/theme-collection/light.d.ts +2 -0
- package/dist/types/core/components/ui/theme/theme-collection/light.d.ts.map +1 -0
- package/dist/types/core/components/ui/theme/theme.d.ts +20 -0
- package/dist/types/core/components/ui/theme/theme.d.ts.map +1 -0
- package/dist/types/core/components/ui/toast/message-subscriber.d.ts +19 -0
- package/dist/types/core/components/ui/toast/message-subscriber.d.ts.map +1 -0
- package/dist/types/core/components/ui/toast/toast-item.d.ts +41 -0
- package/dist/types/core/components/ui/toast/toast-item.d.ts.map +1 -0
- package/dist/types/core/components/ui/toast/toast.d.ts +28 -0
- package/dist/types/core/components/ui/toast/toast.d.ts.map +1 -0
- package/dist/types/core/components/ui/toast/types.d.ts +12 -0
- package/dist/types/core/components/ui/toast/types.d.ts.map +1 -0
- package/dist/types/core/components/ui/tooltip/tooltip.d.ts +21 -0
- package/dist/types/core/components/ui/tooltip/tooltip.d.ts.map +1 -0
- package/dist/types/core/components/ui/ui.d.ts +35 -0
- package/dist/types/core/components/ui/ui.d.ts.map +1 -0
- package/dist/types/core/core.d.ts +5 -0
- package/dist/types/core/core.d.ts.map +1 -0
- package/dist/types/core/decorators/Subscriber.d.ts +13 -0
- package/dist/types/core/decorators/Subscriber.d.ts.map +1 -0
- package/dist/types/core/decorators/api.d.ts +155 -0
- package/dist/types/core/decorators/api.d.ts.map +1 -0
- package/dist/types/core/decorators/lifecycle.d.ts +19 -0
- package/dist/types/core/decorators/lifecycle.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/ancestorAttribute.d.ts +11 -0
- package/dist/types/core/decorators/subscriber/ancestorAttribute.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/autoFill.d.ts +2 -0
- package/dist/types/core/decorators/subscriber/autoFill.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/autoSubscribe.d.ts +2 -0
- package/dist/types/core/decorators/subscriber/autoSubscribe.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/bind.d.ts +28 -0
- package/dist/types/core/decorators/subscriber/bind.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/common.d.ts +14 -0
- package/dist/types/core/decorators/subscriber/common.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/derive.d.ts +30 -0
- package/dist/types/core/decorators/subscriber/derive.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/dynamicPath.d.ts +23 -0
- package/dist/types/core/decorators/subscriber/dynamicPath.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/dynamicPropertyWatch.d.ts +42 -0
- package/dist/types/core/decorators/subscriber/dynamicPropertyWatch.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/handle.d.ts +74 -0
- package/dist/types/core/decorators/subscriber/handle.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/onAssign.d.ts +53 -0
- package/dist/types/core/decorators/subscriber/onAssign.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/publish.d.ts +23 -0
- package/dist/types/core/decorators/subscriber/publish.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/publisherPath.d.ts +3 -0
- package/dist/types/core/decorators/subscriber/publisherPath.d.ts.map +1 -0
- package/dist/types/core/decorators/subscriber/subscribe.d.ts +20 -0
- package/dist/types/core/decorators/subscriber/subscribe.d.ts.map +1 -0
- package/dist/types/core/directives/DataProvider.d.ts +45 -0
- package/dist/types/core/directives/DataProvider.d.ts.map +1 -0
- package/dist/types/core/directives/Wording.d.ts +44 -0
- package/dist/types/core/directives/Wording.d.ts.map +1 -0
- package/dist/types/core/mixins/Fetcher.d.ts +108 -0
- package/dist/types/core/mixins/Fetcher.d.ts.map +1 -0
- package/dist/types/core/mixins/FormCheckable.d.ts +95 -0
- package/dist/types/core/mixins/FormCheckable.d.ts.map +1 -0
- package/dist/types/core/mixins/FormElement.d.ts +37 -0
- package/dist/types/core/mixins/FormElement.d.ts.map +1 -0
- package/dist/types/core/mixins/FormInput.d.ts +79 -0
- package/dist/types/core/mixins/FormInput.d.ts.map +1 -0
- package/dist/types/core/mixins/Subscriber.d.ts +38 -0
- package/dist/types/core/mixins/Subscriber.d.ts.map +1 -0
- package/dist/types/core/mixins/TemplatesContainer.d.ts +14 -0
- package/dist/types/core/mixins/TemplatesContainer.d.ts.map +1 -0
- package/dist/types/core/mixins/mixins.d.ts +7 -0
- package/dist/types/core/mixins/mixins.d.ts.map +1 -0
- package/dist/types/core/utils/AncestorAttributeObserver.d.ts +38 -0
- package/dist/types/core/utils/AncestorAttributeObserver.d.ts.map +1 -0
- package/dist/types/core/utils/Arrays.d.ts +98 -0
- package/dist/types/core/utils/Arrays.d.ts.map +1 -0
- package/dist/types/core/utils/DataBindObserver.d.ts +84 -0
- package/dist/types/core/utils/DataBindObserver.d.ts.map +1 -0
- package/dist/types/core/utils/Electron.d.ts +8 -0
- package/dist/types/core/utils/Electron.d.ts.map +1 -0
- package/dist/types/core/utils/Format.d.ts +13 -0
- package/dist/types/core/utils/Format.d.ts.map +1 -0
- package/dist/types/core/utils/HTML.d.ts +59 -0
- package/dist/types/core/utils/HTML.d.ts.map +1 -0
- package/dist/types/core/utils/LocationHandler.d.ts +48 -0
- package/dist/types/core/utils/LocationHandler.d.ts.map +1 -0
- package/dist/types/core/utils/Objects.d.ts +31 -0
- package/dist/types/core/utils/Objects.d.ts.map +1 -0
- package/dist/types/core/utils/PublisherProxy.d.ts +230 -0
- package/dist/types/core/utils/PublisherProxy.d.ts.map +1 -0
- package/dist/types/core/utils/SafariScrollGuard.d.ts +36 -0
- package/dist/types/core/utils/SafariScrollGuard.d.ts.map +1 -0
- package/dist/types/core/utils/Utils.d.ts +6 -0
- package/dist/types/core/utils/Utils.d.ts.map +1 -0
- package/dist/types/core/utils/aesCrypto.d.ts +53 -0
- package/dist/types/core/utils/aesCrypto.d.ts.map +1 -0
- package/dist/types/core/utils/api.d.ts +173 -0
- package/dist/types/core/utils/api.d.ts.map +1 -0
- package/dist/types/core/utils/dataProviderKey.d.ts +56 -0
- package/dist/types/core/utils/dataProviderKey.d.ts.map +1 -0
- package/dist/types/core/utils/derive.d.ts +40 -0
- package/dist/types/core/utils/derive.d.ts.map +1 -0
- package/dist/types/core/utils/endpoint.d.ts +37 -0
- package/dist/types/core/utils/endpoint.d.ts.map +1 -0
- package/dist/types/core/utils/jsonataHelpers.d.ts +15 -0
- package/dist/types/core/utils/jsonataHelpers.d.ts.map +1 -0
- package/dist/types/core/utils/jsonataRuntime.d.ts +13 -0
- package/dist/types/core/utils/jsonataRuntime.d.ts.map +1 -0
- package/dist/types/core/utils/mediaRef.d.ts +34 -0
- package/dist/types/core/utils/mediaRef.d.ts.map +1 -0
- package/dist/types/core/utils/route.d.ts +41 -0
- package/dist/types/core/utils/route.d.ts.map +1 -0
- package/dist/types/core/utils/similarity.d.ts +15 -0
- package/dist/types/core/utils/similarity.d.ts.map +1 -0
- package/dist/types/core/utils/url-pattern.d.ts +3 -0
- package/dist/types/core/utils/url-pattern.d.ts.map +1 -0
- package/dist/types/dataprovider.d.ts +2 -0
- package/dist/types/dataprovider.d.ts.map +1 -0
- package/dist/types/decorators.d.ts +30 -0
- package/dist/types/decorators.d.ts.map +1 -0
- package/dist/types/directives.d.ts +21 -0
- package/dist/types/directives.d.ts.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/mixins.d.ts +204 -0
- package/dist/types/mixins.d.ts.map +1 -0
- package/dist/types/test-utils/TestUtils.d.ts +4 -0
- package/dist/types/test-utils/TestUtils.d.ts.map +1 -0
- package/dist/types/utils.d.ts +20 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/package.json +1780 -382
- package/public/docs/hf-samples/beach.jpg +0 -0
- package/public/docs/hf-samples/cats.jpg +0 -0
- package/public/docs/hf-samples/corgi.jpg +0 -0
- package/public/docs/hf-samples/portrait.jpg +0 -0
- package/public/docs/hf-samples/scene.jpg +0 -0
- package/public/docs/hf-samples/singer.jpg +0 -0
- package/public/docs/shader-samples/color.jpg +0 -0
- package/public/docs/shader-samples/depth.png +0 -0
- package/public/docs/shader-samples/impact.jpg +0 -0
- package/public/docs/shader-samples/video.webm +0 -0
- package/scripts/build-addons.mjs +26 -0
- package/scripts/gen-shader-depth.mjs +85 -0
- package/scripts/gen-shader-harris-video.mjs +17 -0
- package/scripts/gen-shader-harris-video.py +84 -0
- package/scripts/hf-vendor.mjs +154 -0
- package/scripts/post-build.mjs +116 -10
- package/scripts/pre-build.mjs +119 -36
- package/scripts/pre-publish.mjs +76 -54
- package/src/addons/3d.ts +5 -0
- package/src/addons/hugging-face-infer.ts +11 -0
- package/src/addons/shader.ts +5 -0
- package/src/addons/webgpu.ts +15 -0
- package/src/core/components/functional/3d/3d.md +118 -0
- package/src/core/components/functional/3d/3d.spec.ts +171 -0
- package/src/core/components/functional/3d/3d.ts +175 -0
- package/src/core/components/functional/3d/asset.ts +22 -0
- package/src/core/components/functional/3d/boot.ts +77 -0
- package/src/core/components/functional/3d/constants.ts +98 -0
- package/src/core/components/functional/3d/demo-content.ts +45 -0
- package/src/core/components/functional/3d/ensure.ts +99 -0
- package/src/core/components/functional/3d/form-bind.ts +40 -0
- package/src/core/components/functional/3d/form-fields.ts +80 -0
- package/src/core/components/functional/3d/form-params.ts +97 -0
- package/src/core/components/functional/3d/frame-capture.spec.ts +72 -0
- package/src/core/components/functional/3d/frame-capture.ts +135 -0
- package/src/core/components/functional/3d/gl.ts +35 -0
- package/src/core/components/functional/3d/life.ts +101 -0
- package/src/core/components/functional/3d/load.ts +129 -0
- package/src/core/components/functional/3d/ops.ts +126 -0
- package/src/core/components/functional/3d/opts.ts +16 -0
- package/src/core/components/functional/3d/orbit.ts +185 -0
- package/src/core/components/functional/3d/out-publish.ts +140 -0
- package/src/core/components/functional/3d/parse.ts +95 -0
- package/src/core/components/functional/3d/pick.ts +92 -0
- package/src/core/components/functional/3d/playback.ts +70 -0
- package/src/core/components/functional/3d/pointer.ts +79 -0
- package/src/core/components/functional/3d/props.ts +50 -0
- package/src/core/components/functional/3d/publisher-listen.ts +13 -0
- package/src/core/components/functional/3d/reload.ts +88 -0
- package/src/core/components/functional/3d/runtime.ts +148 -0
- package/src/core/components/functional/3d/scene-runtime.ts +9 -0
- package/src/core/components/functional/3d/snapshot.ts +73 -0
- package/src/core/components/functional/3d/styles.ts +38 -0
- package/src/core/components/functional/3d/tune.ts +72 -0
- package/src/core/components/functional/3d/types.ts +145 -0
- package/src/core/components/functional/3d/updated.ts +70 -0
- package/src/core/components/functional/3d/view.ts +63 -0
- package/src/core/components/functional/3d/wire.ts +65 -0
- package/src/core/components/functional/infer/hugging-face/hf-cache.ts +198 -0
- package/src/core/components/functional/infer/hugging-face/hf-config.ts +188 -0
- package/src/core/components/functional/infer/hugging-face/hf-controller.spec.ts +350 -0
- package/src/core/components/functional/infer/hugging-face/hf-controller.ts +622 -0
- package/src/core/components/functional/infer/hugging-face/hf-engine.ts +178 -0
- package/src/core/components/functional/infer/hugging-face/hf-input.spec.ts +99 -0
- package/src/core/components/functional/infer/hugging-face/hf-input.ts +218 -0
- package/src/core/components/functional/infer/hugging-face/hf-protocol.ts +76 -0
- package/src/core/components/functional/infer/hugging-face/hf-registry.ts +457 -0
- package/src/core/components/functional/infer/hugging-face/hf-schema.spec.ts +124 -0
- package/src/core/components/functional/infer/hugging-face/hf-schema.ts +390 -0
- package/src/core/components/functional/infer/hugging-face/hf-worker-runtime.spec.ts +147 -0
- package/src/core/components/functional/infer/hugging-face/hf-worker-runtime.ts +381 -0
- package/src/core/components/functional/infer/hugging-face/hugging-face-infer.md +304 -0
- package/src/core/components/functional/infer/hugging-face/hugging-face-infer.ts +202 -0
- package/src/core/components/functional/infer/hugging-face/hugging-face.ts +282 -0
- package/src/core/components/functional/infer/hugging-face/types.ts +325 -0
- package/src/core/components/functional/jsonata/jsonata.md +4 -2
- package/src/core/components/functional/sdui/sdui.md +2 -2
- package/src/core/components/functional/sdui/sdui.ts +40 -29
- package/src/core/components/functional/shader/gl-runtime.ts +782 -0
- package/src/core/components/functional/shader/shader.md +207 -0
- package/src/core/components/functional/shader/shader.spec.ts +288 -0
- package/src/core/components/functional/shader/shader.ts +1569 -0
- package/src/core/components/functional/shader/shadertoy-prelude.ts +52 -0
- package/src/core/components/functional/shader/types.ts +446 -0
- package/src/core/components/functional/webgpu/canvas2d-fallback.ts +125 -0
- package/src/core/components/functional/webgpu/form-bind.ts +116 -0
- package/src/core/components/functional/webgpu/gl-fallback.ts +158 -0
- package/src/core/components/functional/webgpu/gpu-runtime.ts +349 -0
- package/src/core/components/functional/webgpu/helpers.ts +47 -0
- package/src/core/components/functional/webgpu/out-frame.ts +137 -0
- package/src/core/components/functional/webgpu/particles-runtime.ts +426 -0
- package/src/core/components/functional/webgpu/pointer.ts +85 -0
- package/src/core/components/functional/webgpu/types.ts +96 -0
- package/src/core/components/functional/webgpu/webgpu.md +75 -0
- package/src/core/components/functional/webgpu/webgpu.spec.ts +141 -0
- package/src/core/components/functional/webgpu/webgpu.ts +659 -0
- package/src/core/components/functional/webgpu/wgsl-prelude.ts +81 -0
- package/src/core/mixins/Fetcher.ts +1 -1
- package/src/core/utils/HTML.ts +107 -74
- package/src/core/utils/PublisherProxy.ts +29 -6
- package/src/core/utils/jsonataHelpers.ts +36 -0
- package/src/core/utils/mediaRef.spec.ts +85 -0
- package/src/core/utils/mediaRef.ts +130 -0
- package/src/core/utils/similarity.spec.ts +34 -0
- package/src/core/utils/similarity.ts +54 -0
- package/src/docs/_core-concept/dataFlow.md +2 -0
- package/src/docs/_getting-started/cdn-addons.md +73 -0
- package/src/docs/_getting-started/create-a-component.md +1 -1
- package/src/docs/_misc/visual-stack.md +49 -0
- package/src/docs/components/docs-demo-sources.ts +359 -39
- package/src/docs/docs.ts +6 -0
- package/src/docs/example/docs-3d-demos.ts +8 -0
- package/src/docs/example/docs-3d-form.ts +95 -0
- package/src/docs/example/docs-3d-orbit.ts +44 -0
- package/src/docs/example/docs-3d-out.ts +56 -0
- package/src/docs/example/docs-3d-shared.ts +15 -0
- package/src/docs/example/docs-harris-webgpu-demo.ts +482 -0
- package/src/docs/example/docs-hugging-face-demos.ts +516 -0
- package/src/docs/example/docs-shader-demos.ts +357 -0
- package/src/docs/example/docs-visual-stack-demo.ts +394 -0
- package/src/docs/example/docs-webgpu-demo.ts +77 -0
- package/src/docs/navigation/navigation.ts +25 -0
- package/src/docs/search/docs-search.json +899 -2319
- package/src/tsconfig.json +481 -301
- package/src/tsconfig.tsbuildinfo +1 -1
- package/vite/config.js +42 -30
- package/vite.config.mts +51 -12
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { revokeMediaUrls } from "@supersoniks/concorde/core/utils/mediaRef";
|
|
2
|
+
import { formBind, type FormBindHost } from "./form-bind";
|
|
3
|
+
import {
|
|
4
|
+
FRAME_OUT_KEYS,
|
|
5
|
+
OUT_META_KEYS,
|
|
6
|
+
OUT_PARAM_KEYS,
|
|
7
|
+
} from "./helpers";
|
|
8
|
+
import type { SonicWebGpuOutput } from "./types";
|
|
9
|
+
|
|
10
|
+
type OutPublisherLike = {
|
|
11
|
+
_proxies_?: Map<string, { hasListener?: () => boolean }>;
|
|
12
|
+
get?: () => Record<string, unknown>;
|
|
13
|
+
set?: (v: Record<string, unknown>) => void;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/** Host out/frame — étend FormBindHost pour `resolveFormProviderId`. */
|
|
17
|
+
export type OutFrameHost = FormBindHost & {
|
|
18
|
+
outEventListeners: number;
|
|
19
|
+
frameOut: boolean;
|
|
20
|
+
lastOutAt: number;
|
|
21
|
+
outInterval: number;
|
|
22
|
+
runtime: {
|
|
23
|
+
canvas: HTMLCanvasElement;
|
|
24
|
+
backend?: string;
|
|
25
|
+
} | null;
|
|
26
|
+
frame: number;
|
|
27
|
+
frameOutBusy: boolean;
|
|
28
|
+
frameOutSeq: number;
|
|
29
|
+
lastFrameUrl: string;
|
|
30
|
+
dispatchEvent: (event: Event) => boolean;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
function hasOutConsumer(host: OutFrameHost): boolean {
|
|
34
|
+
if (host.outEventListeners > 0) return true;
|
|
35
|
+
// Même contrat que sonic-3d : frame-out force la pub même sans listener proxy.
|
|
36
|
+
if (host.frameOut && host.outPublisher) return true;
|
|
37
|
+
const pub = host.outPublisher as OutPublisherLike | null;
|
|
38
|
+
if (!pub?._proxies_) return false;
|
|
39
|
+
for (const key of [...OUT_META_KEYS, ...FRAME_OUT_KEYS]) {
|
|
40
|
+
const p = pub._proxies_.get(key);
|
|
41
|
+
if (p?.hasListener?.()) return true;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function maybePublishOut(host: OutFrameHost & HTMLElement, now: number, time: number) {
|
|
47
|
+
if (!hasOutConsumer(host)) return;
|
|
48
|
+
if (now - host.lastOutAt < host.outInterval) return;
|
|
49
|
+
host.lastOutAt = now;
|
|
50
|
+
const payload: SonicWebGpuOutput = {
|
|
51
|
+
time,
|
|
52
|
+
frame: host.frame,
|
|
53
|
+
mouseX: host.mouseVec[0],
|
|
54
|
+
mouseY: host.mouseVec[1],
|
|
55
|
+
hovering: host.hovering,
|
|
56
|
+
param0: host.param0,
|
|
57
|
+
param1: host.param1,
|
|
58
|
+
param2: host.param2,
|
|
59
|
+
param3: host.param3,
|
|
60
|
+
backend: host.runtime?.backend as SonicWebGpuOutput["backend"],
|
|
61
|
+
};
|
|
62
|
+
host.dispatchEvent(
|
|
63
|
+
new CustomEvent("out", {
|
|
64
|
+
detail: payload,
|
|
65
|
+
bubbles: true,
|
|
66
|
+
composed: true,
|
|
67
|
+
}),
|
|
68
|
+
);
|
|
69
|
+
const pub = host.outPublisher;
|
|
70
|
+
if (pub) {
|
|
71
|
+
const sharedForm =
|
|
72
|
+
formBind.resolveFormProviderId(host) ===
|
|
73
|
+
(host.outDataProvider?.trim() || formBind.resolveFormProviderId(host));
|
|
74
|
+
const patch: Record<string, unknown> = {
|
|
75
|
+
time: payload.time,
|
|
76
|
+
frame: payload.frame,
|
|
77
|
+
mouseX: payload.mouseX,
|
|
78
|
+
mouseY: payload.mouseY,
|
|
79
|
+
hovering: payload.hovering,
|
|
80
|
+
};
|
|
81
|
+
if (!sharedForm) {
|
|
82
|
+
for (const k of OUT_PARAM_KEYS) patch[k] = payload[k];
|
|
83
|
+
}
|
|
84
|
+
pub.set(patch);
|
|
85
|
+
}
|
|
86
|
+
if (host.frameOut) void publishFrameSnapshot(host);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
async function publishFrameSnapshot(host: OutFrameHost) {
|
|
90
|
+
if (host.frameOutBusy || !host.runtime) return;
|
|
91
|
+
const canvas = host.runtime.canvas;
|
|
92
|
+
if (canvas.width < 1 || canvas.height < 1) return;
|
|
93
|
+
host.frameOutBusy = true;
|
|
94
|
+
const seq = ++host.frameOutSeq;
|
|
95
|
+
const width = canvas.width;
|
|
96
|
+
const height = canvas.height;
|
|
97
|
+
try {
|
|
98
|
+
const blob = await new Promise<Blob | null>((resolve) => {
|
|
99
|
+
try {
|
|
100
|
+
canvas.toBlob((b) => resolve(b), "image/png");
|
|
101
|
+
} catch {
|
|
102
|
+
resolve(null);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
if (seq !== host.frameOutSeq) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
if (!blob || !host.outPublisher) return;
|
|
109
|
+
const url = URL.createObjectURL(blob);
|
|
110
|
+
revokeFrameUrl(host);
|
|
111
|
+
host.lastFrameUrl = url;
|
|
112
|
+
host.outPublisher.set({
|
|
113
|
+
frameUrl: url,
|
|
114
|
+
snapshot: {
|
|
115
|
+
url,
|
|
116
|
+
width,
|
|
117
|
+
height,
|
|
118
|
+
mime: "image/png",
|
|
119
|
+
},
|
|
120
|
+
});
|
|
121
|
+
} finally {
|
|
122
|
+
if (seq === host.frameOutSeq) host.frameOutBusy = false;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function revokeFrameUrl(host: OutFrameHost) {
|
|
127
|
+
if (!host.lastFrameUrl) return;
|
|
128
|
+
revokeMediaUrls([host.lastFrameUrl]);
|
|
129
|
+
host.lastFrameUrl = "";
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export const outFrame = {
|
|
133
|
+
hasOutConsumer,
|
|
134
|
+
maybePublishOut,
|
|
135
|
+
publishFrameSnapshot,
|
|
136
|
+
revokeFrameUrl,
|
|
137
|
+
} as const;
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
/// <reference types="@webgpu/types" />
|
|
2
|
+
|
|
3
|
+
import { requestBestAdapter, type WebGpuFrameState } from "./gpu-runtime";
|
|
4
|
+
|
|
5
|
+
const PARTICLE_COUNT = 1200;
|
|
6
|
+
const FLOATS_PER_PARTICLE = 4; // x, y, vx, vy
|
|
7
|
+
const BYTES_PER_FLOAT = 4;
|
|
8
|
+
const WORKGROUP_SIZE = 64;
|
|
9
|
+
const VERTICES_PER_PARTICLE = 6;
|
|
10
|
+
/** Layout WGSL uniform (align vec4) : 16 × f32 = 64 bytes */
|
|
11
|
+
const UNIFORM_FLOATS = 16;
|
|
12
|
+
|
|
13
|
+
const UNIFORMS_STRUCT = `
|
|
14
|
+
struct Uniforms {
|
|
15
|
+
resolution: vec2f,
|
|
16
|
+
time: f32,
|
|
17
|
+
dt: f32,
|
|
18
|
+
mouse: vec2f,
|
|
19
|
+
_pad: vec2f,
|
|
20
|
+
params: vec4f,
|
|
21
|
+
}
|
|
22
|
+
`;
|
|
23
|
+
|
|
24
|
+
const COMPUTE_WGSL = `
|
|
25
|
+
${UNIFORMS_STRUCT}
|
|
26
|
+
struct Particle {
|
|
27
|
+
pos: vec2f,
|
|
28
|
+
vel: vec2f,
|
|
29
|
+
}
|
|
30
|
+
const COUNT: u32 = ${PARTICLE_COUNT}u;
|
|
31
|
+
@group(0) @binding(0) var<uniform> u: Uniforms;
|
|
32
|
+
@group(0) @binding(1) var<storage, read_write> particles: array<Particle, COUNT>;
|
|
33
|
+
|
|
34
|
+
@compute @workgroup_size(${WORKGROUP_SIZE})
|
|
35
|
+
fn cs_main(@builtin(global_invocation_id) id: vec3u) {
|
|
36
|
+
let i = id.x;
|
|
37
|
+
if (i >= COUNT) { return; }
|
|
38
|
+
var p = particles[i];
|
|
39
|
+
let speed = 0.35 + u.params.x * 2.2;
|
|
40
|
+
let attract = u.params.y;
|
|
41
|
+
let damp = 0.98;
|
|
42
|
+
var force = vec2f(0.0);
|
|
43
|
+
if (attract > 0.001 && length(u.mouse) > 0.5) {
|
|
44
|
+
let toM = u.mouse - p.pos;
|
|
45
|
+
let d = max(length(toM), 12.0);
|
|
46
|
+
force += normalize(toM) * (attract * 6000.0 / (d * d));
|
|
47
|
+
}
|
|
48
|
+
let c = u.resolution * 0.5;
|
|
49
|
+
let toC = p.pos - c;
|
|
50
|
+
force += vec2f(-toC.y, toC.x) * 0.0025 * speed;
|
|
51
|
+
let stepDt = max(u.dt, 0.008);
|
|
52
|
+
p.vel = (p.vel + force * stepDt) * damp;
|
|
53
|
+
p.pos += p.vel * stepDt * 60.0 * speed;
|
|
54
|
+
if (p.pos.x < 0.0) { p.pos.x += u.resolution.x; }
|
|
55
|
+
if (p.pos.x > u.resolution.x) { p.pos.x -= u.resolution.x; }
|
|
56
|
+
if (p.pos.y < 0.0) { p.pos.y += u.resolution.y; }
|
|
57
|
+
if (p.pos.y > u.resolution.y) { p.pos.y -= u.resolution.y; }
|
|
58
|
+
particles[i] = p;
|
|
59
|
+
}
|
|
60
|
+
`;
|
|
61
|
+
|
|
62
|
+
const RENDER_WGSL = `
|
|
63
|
+
${UNIFORMS_STRUCT}
|
|
64
|
+
struct Particle {
|
|
65
|
+
pos: vec2f,
|
|
66
|
+
vel: vec2f,
|
|
67
|
+
}
|
|
68
|
+
const COUNT: u32 = ${PARTICLE_COUNT}u;
|
|
69
|
+
struct VsOut {
|
|
70
|
+
@builtin(position) position: vec4f,
|
|
71
|
+
@location(0) speed: f32,
|
|
72
|
+
@location(1) local: vec2f,
|
|
73
|
+
}
|
|
74
|
+
@group(0) @binding(0) var<uniform> u: Uniforms;
|
|
75
|
+
@group(0) @binding(1) var<storage, read> particles: array<Particle, COUNT>;
|
|
76
|
+
|
|
77
|
+
@vertex
|
|
78
|
+
fn vs_main(@builtin(vertex_index) vi: u32) -> VsOut {
|
|
79
|
+
let i = vi / 6u;
|
|
80
|
+
let c = vi % 6u;
|
|
81
|
+
var local = vec2f(0.0);
|
|
82
|
+
if (c == 0u) { local = vec2f(-1.0, -1.0); }
|
|
83
|
+
else if (c == 1u) { local = vec2f(1.0, -1.0); }
|
|
84
|
+
else if (c == 2u) { local = vec2f(-1.0, 1.0); }
|
|
85
|
+
else if (c == 3u) { local = vec2f(-1.0, 1.0); }
|
|
86
|
+
else if (c == 4u) { local = vec2f(1.0, -1.0); }
|
|
87
|
+
else { local = vec2f(1.0, 1.0); }
|
|
88
|
+
|
|
89
|
+
let p = particles[i];
|
|
90
|
+
let radius = 2.8;
|
|
91
|
+
let pos = p.pos + local * radius;
|
|
92
|
+
let ndc = (pos / max(u.resolution, vec2f(1.0))) * 2.0 - vec2f(1.0);
|
|
93
|
+
var out: VsOut;
|
|
94
|
+
out.position = vec4f(ndc.x, -ndc.y, 0.0, 1.0);
|
|
95
|
+
out.speed = length(p.vel);
|
|
96
|
+
out.local = local;
|
|
97
|
+
return out;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@fragment
|
|
101
|
+
fn fs_main(in: VsOut) -> @location(0) vec4f {
|
|
102
|
+
let d = length(in.local);
|
|
103
|
+
if (d > 1.0) { discard; }
|
|
104
|
+
let soft = 1.0 - smoothstep(0.55, 1.0, d);
|
|
105
|
+
let t = clamp(in.speed * 0.08, 0.0, 1.0);
|
|
106
|
+
let col = mix(vec3f(0.25, 0.65, 1.0), vec3f(1.0, 0.5, 0.2), t);
|
|
107
|
+
return vec4f(col * soft, soft);
|
|
108
|
+
}
|
|
109
|
+
`;
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Noyau compute particules — ce qui démarque WebGPU de sonic-shader.
|
|
113
|
+
* Fallback CPU + Canvas2D si pas d’adapter (même rendu utile en démo).
|
|
114
|
+
*/
|
|
115
|
+
export class ParticlesRuntime {
|
|
116
|
+
readonly backend: "webgpu" | "canvas2d";
|
|
117
|
+
readonly canvas: HTMLCanvasElement;
|
|
118
|
+
private device: GPUDevice | null = null;
|
|
119
|
+
private context: GPUCanvasContext | null = null;
|
|
120
|
+
private format: GPUTextureFormat = "bgra8unorm";
|
|
121
|
+
private uniformBuffer: GPUBuffer | null = null;
|
|
122
|
+
private particleBuffer: GPUBuffer | null = null;
|
|
123
|
+
private computePipeline: GPUComputePipeline | null = null;
|
|
124
|
+
private renderPipeline: GPURenderPipeline | null = null;
|
|
125
|
+
private bindGroup: GPUBindGroup | null = null;
|
|
126
|
+
private cpu: Float32Array;
|
|
127
|
+
private ctx2d: CanvasRenderingContext2D | null = null;
|
|
128
|
+
private lastTime = 0;
|
|
129
|
+
private disposed = false;
|
|
130
|
+
private seeded = false;
|
|
131
|
+
|
|
132
|
+
private constructor(
|
|
133
|
+
canvas: HTMLCanvasElement,
|
|
134
|
+
backend: "webgpu" | "canvas2d",
|
|
135
|
+
) {
|
|
136
|
+
this.canvas = canvas;
|
|
137
|
+
this.backend = backend;
|
|
138
|
+
this.cpu = new Float32Array(PARTICLE_COUNT * FLOATS_PER_PARTICLE);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
static async create(canvas: HTMLCanvasElement): Promise<ParticlesRuntime> {
|
|
142
|
+
const gpu = navigator.gpu;
|
|
143
|
+
if (gpu) {
|
|
144
|
+
try {
|
|
145
|
+
const adapter = await requestBestAdapter(gpu);
|
|
146
|
+
if (adapter) {
|
|
147
|
+
const device = await adapter.requestDevice();
|
|
148
|
+
const context = canvas.getContext("webgpu");
|
|
149
|
+
if (context) {
|
|
150
|
+
const format = gpu.getPreferredCanvasFormat();
|
|
151
|
+
context.configure({
|
|
152
|
+
device,
|
|
153
|
+
format,
|
|
154
|
+
alphaMode: "premultiplied",
|
|
155
|
+
});
|
|
156
|
+
const rt = new ParticlesRuntime(canvas, "webgpu");
|
|
157
|
+
rt.device = device;
|
|
158
|
+
rt.context = context;
|
|
159
|
+
rt.format = format;
|
|
160
|
+
rt.initGpu();
|
|
161
|
+
return rt;
|
|
162
|
+
}
|
|
163
|
+
device.destroy();
|
|
164
|
+
}
|
|
165
|
+
} catch {
|
|
166
|
+
/* fall through Canvas2D */
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
const ctx = canvas.getContext("2d", { alpha: true });
|
|
170
|
+
if (!ctx) throw new Error("Particles: ni WebGPU ni Canvas2D");
|
|
171
|
+
const rt = new ParticlesRuntime(canvas, "canvas2d");
|
|
172
|
+
rt.ctx2d = ctx;
|
|
173
|
+
return rt;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
async setShader(_s: string): Promise<void> {}
|
|
177
|
+
async setChannel(_i: 0 | 1 | 2 | 3, _url: string): Promise<void> {}
|
|
178
|
+
getTextureSize(_url: string) {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
resize(width: number, height: number) {
|
|
183
|
+
const w = Math.max(1, Math.floor(width));
|
|
184
|
+
const h = Math.max(1, Math.floor(height));
|
|
185
|
+
if (this.canvas.width === w && this.canvas.height === h) return;
|
|
186
|
+
this.canvas.width = w;
|
|
187
|
+
this.canvas.height = h;
|
|
188
|
+
if (this.context && this.device) {
|
|
189
|
+
this.context.configure({
|
|
190
|
+
device: this.device,
|
|
191
|
+
format: this.format,
|
|
192
|
+
alphaMode: "premultiplied",
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
this.seed(w, h);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
draw(state: WebGpuFrameState) {
|
|
199
|
+
if (this.disposed) return;
|
|
200
|
+
if (state.width < 2 || state.height < 2) return;
|
|
201
|
+
if (!this.seeded) this.seed(state.width, state.height);
|
|
202
|
+
const dt =
|
|
203
|
+
this.lastTime > 0
|
|
204
|
+
? Math.min(0.05, Math.max(0.001, state.time - this.lastTime))
|
|
205
|
+
: 0.016;
|
|
206
|
+
this.lastTime = state.time;
|
|
207
|
+
if (this.backend === "webgpu") this.drawGpu(state, dt);
|
|
208
|
+
else this.drawCpu(state, dt);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
dispose(_lose = true) {
|
|
212
|
+
if (this.disposed) return;
|
|
213
|
+
this.disposed = true;
|
|
214
|
+
this.uniformBuffer?.destroy();
|
|
215
|
+
this.particleBuffer?.destroy();
|
|
216
|
+
try {
|
|
217
|
+
this.context?.unconfigure();
|
|
218
|
+
} catch {
|
|
219
|
+
/* ignore */
|
|
220
|
+
}
|
|
221
|
+
this.device?.destroy();
|
|
222
|
+
this.device = null;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
private initGpu() {
|
|
226
|
+
const device = this.device!;
|
|
227
|
+
this.uniformBuffer = device.createBuffer({
|
|
228
|
+
size: UNIFORM_FLOATS * BYTES_PER_FLOAT,
|
|
229
|
+
usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
|
|
230
|
+
});
|
|
231
|
+
this.particleBuffer = device.createBuffer({
|
|
232
|
+
size: PARTICLE_COUNT * FLOATS_PER_PARTICLE * BYTES_PER_FLOAT,
|
|
233
|
+
usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST,
|
|
234
|
+
});
|
|
235
|
+
const computeModule = device.createShaderModule({ code: COMPUTE_WGSL });
|
|
236
|
+
const renderModule = device.createShaderModule({ code: RENDER_WGSL });
|
|
237
|
+
this.computePipeline = device.createComputePipeline({
|
|
238
|
+
layout: "auto",
|
|
239
|
+
compute: { module: computeModule, entryPoint: "cs_main" },
|
|
240
|
+
});
|
|
241
|
+
this.renderPipeline = device.createRenderPipeline({
|
|
242
|
+
layout: "auto",
|
|
243
|
+
vertex: { module: renderModule, entryPoint: "vs_main" },
|
|
244
|
+
fragment: {
|
|
245
|
+
module: renderModule,
|
|
246
|
+
entryPoint: "fs_main",
|
|
247
|
+
targets: [
|
|
248
|
+
{
|
|
249
|
+
format: this.format,
|
|
250
|
+
blend: {
|
|
251
|
+
color: {
|
|
252
|
+
srcFactor: "src-alpha",
|
|
253
|
+
dstFactor: "one-minus-src-alpha",
|
|
254
|
+
operation: "add",
|
|
255
|
+
},
|
|
256
|
+
alpha: {
|
|
257
|
+
srcFactor: "one",
|
|
258
|
+
dstFactor: "one-minus-src-alpha",
|
|
259
|
+
operation: "add",
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
],
|
|
264
|
+
},
|
|
265
|
+
primitive: { topology: "triangle-list" },
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
private ensureBindGroups() {
|
|
270
|
+
const device = this.device!;
|
|
271
|
+
if (!this.computePipeline || !this.renderPipeline) return;
|
|
272
|
+
if (this.bindGroup) return;
|
|
273
|
+
this.bindGroup = device.createBindGroup({
|
|
274
|
+
layout: this.computePipeline.getBindGroupLayout(0),
|
|
275
|
+
entries: [
|
|
276
|
+
{ binding: 0, resource: { buffer: this.uniformBuffer! } },
|
|
277
|
+
{ binding: 1, resource: { buffer: this.particleBuffer! } },
|
|
278
|
+
],
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
private drawGpu(state: WebGpuFrameState, dt: number) {
|
|
283
|
+
const device = this.device!;
|
|
284
|
+
const context = this.context!;
|
|
285
|
+
if (!this.computePipeline || !this.renderPipeline) return;
|
|
286
|
+
// Souris host = origine bas (ShaderToy) ; buffer particules = origine haut
|
|
287
|
+
const fixed: WebGpuFrameState = {
|
|
288
|
+
...state,
|
|
289
|
+
mouse: [
|
|
290
|
+
state.mouse[0],
|
|
291
|
+
state.height - state.mouse[1],
|
|
292
|
+
state.mouse[2],
|
|
293
|
+
state.height - state.mouse[3],
|
|
294
|
+
],
|
|
295
|
+
};
|
|
296
|
+
this.writeUniforms(fixed, dt);
|
|
297
|
+
this.ensureBindGroups();
|
|
298
|
+
const renderBg = device.createBindGroup({
|
|
299
|
+
layout: this.renderPipeline.getBindGroupLayout(0),
|
|
300
|
+
entries: [
|
|
301
|
+
{ binding: 0, resource: { buffer: this.uniformBuffer! } },
|
|
302
|
+
{ binding: 1, resource: { buffer: this.particleBuffer! } },
|
|
303
|
+
],
|
|
304
|
+
});
|
|
305
|
+
const encoder = device.createCommandEncoder();
|
|
306
|
+
const passC = encoder.beginComputePass();
|
|
307
|
+
passC.setPipeline(this.computePipeline);
|
|
308
|
+
passC.setBindGroup(0, this.bindGroup!);
|
|
309
|
+
passC.dispatchWorkgroups(Math.ceil(PARTICLE_COUNT / WORKGROUP_SIZE));
|
|
310
|
+
passC.end();
|
|
311
|
+
const passR = encoder.beginRenderPass({
|
|
312
|
+
colorAttachments: [
|
|
313
|
+
{
|
|
314
|
+
view: context.getCurrentTexture().createView(),
|
|
315
|
+
clearValue: { r: 0.04, g: 0.05, b: 0.08, a: 1 },
|
|
316
|
+
loadOp: "clear",
|
|
317
|
+
storeOp: "store",
|
|
318
|
+
},
|
|
319
|
+
],
|
|
320
|
+
});
|
|
321
|
+
passR.setPipeline(this.renderPipeline);
|
|
322
|
+
passR.setBindGroup(0, renderBg);
|
|
323
|
+
passR.draw(PARTICLE_COUNT * VERTICES_PER_PARTICLE);
|
|
324
|
+
passR.end();
|
|
325
|
+
device.queue.submit([encoder.finish()]);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
private drawCpu(state: WebGpuFrameState, dt: number) {
|
|
329
|
+
const ctx = this.ctx2d!;
|
|
330
|
+
const w = state.width;
|
|
331
|
+
const h = state.height;
|
|
332
|
+
const speed = 0.35 + state.params[0] * 2.2;
|
|
333
|
+
const attract = state.params[1];
|
|
334
|
+
const mx = state.mouse[0];
|
|
335
|
+
const my = h - state.mouse[1];
|
|
336
|
+
for (let i = 0; i < PARTICLE_COUNT; i++) {
|
|
337
|
+
const o = i * FLOATS_PER_PARTICLE;
|
|
338
|
+
let x = this.cpu[o];
|
|
339
|
+
let y = this.cpu[o + 1];
|
|
340
|
+
let vx = this.cpu[o + 2];
|
|
341
|
+
let vy = this.cpu[o + 3];
|
|
342
|
+
let fx = 0;
|
|
343
|
+
let fy = 0;
|
|
344
|
+
if (attract > 0.001 && (mx > 0.5 || my > 0.5)) {
|
|
345
|
+
const dx = mx - x;
|
|
346
|
+
const dy = my - y;
|
|
347
|
+
const d = Math.max(Math.hypot(dx, dy), 8);
|
|
348
|
+
const f = (attract * 4000) / (d * d);
|
|
349
|
+
fx += (dx / d) * f;
|
|
350
|
+
fy += (dy / d) * f;
|
|
351
|
+
}
|
|
352
|
+
const cx = w * 0.5;
|
|
353
|
+
const cy = h * 0.5;
|
|
354
|
+
fx += -(y - cy) * 0.0008 * speed;
|
|
355
|
+
fy += (x - cx) * 0.0008 * speed;
|
|
356
|
+
vx = (vx + fx * dt) * 0.985;
|
|
357
|
+
vy = (vy + fy * dt) * 0.985;
|
|
358
|
+
x += vx * dt * 60 * speed;
|
|
359
|
+
y += vy * dt * 60 * speed;
|
|
360
|
+
if (x < 0) x += w;
|
|
361
|
+
if (x > w) x -= w;
|
|
362
|
+
if (y < 0) y += h;
|
|
363
|
+
if (y > h) y -= h;
|
|
364
|
+
this.cpu[o] = x;
|
|
365
|
+
this.cpu[o + 1] = y;
|
|
366
|
+
this.cpu[o + 2] = vx;
|
|
367
|
+
this.cpu[o + 3] = vy;
|
|
368
|
+
}
|
|
369
|
+
ctx.fillStyle = "rgb(10, 12, 20)";
|
|
370
|
+
ctx.fillRect(0, 0, w, h);
|
|
371
|
+
for (let i = 0; i < PARTICLE_COUNT; i++) {
|
|
372
|
+
const o = i * FLOATS_PER_PARTICLE;
|
|
373
|
+
const sp = Math.hypot(this.cpu[o + 2], this.cpu[o + 3]);
|
|
374
|
+
const t = Math.min(1, sp * 0.08);
|
|
375
|
+
const r = Math.round(51 + t * 204);
|
|
376
|
+
const g = Math.round(140 - t * 25);
|
|
377
|
+
const b = Math.round(255 - t * 204);
|
|
378
|
+
ctx.fillStyle = `rgba(${r},${g},${b},0.85)`;
|
|
379
|
+
ctx.fillRect(this.cpu[o], this.cpu[o + 1], 2, 2);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
private writeUniforms(state: WebGpuFrameState, dt: number) {
|
|
384
|
+
// Doit matcher le struct WGSL (padding avant params @ 32 bytes)
|
|
385
|
+
const data = new Float32Array(UNIFORM_FLOATS);
|
|
386
|
+
data[0] = state.width;
|
|
387
|
+
data[1] = state.height;
|
|
388
|
+
data[2] = state.time;
|
|
389
|
+
data[3] = dt;
|
|
390
|
+
data[4] = state.mouse[0];
|
|
391
|
+
data[5] = state.mouse[1];
|
|
392
|
+
data[6] = 0;
|
|
393
|
+
data[7] = 0;
|
|
394
|
+
data[8] = state.params[0];
|
|
395
|
+
data[9] = state.params[1];
|
|
396
|
+
data[10] = state.params[2];
|
|
397
|
+
data[11] = state.params[3];
|
|
398
|
+
this.device!.queue.writeBuffer(
|
|
399
|
+
this.uniformBuffer!,
|
|
400
|
+
0,
|
|
401
|
+
data.buffer,
|
|
402
|
+
data.byteOffset,
|
|
403
|
+
data.byteLength,
|
|
404
|
+
);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
private seed(w: number, h: number) {
|
|
408
|
+
for (let i = 0; i < PARTICLE_COUNT; i++) {
|
|
409
|
+
const o = i * FLOATS_PER_PARTICLE;
|
|
410
|
+
this.cpu[o] = Math.random() * w;
|
|
411
|
+
this.cpu[o + 1] = Math.random() * h;
|
|
412
|
+
this.cpu[o + 2] = (Math.random() - 0.5) * 2;
|
|
413
|
+
this.cpu[o + 3] = (Math.random() - 0.5) * 2;
|
|
414
|
+
}
|
|
415
|
+
if (this.device && this.particleBuffer) {
|
|
416
|
+
this.device.queue.writeBuffer(
|
|
417
|
+
this.particleBuffer,
|
|
418
|
+
0,
|
|
419
|
+
this.cpu.buffer,
|
|
420
|
+
this.cpu.byteOffset,
|
|
421
|
+
this.cpu.byteLength,
|
|
422
|
+
);
|
|
423
|
+
}
|
|
424
|
+
this.seeded = true;
|
|
425
|
+
}
|
|
426
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export type PointerHost = {
|
|
2
|
+
mouse: boolean;
|
|
3
|
+
hovering: boolean;
|
|
4
|
+
mouseVec: [number, number, number, number];
|
|
5
|
+
runtime: {
|
|
6
|
+
canvas: HTMLCanvasElement;
|
|
7
|
+
draw: (opts: {
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
time: number;
|
|
11
|
+
frame: number;
|
|
12
|
+
mouse: [number, number, number, number];
|
|
13
|
+
params: [number, number, number, number];
|
|
14
|
+
}) => void;
|
|
15
|
+
} | null;
|
|
16
|
+
raf: number;
|
|
17
|
+
ready: boolean;
|
|
18
|
+
startTime: number;
|
|
19
|
+
frame: number;
|
|
20
|
+
param0: number;
|
|
21
|
+
param1: number;
|
|
22
|
+
param2: number;
|
|
23
|
+
param3: number;
|
|
24
|
+
getBoundingClientRect: () => DOMRect;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
function pointerToMouse(host: PointerHost, e: PointerEvent) {
|
|
28
|
+
if (!host.mouse || !host.runtime) return;
|
|
29
|
+
const rect = host.getBoundingClientRect();
|
|
30
|
+
if (rect.width < 1 || rect.height < 1) return;
|
|
31
|
+
// Même convention que sonic-shader (px drawing buffer, origine bas-gauche)
|
|
32
|
+
const dpr = host.runtime.canvas.width / Math.max(rect.width, 1);
|
|
33
|
+
const x = (e.clientX - rect.left) * dpr;
|
|
34
|
+
const y = (rect.height - (e.clientY - rect.top)) * dpr;
|
|
35
|
+
host.mouseVec[0] = x;
|
|
36
|
+
host.mouseVec[1] = y;
|
|
37
|
+
// Redessine même si la boucle est en pause
|
|
38
|
+
if (!host.raf && host.ready && host.runtime) {
|
|
39
|
+
const time = host.startTime
|
|
40
|
+
? (performance.now() - host.startTime) / 1000
|
|
41
|
+
: 0;
|
|
42
|
+
host.runtime.draw({
|
|
43
|
+
width: host.runtime.canvas.width,
|
|
44
|
+
height: host.runtime.canvas.height,
|
|
45
|
+
time,
|
|
46
|
+
frame: host.frame,
|
|
47
|
+
mouse: host.mouseVec,
|
|
48
|
+
params: [host.param0, host.param1, host.param2, host.param3],
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function onMove(host: PointerHost, e: PointerEvent) {
|
|
54
|
+
pointerToMouse(host, e);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function onDown(host: PointerHost, e: PointerEvent) {
|
|
58
|
+
pointerToMouse(host, e);
|
|
59
|
+
host.mouseVec[2] = host.mouseVec[0];
|
|
60
|
+
host.mouseVec[3] = host.mouseVec[1];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function onUp(host: PointerHost) {
|
|
64
|
+
host.mouseVec[2] = 0;
|
|
65
|
+
host.mouseVec[3] = 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function onEnter(host: PointerHost) {
|
|
69
|
+
host.hovering = true;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function onLeave(host: PointerHost) {
|
|
73
|
+
host.hovering = false;
|
|
74
|
+
host.mouseVec[2] = 0;
|
|
75
|
+
host.mouseVec[3] = 0;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export const pointer = {
|
|
79
|
+
pointerToMouse,
|
|
80
|
+
onMove,
|
|
81
|
+
onDown,
|
|
82
|
+
onUp,
|
|
83
|
+
onEnter,
|
|
84
|
+
onLeave,
|
|
85
|
+
} as const;
|