@supersoniks/concorde 4.9.97-visual-stack.0 → 4.9.98-visual-stack.1
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/build-infos.json +1 -1
- package/concorde-3d.bundle.js +201 -152
- package/concorde-3d.es.js +14621 -13823
- package/concorde-core.bundle.js +1 -1
- package/concorde-core.es.js +1 -1
- package/concorde-hugging-face-infer.bundle.js +1 -1
- package/concorde-hugging-face-infer.es.js +1 -1
- package/concorde-shader.bundle.js +31 -20
- package/concorde-shader.es.js +3236 -2865
- package/concorde-webgpu.bundle.js +43 -32
- package/concorde-webgpu.es.js +2977 -2618
- package/dist/concorde-3d.bundle.js +201 -152
- package/dist/concorde-3d.es.js +14621 -13823
- package/dist/concorde-core.bundle.js +1 -1
- package/dist/concorde-core.es.js +1 -1
- package/dist/concorde-hugging-face-infer.bundle.js +1 -1
- package/dist/concorde-hugging-face-infer.es.js +1 -1
- package/dist/concorde-shader.bundle.js +31 -20
- package/dist/concorde-shader.es.js +3236 -2865
- package/dist/concorde-webgpu.bundle.js +43 -32
- package/dist/concorde-webgpu.es.js +2977 -2618
- package/dist/js/core/components/functional/3d/3d.js +100 -2
- package/dist/js/core/components/functional/3d/3d.js.map +1 -1
- package/dist/js/core/components/functional/3d/constants.js +3 -0
- package/dist/js/core/components/functional/3d/constants.js.map +1 -1
- package/dist/js/core/components/functional/3d/ensure.js +6 -3
- package/dist/js/core/components/functional/3d/ensure.js.map +1 -1
- package/dist/js/core/components/functional/3d/form-params.js +2 -0
- package/dist/js/core/components/functional/3d/form-params.js.map +1 -1
- package/dist/js/core/components/functional/3d/frame-source.js +22 -0
- package/dist/js/core/components/functional/3d/frame-source.js.map +1 -0
- package/dist/js/core/components/functional/3d/life.js +2 -1
- package/dist/js/core/components/functional/3d/life.js.map +1 -1
- package/dist/js/core/components/functional/3d/out-publish.js +3 -2
- package/dist/js/core/components/functional/3d/out-publish.js.map +1 -1
- package/dist/js/core/components/functional/3d/playback.js +6 -1
- package/dist/js/core/components/functional/3d/playback.js.map +1 -1
- package/dist/js/core/components/functional/3d/post-bind.js +207 -0
- package/dist/js/core/components/functional/3d/post-bind.js.map +1 -0
- package/dist/js/core/components/functional/3d/post-channels.js +39 -0
- package/dist/js/core/components/functional/3d/post-channels.js.map +1 -0
- package/dist/js/core/components/functional/3d/post-fx.js +495 -0
- package/dist/js/core/components/functional/3d/post-fx.js.map +1 -0
- package/dist/js/core/components/functional/3d/props.js +142 -0
- package/dist/js/core/components/functional/3d/props.js.map +1 -1
- package/dist/js/core/components/functional/3d/reload.js +5 -0
- package/dist/js/core/components/functional/3d/reload.js.map +1 -1
- package/dist/js/core/components/functional/3d/runtime.js +80 -3
- package/dist/js/core/components/functional/3d/runtime.js.map +1 -1
- package/dist/js/core/components/functional/3d/scene-runtime.js +1 -1
- package/dist/js/core/components/functional/3d/scene-runtime.js.map +1 -1
- package/dist/js/core/components/functional/3d/tune.js +21 -0
- package/dist/js/core/components/functional/3d/tune.js.map +1 -1
- package/dist/js/core/components/functional/3d/updated.js +13 -1
- package/dist/js/core/components/functional/3d/updated.js.map +1 -1
- package/dist/js/core/components/functional/shader/gl-runtime.js +280 -31
- package/dist/js/core/components/functional/shader/gl-runtime.js.map +1 -1
- package/dist/js/core/components/functional/shader/shader.js +207 -61
- package/dist/js/core/components/functional/shader/shader.js.map +1 -1
- package/dist/js/core/components/functional/shader/shadertoy-prelude.js +39 -5
- package/dist/js/core/components/functional/shader/shadertoy-prelude.js.map +1 -1
- package/dist/js/core/components/functional/shader/types.js +58 -7
- package/dist/js/core/components/functional/shader/types.js.map +1 -1
- package/dist/js/core/components/functional/webgpu/gl-fallback.js +27 -6
- package/dist/js/core/components/functional/webgpu/gl-fallback.js.map +1 -1
- package/dist/js/core/components/functional/webgpu/gpu-runtime.js +115 -13
- package/dist/js/core/components/functional/webgpu/gpu-runtime.js.map +1 -1
- package/dist/js/core/components/functional/webgpu/helpers.js +8 -2
- package/dist/js/core/components/functional/webgpu/helpers.js.map +1 -1
- package/dist/js/core/components/functional/webgpu/webgpu.js +43 -1
- package/dist/js/core/components/functional/webgpu/webgpu.js.map +1 -1
- package/dist/js/core/utils/mediaRef.js +86 -0
- package/dist/js/core/utils/mediaRef.js.map +1 -1
- package/dist/types/core/components/functional/3d/3d.d.ts +31 -3
- package/dist/types/core/components/functional/3d/3d.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/constants.d.ts +1 -1
- package/dist/types/core/components/functional/3d/constants.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/ensure.d.ts +3 -0
- package/dist/types/core/components/functional/3d/ensure.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/form-params.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/frame-source.d.ts +23 -0
- package/dist/types/core/components/functional/3d/frame-source.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/life.d.ts +2 -0
- package/dist/types/core/components/functional/3d/life.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/out-publish.d.ts +1 -0
- package/dist/types/core/components/functional/3d/out-publish.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/playback.d.ts +9 -0
- package/dist/types/core/components/functional/3d/playback.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/post-bind.d.ts +52 -0
- package/dist/types/core/components/functional/3d/post-bind.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/post-channels.d.ts +40 -0
- package/dist/types/core/components/functional/3d/post-channels.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/post-fx.d.ts +73 -0
- package/dist/types/core/components/functional/3d/post-fx.d.ts.map +1 -0
- package/dist/types/core/components/functional/3d/props.d.ts +42 -0
- package/dist/types/core/components/functional/3d/props.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/reload.d.ts +3 -0
- package/dist/types/core/components/functional/3d/reload.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/runtime.d.ts +16 -1
- package/dist/types/core/components/functional/3d/runtime.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/scene-runtime.d.ts +1 -1
- package/dist/types/core/components/functional/3d/scene-runtime.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/tune.d.ts +5 -0
- package/dist/types/core/components/functional/3d/tune.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/types.d.ts +16 -0
- package/dist/types/core/components/functional/3d/types.d.ts.map +1 -1
- package/dist/types/core/components/functional/3d/updated.d.ts.map +1 -1
- package/dist/types/core/components/functional/shader/gl-runtime.d.ts +53 -2
- package/dist/types/core/components/functional/shader/gl-runtime.d.ts.map +1 -1
- package/dist/types/core/components/functional/shader/shader.d.ts +41 -9
- package/dist/types/core/components/functional/shader/shader.d.ts.map +1 -1
- package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts +16 -2
- package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts.map +1 -1
- package/dist/types/core/components/functional/shader/types.d.ts +35 -5
- package/dist/types/core/components/functional/shader/types.d.ts.map +1 -1
- package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts +4 -0
- package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts.map +1 -1
- package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts +14 -0
- package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts.map +1 -1
- package/dist/types/core/components/functional/webgpu/helpers.d.ts +1 -0
- package/dist/types/core/components/functional/webgpu/helpers.d.ts.map +1 -1
- package/dist/types/core/components/functional/webgpu/webgpu.d.ts +11 -1
- package/dist/types/core/components/functional/webgpu/webgpu.d.ts.map +1 -1
- package/dist/types/core/utils/mediaRef.d.ts +34 -0
- package/dist/types/core/utils/mediaRef.d.ts.map +1 -1
- package/package.json +49 -1
- package/src/core/components/functional/3d/3d.md +46 -3
- package/src/core/components/functional/3d/3d.spec.ts +42 -0
- package/src/core/components/functional/3d/3d.ts +112 -3
- package/src/core/components/functional/3d/constants.ts +3 -0
- package/src/core/components/functional/3d/ensure.ts +11 -3
- package/src/core/components/functional/3d/form-params.ts +2 -0
- package/src/core/components/functional/3d/frame-source.ts +30 -0
- package/src/core/components/functional/3d/life.ts +4 -1
- package/src/core/components/functional/3d/out-publish.ts +4 -3
- package/src/core/components/functional/3d/playback.ts +13 -1
- package/src/core/components/functional/3d/post-bind.ts +262 -0
- package/src/core/components/functional/3d/post-channels.spec.ts +36 -0
- package/src/core/components/functional/3d/post-channels.ts +69 -0
- package/src/core/components/functional/3d/post-fx.ts +594 -0
- package/src/core/components/functional/3d/props.ts +45 -0
- package/src/core/components/functional/3d/reload.ts +8 -0
- package/src/core/components/functional/3d/runtime.ts +93 -4
- package/src/core/components/functional/3d/scene-runtime.ts +3 -0
- package/src/core/components/functional/3d/tune.ts +21 -0
- package/src/core/components/functional/3d/types.ts +14 -0
- package/src/core/components/functional/3d/updated.ts +17 -1
- package/src/core/components/functional/shader/gl-runtime.ts +374 -36
- package/src/core/components/functional/shader/shader.md +36 -11
- package/src/core/components/functional/shader/shader.spec.ts +350 -3
- package/src/core/components/functional/shader/shader.ts +236 -59
- package/src/core/components/functional/shader/shadertoy-prelude.ts +49 -5
- package/src/core/components/functional/shader/types.ts +92 -13
- package/src/core/components/functional/webgpu/gl-fallback.ts +28 -4
- package/src/core/components/functional/webgpu/gpu-runtime.ts +154 -18
- package/src/core/components/functional/webgpu/helpers.ts +8 -2
- package/src/core/components/functional/webgpu/webgpu.md +13 -2
- package/src/core/components/functional/webgpu/webgpu.spec.ts +37 -0
- package/src/core/components/functional/webgpu/webgpu.ts +48 -1
- package/src/core/utils/mediaRef.spec.ts +61 -0
- package/src/core/utils/mediaRef.ts +108 -0
- package/src/docs/_misc/visual-stack.md +37 -3
- package/src/docs/components/docs-demo-sources.ts +42 -0
- package/src/docs/docs.ts +3 -0
- package/src/docs/example/docs-3d-post-depth-demo.ts +68 -0
- package/src/docs/example/docs-3d-shader-live-demo.ts +98 -0
- package/src/docs/example/docs-3d-webgpu-live-demo.ts +83 -0
- package/src/docs/example/docs-harris-webgpu-demo.ts +53 -55
- package/src/docs/search/docs-search.json +2583 -863
- package/src/tsconfig.json +36 -0
- package/src/tsconfig.tsbuildinfo +1 -1
|
@@ -55,6 +55,13 @@ export type Sonic3dConfig = {
|
|
|
55
55
|
playOnHover?: boolean;
|
|
56
56
|
/** Libère le renderer hors viewport (défaut true). */
|
|
57
57
|
releaseOffscreen?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Garde RAF / runtime hors viewport (pont live).
|
|
60
|
+
* Aussi auto via `registerFrameConsumer`.
|
|
61
|
+
*/
|
|
62
|
+
playOffscreen?: boolean;
|
|
63
|
+
/** Inertie OrbitControls (défaut 0.08, 0 = off). */
|
|
64
|
+
damping?: number;
|
|
58
65
|
dprMax?: number;
|
|
59
66
|
aspectRatio?: string;
|
|
60
67
|
/**
|
|
@@ -111,6 +118,8 @@ export type Sonic3dOutput = {
|
|
|
111
118
|
distance: number;
|
|
112
119
|
yaw: number;
|
|
113
120
|
pitch: number;
|
|
121
|
+
/** 1 si la caméra bouge (orbit / inertie / autoRotate), sinon 0. */
|
|
122
|
+
moving?: number;
|
|
114
123
|
/** Présents après un pick réussi. */
|
|
115
124
|
hitX?: number;
|
|
116
125
|
hitY?: number;
|
|
@@ -129,5 +138,12 @@ export type Sonic3dOutput = {
|
|
|
129
138
|
frameUrl?: string;
|
|
130
139
|
/** MediaRef du canvas (url + dimensions) — chaînable vers `sonic-shader`. */
|
|
131
140
|
snapshot?: Sonic3dSnapshot;
|
|
141
|
+
/**
|
|
142
|
+
* Pont live (Lot 1) : `{ element: sonic-3d }` pour `channel0` sans JPEG.
|
|
143
|
+
* Publié une fois au ready si un lecteur écoute `frameSource`.
|
|
144
|
+
*/
|
|
145
|
+
frameSource?: {
|
|
146
|
+
element: Element;
|
|
147
|
+
};
|
|
132
148
|
};
|
|
133
149
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;AAEzD,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAE5B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uDAAuD;IACvD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uDAAuD;IACvD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updated.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/updated.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"updated.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/updated.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAqDvC,iBAAS,OAAO,CACd,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,QA2BhD;AAED,eAAO,MAAM,UAAU;;CAAuB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChannelSource, PassChannels, ReadRectResult, ShaderPassId, ShaderSources } from "./types";
|
|
1
|
+
import { ChannelSource, PassChannels, ReadRectResult, ShaderBufferFormat, ShaderPassId, ShaderSources } from "./types";
|
|
2
2
|
export type FrameUniforms = {
|
|
3
3
|
time: number;
|
|
4
4
|
timeDelta: number;
|
|
@@ -6,6 +6,31 @@ export type FrameUniforms = {
|
|
|
6
6
|
mouse: [number, number, number, number];
|
|
7
7
|
params: [number, number, number, number];
|
|
8
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* Décide si un slot élément doit être re-uploadé cette frame.
|
|
11
|
+
* Exporté pour les tests unitaires (stratégie par type).
|
|
12
|
+
*/
|
|
13
|
+
export declare function shouldUploadElementFrame(source: unknown, lastSeq: number, lastSrc?: string): {
|
|
14
|
+
upload: boolean;
|
|
15
|
+
texSource: TexImageSource | null;
|
|
16
|
+
nextSrc?: string;
|
|
17
|
+
};
|
|
18
|
+
type BufferGlFormat = {
|
|
19
|
+
requested: ShaderBufferFormat;
|
|
20
|
+
active: ShaderBufferFormat;
|
|
21
|
+
internal: number;
|
|
22
|
+
format: number;
|
|
23
|
+
type: number;
|
|
24
|
+
filter: number;
|
|
25
|
+
float: boolean;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Résout le format GPU des buffers A–D.
|
|
29
|
+
* Exporté pour tests (mock `getExtension`).
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveBufferGlFormat(gl: WebGL2RenderingContext, requested: ShaderBufferFormat): BufferGlFormat;
|
|
32
|
+
/** Reset du warn unique (tests). */
|
|
33
|
+
export declare function resetBufferFormatWarnFlag(): void;
|
|
9
34
|
export declare function parseChannelSource(value: string | undefined | null, fallbackUrl: string): ChannelSource;
|
|
10
35
|
export declare class ShaderToyRuntime {
|
|
11
36
|
private gl;
|
|
@@ -20,14 +45,36 @@ export declare class ShaderToyRuntime {
|
|
|
20
45
|
private passChannels;
|
|
21
46
|
private activePasses;
|
|
22
47
|
private blackTexture;
|
|
48
|
+
private elementResolver;
|
|
49
|
+
private bufferFmt;
|
|
23
50
|
constructor(canvas: HTMLCanvasElement);
|
|
51
|
+
/** Format réellement utilisé pour les buffers A–D (après repli éventuel). */
|
|
52
|
+
get activeBufferFormat(): ShaderBufferFormat;
|
|
53
|
+
/**
|
|
54
|
+
* Change le format des buffers A–D. Recrée les FBO si la taille est déjà connue.
|
|
55
|
+
* Retourne le format actif (peut différer si extension manquante).
|
|
56
|
+
*/
|
|
57
|
+
setBufferFormat(requested: ShaderBufferFormat): ShaderBufferFormat;
|
|
24
58
|
/** True si le contexte a été perdu / déjà disposé. */
|
|
25
59
|
get isLost(): boolean;
|
|
26
60
|
private initGeometry;
|
|
27
61
|
resize(width: number, height: number): void;
|
|
28
62
|
setSources(sources: ShaderSources, channels: Map<ShaderPassId, PassChannels>): void;
|
|
63
|
+
/**
|
|
64
|
+
* Met à jour les bindings de canaux sans recompiler les programmes.
|
|
65
|
+
* Les URLs / clés `#élément` absentes des textures sont allouées à la demande
|
|
66
|
+
* (via `ensureTextures` / `ensureElementTexture` côté composant).
|
|
67
|
+
*/
|
|
68
|
+
setPassChannels(channels: Map<ShaderPassId, PassChannels>): void;
|
|
29
69
|
ensureTextures(urls: string[]): Promise<void>;
|
|
30
|
-
/**
|
|
70
|
+
/** Alloue un slot texture vide pour un canal `#élément` (upload live ensuite). */
|
|
71
|
+
ensureElementTexture(key: string): void;
|
|
72
|
+
/**
|
|
73
|
+
* Upload live des canaux élément / vidéo.
|
|
74
|
+
* `resolveEl(key)` fournit l’Element (résolution `#id` côté host).
|
|
75
|
+
*/
|
|
76
|
+
updateElementTextures(resolveEl?: (key: string) => Element | null): void;
|
|
77
|
+
/** @deprecated alias — préférer `updateElementTextures`. */
|
|
31
78
|
updateVideoTextures(): void;
|
|
32
79
|
setVideosPlaying(playing: boolean): void;
|
|
33
80
|
/** Size of a loaded external texture/video, if any. */
|
|
@@ -40,6 +87,8 @@ export declare class ShaderToyRuntime {
|
|
|
40
87
|
private resolveChannel;
|
|
41
88
|
private bindChannels;
|
|
42
89
|
private setCommonUniforms;
|
|
90
|
+
/** Host fournit la résolution `#id` / live Element. */
|
|
91
|
+
setElementResolver(fn: ((key: string) => Element | null) | null): void;
|
|
43
92
|
render(frame: FrameUniforms): void;
|
|
44
93
|
/**
|
|
45
94
|
* Lit un rectangle du framebuffer Image (origine bas-gauche, coords drawing buffer).
|
|
@@ -48,6 +97,7 @@ export declare class ShaderToyRuntime {
|
|
|
48
97
|
readRect(x: number, y: number, w: number, h: number): ReadRectResult | null;
|
|
49
98
|
/**
|
|
50
99
|
* Lit un rectangle d’un buffer ping-pong (dernier write) ou de l’Image (`pass === "image"`).
|
|
100
|
+
* Les buffers flottants renvoient un `Float32Array` ; Image / rgba8 → `Uint8Array`.
|
|
51
101
|
*/
|
|
52
102
|
readBufferRect(pass: ShaderPassId, x: number, y: number, w: number, h: number): ReadRectResult | null;
|
|
53
103
|
/**
|
|
@@ -68,4 +118,5 @@ export declare class ShaderToyRuntime {
|
|
|
68
118
|
*/
|
|
69
119
|
dispose(loseContext?: boolean): void;
|
|
70
120
|
}
|
|
121
|
+
export {};
|
|
71
122
|
//# sourceMappingURL=gl-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gl-runtime.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/shader/gl-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gl-runtime.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/shader/gl-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB,EAElB,YAAY,EACZ,aAAa,EAEd,MAAM,SAAS,CAAC;AAuDjB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA4CzE;AA8GD,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAIF;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,sBAAsB,EAC1B,SAAS,EAAE,kBAAkB,GAC5B,cAAc,CA6ChB;AAED,oCAAoC;AACpC,wBAAgB,yBAAyB,SAExC;AAoFD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAChC,WAAW,EAAE,MAAM,GAClB,aAAa,CA0Bf;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,GAAG,CAAuC;IAClD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,OAAO,CAAuD;IACtE,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,eAAe,CAAkD;IACzE,OAAO,CAAC,SAAS,CAAiB;gBAEtB,MAAM,EAAE,iBAAiB;IA+BrC,6EAA6E;IAC7E,IAAI,kBAAkB,IAAI,kBAAkB,CAE3C;IAED;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,kBAAkB,GAAG,kBAAkB;IA2BlE,sDAAsD;IACtD,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,OAAO,CAAC,YAAY;IAmBpB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAoBpC,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC;IAqD5E;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC;IAOnD,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;IAKnC,kFAAkF;IAClF,oBAAoB,CAAC,GAAG,EAAE,MAAM;IA8BhC;;;OAGG;IACH,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI;IAwDjE,4DAA4D;IAC5D,mBAAmB;IAInB,gBAAgB,CAAC,OAAO,EAAE,OAAO;IAiBjC,uDAAuD;IACvD,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMrE,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,gBAAgB;IAyDxB,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,iBAAiB;IA4CzB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI;IAI/D,MAAM,CAAC,KAAK,EAAE,aAAa;IAmC3B;;;OAGG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAI3E;;;OAGG;IACH,cAAc,CACZ,IAAI,EAAE,YAAY,EAClB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,cAAc,GAAG,IAAI;IAcxB;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAMjE,OAAO,CAAC,mBAAmB;IAuC3B,IAAI,IAAI,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAE5C;IAED,eAAe;IAYf;;;;OAIG;IACH,OAAO,CAAC,WAAW,UAAO;CAqC3B"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
-
import { ShaderExtractItem, ShaderExtractOutput, ShaderHoverParam, ShaderMouseMode, ShaderRoi } from "./types";
|
|
2
|
+
import { ReleaseOffscreen, ShaderBufferFormat, ShaderExtractItem, ShaderExtractOutput, ShaderHoverParam, ShaderMouseMode, ShaderRoi } from "./types";
|
|
3
3
|
declare const tagName = "sonic-shader";
|
|
4
|
+
/** Valeur canal depuis DP : string (url, buffer-a, #id) | MediaRef → url | { element }. */
|
|
5
|
+
declare function channelFormValue(value: unknown): string | undefined;
|
|
6
|
+
/** Exposé pour tests. */
|
|
7
|
+
export { channelFormValue };
|
|
4
8
|
/**
|
|
5
9
|
* ShaderToy-compatible multipass renderer (Image + Buffer A–D + Common).
|
|
6
10
|
* Opt-in: import `@supersoniks/concorde/shader`.
|
|
@@ -65,11 +69,19 @@ export declare class SonicShader extends LitElement {
|
|
|
65
69
|
/** Vitesse d’easing hover on/off (1/s, défaut 10). */
|
|
66
70
|
hoverSpeed: number;
|
|
67
71
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
72
|
+
* Hors viewport : libère textures/FBO (garde le contexte).
|
|
73
|
+
* `auto` (défaut) : ne libère pas si une passe lit `self`.
|
|
74
|
+
* `true` / `false` forcent le comportement.
|
|
70
75
|
*/
|
|
71
|
-
releaseOffscreen:
|
|
76
|
+
releaseOffscreen: ReleaseOffscreen;
|
|
72
77
|
dprMax: number;
|
|
78
|
+
/**
|
|
79
|
+
* Format des buffers A–D : `rgba8` (défaut) | `rgba16f` | `rgba32f`.
|
|
80
|
+
* Attribut reflété `active-buffer-format` = format réellement utilisé.
|
|
81
|
+
*/
|
|
82
|
+
bufferFormat: ShaderBufferFormat | string;
|
|
83
|
+
/** Format actif après repli éventuel (lecture seule, reflect). */
|
|
84
|
+
activeBufferFormat: ShaderBufferFormat;
|
|
73
85
|
/** Generic float uniforms `uParam0`…`uParam3` (no shader rebuild). */
|
|
74
86
|
param0: number;
|
|
75
87
|
param1: number;
|
|
@@ -124,6 +136,8 @@ export declare class SonicShader extends LitElement {
|
|
|
124
136
|
private startTime;
|
|
125
137
|
private lastTime;
|
|
126
138
|
private frame;
|
|
139
|
+
/** Incrémenté après chaque render (contrat SonicFrameSource). */
|
|
140
|
+
frameSeq: number;
|
|
127
141
|
private mouseVec;
|
|
128
142
|
/** Cible pointeur (px drawing buffer, origine bas-gauche). */
|
|
129
143
|
private mouseTarget;
|
|
@@ -149,6 +163,9 @@ export declare class SonicShader extends LitElement {
|
|
|
149
163
|
private resizeObserver;
|
|
150
164
|
private intersectionObserver;
|
|
151
165
|
private rebuildToken;
|
|
166
|
+
/** Annule un `rebindChannels` en vol si rebuild / release intervient. */
|
|
167
|
+
private rebindToken;
|
|
168
|
+
private frameConsumers;
|
|
152
169
|
private ready;
|
|
153
170
|
private formPublisher;
|
|
154
171
|
private outPublisher;
|
|
@@ -189,6 +206,10 @@ export declare class SonicShader extends LitElement {
|
|
|
189
206
|
*/
|
|
190
207
|
private releaseRuntime;
|
|
191
208
|
private getCanvas;
|
|
209
|
+
/** Contrat SonicFrameSource — canvas lisible pour un autre sonic-shader. */
|
|
210
|
+
getFrameCanvas(): HTMLCanvasElement | null;
|
|
211
|
+
/** Résout `#id` dans getRootNode() puis document ; clés live `__sonic_frame_`. */
|
|
212
|
+
private lookupElement;
|
|
192
213
|
private bindContextEvents;
|
|
193
214
|
private unbindContextEvents;
|
|
194
215
|
private onContextLost;
|
|
@@ -198,6 +219,17 @@ export declare class SonicShader extends LitElement {
|
|
|
198
219
|
private syncSize;
|
|
199
220
|
private buildChannels;
|
|
200
221
|
private collectUrls;
|
|
222
|
+
private collectElementKeys;
|
|
223
|
+
/** Enregistre les producteurs live (`sonic-3d`…) pour play-offscreen auto. */
|
|
224
|
+
private syncFrameConsumers;
|
|
225
|
+
/** Map canaux courante (tous les passes). */
|
|
226
|
+
private collectPassChannels;
|
|
227
|
+
/** `true` si hors viewport on doit libérer textures/FBO. */
|
|
228
|
+
private wantsReleaseOffscreen;
|
|
229
|
+
/**
|
|
230
|
+
* Re-lie les canaux sans recompiler ni vider les FBO (Vague A Lot 2).
|
|
231
|
+
*/
|
|
232
|
+
private rebindChannels;
|
|
201
233
|
private rebuild;
|
|
202
234
|
private emitError;
|
|
203
235
|
private shouldAnimate;
|
|
@@ -260,12 +292,12 @@ export declare class SonicShader extends LitElement {
|
|
|
260
292
|
private onPointerLeave;
|
|
261
293
|
render(): import("lit-html").TemplateResult<1>;
|
|
262
294
|
}
|
|
263
|
-
export { parseChannelSource, ShaderToyRuntime } from "./gl-runtime";
|
|
295
|
+
export { parseChannelSource, ShaderToyRuntime, shouldUploadElementFrame, resolveBufferGlFormat, resetBufferFormatWarnFlag } from "./gl-runtime";
|
|
264
296
|
export { buildFragmentSource } from "./shadertoy-prelude";
|
|
265
|
-
export type { ChannelSource, ShaderExtractItem, ShaderExtractOutput, ShaderExtractPass, ShaderHoverParam, ShaderMouseMode, ShaderParamSlot, ShaderPassId, ShaderPeak, ShaderRoi, ShaderSources, SonicShaderConfig, SonicShaderOutput, } from "./types";
|
|
266
|
-
export type { SonicMediaRef } from "@supersoniks/concorde/core/utils/mediaRef";
|
|
267
|
-
export { toMediaUrl, cloneMediaRef, } from "@supersoniks/concorde/core/utils/mediaRef";
|
|
268
|
-
export { findPeaks, meanRgba, parseExtractPass, parseHoverParam, roiToPixels, ShaderCompileError, } from "./types";
|
|
297
|
+
export type { ChannelSource, ReleaseOffscreen, ShaderBufferFormat, ShaderExtractItem, ShaderExtractOutput, ShaderExtractPass, ShaderHoverParam, ShaderMouseMode, ShaderParamSlot, ShaderPassId, ShaderPeak, ShaderRoi, ShaderSources, SonicShaderConfig, SonicShaderOutput, } from "./types";
|
|
298
|
+
export type { SonicMediaRef, SonicFrameSource, } from "@supersoniks/concorde/core/utils/mediaRef";
|
|
299
|
+
export { toMediaUrl, cloneMediaRef, isFrameSource, mediaElementKey, } from "@supersoniks/concorde/core/utils/mediaRef";
|
|
300
|
+
export { channelsUseSelf, findPeaks, meanRgba, parseBufferFormat, parseExtractPass, parseHoverParam, parseReleaseOffscreen, roiToPixels, rgbaToUint8, shouldReleaseWhenOffscreen, ShaderCompileError, } from "./types";
|
|
269
301
|
declare global {
|
|
270
302
|
interface HTMLElementTagNameMap {
|
|
271
303
|
[tagName]: SonicShader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/shader/shader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAS5C,OAAO,
|
|
1
|
+
{"version":3,"file":"shader.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/shader/shader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAS5C,OAAO,EAEL,gBAAgB,EAChB,kBAAkB,EAElB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EAEf,SAAS,EAaV,MAAM,SAAS,CAAC;AAEjB,QAAA,MAAM,OAAO,iBAAiB,CAAC;AAsH/B,2FAA2F;AAC3F,iBAAS,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAY5D;AAED,yBAAyB;AACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAqE5B;;;;;;GAMG;AACH,qBACa,WAAY,SAAQ,UAAU;IACzC,MAAM,CAAC,MAAM,0BA8BX;IAEU,KAAK,SAAM;IACc,OAAO,SAAM;IACb,OAAO,SAAM;IACb,OAAO,SAAM;IACb,OAAO,SAAM;IACtC,MAAM,SAAM;IAEZ,QAAQ,SAAM;IACd,QAAQ,SAAM;IACd,QAAQ,SAAM;IACd,QAAQ,SAAM;IAEY,QAAQ,SAAM;IACd,QAAQ,SAAM;IACd,QAAQ,SAAM;IACd,QAAQ,SAAM;IAEX,UAAU,SAAM;IAChB,UAAU,SAAM;IAChB,UAAU,SAAM;IAChB,UAAU,SAAM;IAEhB,UAAU,SAAM;IAChB,UAAU,SAAM;IAChB,UAAU,SAAM;IAChB,UAAU,SAAM;IAEhB,UAAU,SAAM;IAChB,UAAU,SAAM;IAChB,UAAU,SAAM;IAChB,UAAU,SAAM;IAEhB,UAAU,SAAM;IAChB,UAAU,SAAM;IAChB,UAAU,SAAM;IAChB,UAAU,SAAM;IAEb,IAAI,UAAQ;IACxD;;;OAGG;IACsD,WAAW,UAAS;IAChD,KAAK,UAAQ;IAC1C;;;OAGG;IAEH,SAAS,EAAE,eAAe,CAAY;IACtC;;;OAGG;IACmD,UAAU,SAAK;IACrE;;;OAGG;IACqC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CACxE;IACL,sDAAsD;IACA,UAAU,SAAM;IACtE;;;;OAIG;IAYH,gBAAgB,EAAE,gBAAgB,CAAU;IACM,MAAM,SAAK;IAC7D;;;OAGG;IAEH,YAAY,EAAE,kBAAkB,GAAG,MAAM,CAAW;IACpD,kEAAkE;IAElE,kBAAkB,EAAE,kBAAkB,CAAW;IAEjD,sEAAsE;IACrB,MAAM,SAAK;IACX,MAAM,SAAK;IACX,MAAM,SAAK;IACX,MAAM,SAAK;IAE5D;;;;OAIG;IAEH,YAAY,SAAM;IAElB;;;;;OAKG;IAEH,eAAe,SAAM;IAErB;;;OAGG;IAC0B,MAAM,UAAS;IAE5C,+DAA+D;IACR,WAAW,SAAM;IAExE,qDAAqD;IACxB,OAAO,UAAS;IAC7C,4DAA4D;IAE5D,eAAe,SAAK;IACpB,+DAA+D;IAE/D,aAAa,SAAW;IACxB,uDAAuD;IAEvD,WAAW,SAAU;IACrB,0CAA0C;IAE1C,gBAAgB,SAAO;IACvB,uCAAuC;IACe,UAAU,SAAK;IACrE,4DAA4D;IACJ,YAAY,SAAM;IAC1E,qCAAqC;IAErC,cAAc,UAAS;IACvB,6DAA6D;IAE7D,mBAAmB,SAAM;IAEzB;;;OAGG;IAEH,WAAW,SAAM;IAER,OAAO,CAAC,YAAY,CAAM;IAEnC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAK;IAClB,iEAAiE;IACjE,QAAQ,SAAK;IACb,OAAO,CAAC,QAAQ,CAAkD;IAClE,8DAA8D;IAC9D,OAAO,CAAC,WAAW,CAA4B;IAC/C,oDAAoD;IACpD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAK;IACtB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAK;IACrB,2DAA2D;IAC3D,OAAO,CAAC,iBAAiB,CAAK;IAC9B,sCAAsC;IACtC,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,YAAY,CAAK;IACzB,yEAAyE;IACzE,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,gBAAgB,CACjB;IACP,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,cAAc,CAGpB;IAEF,iBAAiB;IAYjB;;;OAGG;IACM,gBAAgB,CACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI;IAME,mBAAmB,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI;IAUP,oBAAoB;IAoCpB,SAAS,CAAC,YAAY;IAqBtB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IA6B/C,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,eAAe;IAwCvB,kEAAkE;IAClE,OAAO,CAAC,eAAe;IAYvB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,SAAS;IAOjB,4EAA4E;IAC5E,cAAc,IAAI,iBAAiB,GAAG,IAAI;IAK1C,kFAAkF;IAClF,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,aAAa,CAQnB;IAEF,OAAO,CAAC,iBAAiB,CAGvB;YAEY,aAAa;IAyB3B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,aAAa;IA0CrB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,kBAAkB;IAY1B,8EAA8E;IAC9E,OAAO,CAAC,kBAAkB;IAO1B,6CAA6C;IAC7C,OAAO,CAAC,mBAAmB;IAc3B,4DAA4D;IAC5D,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;YACW,cAAc;YA6Bd,OAAO;IAkDrB,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,IAAI,CAQV;IAEF,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,WAAW;IAsCnB,gFAAgF;IAChF,OAAO,CAAC,yBAAyB;IAMjC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAYvB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,cAAc;IAWtB,oFAAoF;IACpF,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,sBAAsB;IAK9B;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAMnE,mDAAmD;IAC7C,UAAU,IAAI,OAAO,CAAC,mBAAmB,CAAC;YAKlC,YAAY;YAUZ,UAAU;YA+IV,gBAAgB;IA8C9B,OAAO,CAAC,cAAc;IAmDtB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAY1B,4EAA4E;IAC5E,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,aAAa,CAQnB;IAEF,OAAO,CAAC,aAAa,CAQnB;IAEF,OAAO,CAAC,WAAW,CAOjB;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEF,OAAO,CAAC,cAAc,CAYpB;IAEF,MAAM;CAQP;AAED,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAChJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,eAAe,GAChB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,eAAe,EACf,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;KACxB;CACF"}
|
|
@@ -1,6 +1,20 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* ShaderToy-compatible GLSL ES 3.0 prelude (fragment body, sans `#version`).
|
|
3
|
+
* - `sonic-shader` préfixe `#version 300 es` via `buildFragmentSource`.
|
|
4
|
+
* - `sonic-3d` post passe le corps à Three `RawShaderMaterial` (GLSL3).
|
|
5
|
+
*/
|
|
6
|
+
export declare const GLSL_VERSION_300 = "#version 300 es\n";
|
|
7
|
+
/** Corps des uniforms / out (sans version). */
|
|
8
|
+
export declare const SHADERTOY_FRAGMENT_BODY = "precision highp float;\nprecision highp int;\nprecision mediump sampler2D;\n\nuniform vec3 iResolution;\nuniform float iTime;\nuniform float iTimeDelta;\nuniform float iFrameRate;\nuniform int iFrame;\nuniform float iChannelTime[4];\nuniform vec3 iChannelResolution[4];\nuniform vec4 iMouse;\nuniform vec4 iDate;\nuniform float iSampleRate;\nuniform sampler2D iChannel0;\nuniform sampler2D iChannel1;\nuniform sampler2D iChannel2;\nuniform sampler2D iChannel3;\nuniform float uParam0;\nuniform float uParam1;\nuniform float uParam2;\nuniform float uParam3;\n/** Near / far cam\u00E9ra (0 dans sonic-shader standalone). */\nuniform float uNear;\nuniform float uFar;\n\nout vec4 sonicFragColor;\n\n/** Profondeur lin\u00E9aire monde depuis une DepthTexture (0\u20131). */\nfloat sonicLinearDepth(float d) {\n float z = d * 2.0 - 1.0;\n float n = max(uNear, 1e-4);\n float f = max(uFar, n + 1e-4);\n return (2.0 * n * f) / (f + n - z * (f - n));\n}\n\n";
|
|
9
|
+
/** @deprecated Préférer SHADERTOY_FRAGMENT_BODY + buildFragmentSource. */
|
|
10
|
+
export declare const SHADERTOY_FRAGMENT_PRELUDE: string;
|
|
3
11
|
export declare const SHADERTOY_FRAGMENT_EPILOGUE = "\nvoid main() {\n mainImage(sonicFragColor, gl_FragCoord.xy);\n}\n";
|
|
4
12
|
export declare const FULLSCREEN_VERTEX = "#version 300 es\nprecision highp float;\nlayout(location = 0) in vec2 aPos;\nvoid main() {\n gl_Position = vec4(aPos, 0.0, 1.0);\n}\n";
|
|
13
|
+
/** Vertex Three RawShaderMaterial GLSL3 (fullscreen triangle via PlaneGeometry 2×2). */
|
|
14
|
+
export declare const THREE_FULLSCREEN_VERTEX = "precision highp float;\nin vec3 position;\nvoid main() {\n gl_Position = vec4(position.xy, 0.0, 1.0);\n}\n";
|
|
15
|
+
export declare function buildFragmentBody(common: string, userCode: string): string;
|
|
16
|
+
/** Source fragment WebGL2 native (`sonic-shader`). */
|
|
5
17
|
export declare function buildFragmentSource(common: string, userCode: string): string;
|
|
18
|
+
/** Source fragment pour Three RawShaderMaterial (GLSL3, sans #version). */
|
|
19
|
+
export declare function buildThreeFragmentSource(common: string, userCode: string): string;
|
|
6
20
|
//# sourceMappingURL=shadertoy-prelude.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadertoy-prelude.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/shader/shadertoy-prelude.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"shadertoy-prelude.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/shader/shadertoy-prelude.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,gBAAgB,sBAC5B,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,uBAAuB,ogCAoCnC,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,QACK,CAAC;AAE7C,eAAO,MAAM,2BAA2B,wEAIvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,2IAM7B,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,gHAKnC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ1E;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAER"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
export type ShaderPassId = "image" | "bufferA" | "bufferB" | "bufferC" | "bufferD";
|
|
2
|
+
/** Format interne des buffers A–D (Image = toujours le canvas RGBA8). */
|
|
3
|
+
export type ShaderBufferFormat = "rgba8" | "rgba16f" | "rgba32f";
|
|
4
|
+
export declare function parseBufferFormat(value: string | null | undefined): ShaderBufferFormat;
|
|
5
|
+
/**
|
|
6
|
+
* Hors viewport : libérer textures/FBO ?
|
|
7
|
+
* - `true` / `false` — forcé
|
|
8
|
+
* - `auto` (défaut) — libère sauf si une passe lit `self` (état conservé)
|
|
9
|
+
*/
|
|
10
|
+
export type ReleaseOffscreen = boolean | "auto";
|
|
11
|
+
export declare function parseReleaseOffscreen(value: string | null | undefined): ReleaseOffscreen;
|
|
12
|
+
/** Au moins un canal `self` (feedback frame précédente). */
|
|
13
|
+
export declare function channelsUseSelf(channels: Iterable<readonly ChannelSource[]>): boolean;
|
|
14
|
+
export declare function shouldReleaseWhenOffscreen(mode: ReleaseOffscreen, usesSelf: boolean): boolean;
|
|
2
15
|
export type ChannelSource = {
|
|
3
16
|
kind: "url";
|
|
4
17
|
url: string;
|
|
@@ -9,6 +22,12 @@ export type ChannelSource = {
|
|
|
9
22
|
kind: "self";
|
|
10
23
|
} | {
|
|
11
24
|
kind: "none";
|
|
25
|
+
}
|
|
26
|
+
/** Élément page (`#id`) — upload live via `updateElementTextures`. */
|
|
27
|
+
| {
|
|
28
|
+
kind: "element";
|
|
29
|
+
key: string;
|
|
30
|
+
el?: Element | null;
|
|
12
31
|
};
|
|
13
32
|
export type PassChannels = [
|
|
14
33
|
ChannelSource,
|
|
@@ -135,10 +154,17 @@ export type SonicShaderConfig = {
|
|
|
135
154
|
aspectRatio?: string;
|
|
136
155
|
dprMax?: number;
|
|
137
156
|
/**
|
|
138
|
-
*
|
|
157
|
+
* Format des buffers A–D : `rgba8` (défaut) \| `rgba16f` \| `rgba32f`.
|
|
158
|
+
* Requis pour des valeurs signées / hors [0,1] (ex. tenseur Harris).
|
|
159
|
+
* Repli auto en `rgba8` si `EXT_color_buffer_float` manque.
|
|
160
|
+
*/
|
|
161
|
+
bufferFormat?: ShaderBufferFormat;
|
|
162
|
+
/**
|
|
163
|
+
* Hors viewport : libère textures/FBO, sans loseContext.
|
|
164
|
+
* `auto` (défaut) : ne libère pas si une passe lit `self`.
|
|
139
165
|
* Le slot navigateur est libéré au disconnect.
|
|
140
166
|
*/
|
|
141
|
-
releaseOffscreen?:
|
|
167
|
+
releaseOffscreen?: ReleaseOffscreen;
|
|
142
168
|
};
|
|
143
169
|
/** Parse `hover-param` → slot ou `null` si désactivé / invalide. */
|
|
144
170
|
export declare function parseHoverParam(value: string | number | null | undefined): ShaderParamSlot | null;
|
|
@@ -225,15 +251,17 @@ export type ReadRectResult = {
|
|
|
225
251
|
y: number;
|
|
226
252
|
width: number;
|
|
227
253
|
height: number;
|
|
228
|
-
|
|
254
|
+
/** `Uint8Array` (RGBA8) ou `Float32Array` (buffers flottants). */
|
|
255
|
+
data: Uint8Array | Float32Array;
|
|
229
256
|
};
|
|
230
257
|
/** Parse `extract-source` / `extract-mask` → pass id ou null. */
|
|
231
258
|
export declare function parseExtractPass(value: string | null | undefined): ShaderPassId | null;
|
|
232
259
|
/**
|
|
233
260
|
* NMS simple sur canal R (RGBA row-major, origine bas-gauche comme WebGL).
|
|
234
261
|
* Retourne peaks triés par score décroissant.
|
|
262
|
+
* Accepte Uint8 (0–255) ou Float32 (scores déjà dans ~[0,1]).
|
|
235
263
|
*/
|
|
236
|
-
export declare function findPeaks(data: Uint8Array, width: number, height: number, options?: FindPeaksOptions): ShaderPeak[];
|
|
264
|
+
export declare function findPeaks(data: Uint8Array | Float32Array, width: number, height: number, options?: FindPeaksOptions): ShaderPeak[];
|
|
237
265
|
/** Clamp + convertit un ROI normalisé en pixels drawing-buffer. */
|
|
238
266
|
export declare function roiToPixels(roi: ShaderRoi, bufW: number, bufH: number, defaultPatchPx: number, maxPatchPx?: number): {
|
|
239
267
|
x: number;
|
|
@@ -241,13 +269,15 @@ export declare function roiToPixels(roi: ShaderRoi, bufW: number, bufH: number,
|
|
|
241
269
|
w: number;
|
|
242
270
|
h: number;
|
|
243
271
|
} | null;
|
|
244
|
-
export declare function meanRgba(data: Uint8Array): {
|
|
272
|
+
export declare function meanRgba(data: Uint8Array | Float32Array): {
|
|
245
273
|
r: number;
|
|
246
274
|
g: number;
|
|
247
275
|
b: number;
|
|
248
276
|
a: number;
|
|
249
277
|
luma: number;
|
|
250
278
|
};
|
|
279
|
+
/** Convertit un buffer RGBA (byte ou float 0–1) en Uint8 pour canvas / blob. */
|
|
280
|
+
export declare function rgbaToUint8(data: Uint8Array | Float32Array): Uint8Array;
|
|
251
281
|
export declare class ShaderCompileError extends Error {
|
|
252
282
|
readonly pass: ShaderPassId | "vertex" | "link";
|
|
253
283
|
readonly infoLog: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/shader/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/shader/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd,yEAAyE;AACzE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,kBAAkB,CAKpB;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,gBAAgB,CAOlB;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,QAAQ,CAAC,SAAS,aAAa,EAAE,CAAC,GAC3C,OAAO,CAOT;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAIT;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;AAClB,sEAAsE;GACpE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;CACd,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAC7D,CAAC;AAEF,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE5C;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,GAAG,eAAe,EAAE,GACpB,QAAQ,eAAe,EAAE,GACzB,EAAE,CAAC;AAEP;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kFAAkF;IAClF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,oEAAoE;AACpE,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GACxC,eAAe,GAAG,IAAI,CAYxB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE7C,sFAAsF;AACtF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,gFAAgF;IAChF,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;CACjC,CAAC;AAEF,iEAAiE;AACjE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,YAAY,GAAG,IAAI,CAUrB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,UAAU,GAAG,YAAY,EAC/B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,GAC7B,UAAU,EAAE,CAgDd;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CACzB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,UAAU,SAAM,GACf;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA6CvD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG;IACzD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd,CA2BA;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,IAAI,EAAE,UAAU,GAAG,YAAY,GAC9B,UAAU,CAOZ;AAED,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,IAAI,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM;aACtC,OAAO,EAAE,MAAM;gBAF/B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,EACtC,OAAO,EAAE,MAAM;CAKlC"}
|
|
@@ -10,8 +10,10 @@ export declare class WebGl2FallbackRuntime {
|
|
|
10
10
|
private lastTime;
|
|
11
11
|
private disposed;
|
|
12
12
|
private channelQueue;
|
|
13
|
+
private elementResolver;
|
|
13
14
|
private constructor();
|
|
14
15
|
static create(canvas: HTMLCanvasElement): WebGl2FallbackRuntime;
|
|
16
|
+
setElementResolver(fn: ((key: string) => Element | null) | null): void;
|
|
15
17
|
/** WGSL ignoré — effet GLSL fixe (canaux / params OK). */
|
|
16
18
|
setShader(_userBody: string): Promise<void>;
|
|
17
19
|
setChannel(index: 0 | 1 | 2 | 3, url: string): Promise<void>;
|
|
@@ -23,8 +25,10 @@ export declare class WebGl2FallbackRuntime {
|
|
|
23
25
|
height: number;
|
|
24
26
|
} | null;
|
|
25
27
|
resize(width: number, height: number): void;
|
|
28
|
+
updateLiveChannels(resolveEl: (key: string) => Element | null): void;
|
|
26
29
|
draw(state: WebGpuFrameState): void;
|
|
27
30
|
dispose(loseContext?: boolean): void;
|
|
31
|
+
private ensureChannelAssets;
|
|
28
32
|
private applySources;
|
|
29
33
|
private assertAlive;
|
|
30
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gl-fallback.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/webgpu/gl-fallback.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA8BtD;;GAEG;AACH,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAU;IACrC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,OAAO,CAAC,GAAG,CAAmB;IAC9B,OAAO,CAAC,WAAW,CAAsD;IACzE,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAoC;
|
|
1
|
+
{"version":3,"file":"gl-fallback.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/webgpu/gl-fallback.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA8BtD;;GAEG;AACH,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAU;IACrC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,OAAO,CAAC,GAAG,CAAmB;IAC9B,OAAO,CAAC,WAAW,CAAsD;IACzE,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,eAAe,CAAkD;IAEzE,OAAO;IAMP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,qBAAqB;IAK/D,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI;IAK/D,0DAA0D;IACpD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAQpD,aAAa;IAsB3B,yDAAyD;IACnD,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAexE,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIrE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAKpC,kBAAkB,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI;IAK7D,IAAI,CAAC,KAAK,EAAE,gBAAgB;IAmB5B,OAAO,CAAC,WAAW,UAAO;YAMZ,mBAAmB;IAQjC,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;CAGpB"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/** `true` si la texture existante peut être réécrite (même taille). */
|
|
2
|
+
export declare function channelTextureNeedsRecreate(current: {
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
} | null | undefined, nextW: number, nextH: number): boolean;
|
|
1
6
|
/** Adapter WebGPU : high-performance → low-power → défaut. */
|
|
2
7
|
export declare function requestBestAdapter(gpu?: GPU): Promise<GPUAdapter | null>;
|
|
3
8
|
export type WebGpuFrameState = {
|
|
@@ -24,6 +29,8 @@ export declare class WebGpuRuntime {
|
|
|
24
29
|
private channelViews;
|
|
25
30
|
private channelSizes;
|
|
26
31
|
private channelUrls;
|
|
32
|
+
private channelLastSeq;
|
|
33
|
+
private channelLastSrc;
|
|
27
34
|
private placeholder;
|
|
28
35
|
private placeholderView;
|
|
29
36
|
private bindGroup;
|
|
@@ -39,6 +46,11 @@ export declare class WebGpuRuntime {
|
|
|
39
46
|
static create(canvas: HTMLCanvasElement): Promise<WebGpuRuntime>;
|
|
40
47
|
setShader(userBody: string): Promise<void>;
|
|
41
48
|
setChannel(index: 0 | 1 | 2 | 3, url: string): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Upload live des canaux `#id` / FrameSource / video / canvas.
|
|
51
|
+
* Recrée la texture seulement si la taille change (pas de createTexture chaque frame).
|
|
52
|
+
*/
|
|
53
|
+
updateLiveChannels(resolveEl: (key: string) => Element | null): void;
|
|
42
54
|
getTextureSize(url: string): {
|
|
43
55
|
width: number;
|
|
44
56
|
height: number;
|
|
@@ -46,6 +58,8 @@ export declare class WebGpuRuntime {
|
|
|
46
58
|
resize(width: number, height: number): void;
|
|
47
59
|
draw(state: WebGpuFrameState): void;
|
|
48
60
|
dispose(destroyDevice?: boolean): void;
|
|
61
|
+
private bindElementChannel;
|
|
62
|
+
private uploadExternal;
|
|
49
63
|
private writeUniforms;
|
|
50
64
|
private destroyChannel;
|
|
51
65
|
private assertAlive;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gpu-runtime.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/webgpu/gpu-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gpu-runtime.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/webgpu/gpu-runtime.ts"],"names":[],"mappings":"AAaA,uEAAuE;AACvE,wBAAgB,2BAA2B,CACzC,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAC7D,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,OAAO,CAGT;AA6BD,8DAA8D;AAC9D,wBAAsB,kBAAkB,CACtC,GAAG,GAAE,GAAoB,GACxB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAM5B;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C,CAAC;AAsBF;;GAEG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAU;IACrC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,eAAe,CAKrB;IACF,OAAO,CAAC,YAAY,CAKlB;IACF,OAAO,CAAC,YAAY,CAKlB;IACF,OAAO,CAAC,WAAW,CAAsD;IACzE,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,cAAc,CAKpB;IACF,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,QAAQ,CAAS;IACzB,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB,CAAgB;IAEzC,OAAO;IAsBP;;;OAGG;WACU,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAc/B,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IA2BhE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B1C,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBlE;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI;IAwB7D,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMrE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAcpC,IAAI,CAAC,KAAK,EAAE,gBAAgB;IA+C5B,OAAO,CAAC,aAAa,UAAQ;IA2B7B,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,cAAc;IAwCtB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,WAAW;CAGpB"}
|
|
@@ -5,5 +5,6 @@ export declare const CHANNEL_FORM_KEYS: readonly ["channel0", "channel1", "chann
|
|
|
5
5
|
export declare const FRAME_OUT_KEYS: readonly ["frameUrl", "snapshot"];
|
|
6
6
|
export declare function prefersReducedMotion(): boolean;
|
|
7
7
|
export declare function toNum(v: unknown, fallback: number): number;
|
|
8
|
+
/** string (url / #id) | MediaRef → url | { element }. */
|
|
8
9
|
export declare function channelFormValue(value: unknown): string | undefined;
|
|
9
10
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/webgpu/helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAE3C,eAAO,MAAM,aAAa,4DAMhB,CAAC;AAEX,eAAO,MAAM,cAAc,mDAAoD,CAAC;AAEhF,eAAO,MAAM,iBAAiB,2DAKpB,CAAC;AAEX,eAAO,MAAM,cAAc,mCAAoC,CAAC;AAEhE,wBAAgB,oBAAoB,IAAI,OAAO,CAK9C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/webgpu/helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAE3C,eAAO,MAAM,aAAa,4DAMhB,CAAC;AAEX,eAAO,MAAM,cAAc,mDAAoD,CAAC;AAEhF,eAAO,MAAM,iBAAiB,2DAKpB,CAAC;AAEX,eAAO,MAAM,cAAc,mCAAoC,CAAC;AAEhE,wBAAgB,oBAAoB,IAAI,OAAO,CAK9C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAYnE"}
|
|
@@ -57,6 +57,8 @@ export declare class SonicWebGpu extends LitElement {
|
|
|
57
57
|
raf: number;
|
|
58
58
|
startTime: number;
|
|
59
59
|
frame: number;
|
|
60
|
+
/** Contrat SonicFrameSource — incrémenté après chaque draw. */
|
|
61
|
+
frameSeq: number;
|
|
60
62
|
mouseVec: [number, number, number, number];
|
|
61
63
|
/** Cible normalisée (0–1, origine haut-gauche) depuis dataProvider — tracking / DP. */
|
|
62
64
|
remoteTarget: {
|
|
@@ -70,6 +72,7 @@ export declare class SonicWebGpu extends LitElement {
|
|
|
70
72
|
private resizeObserver;
|
|
71
73
|
private intersectionObserver;
|
|
72
74
|
private rebuildToken;
|
|
75
|
+
private frameConsumers;
|
|
73
76
|
ready: boolean;
|
|
74
77
|
/** Évite deux boots concurrents (IO + rAF) qui disposent le fallback. */
|
|
75
78
|
private boot;
|
|
@@ -96,7 +99,11 @@ export declare class SonicWebGpu extends LitElement {
|
|
|
96
99
|
private ensureCanvas;
|
|
97
100
|
/** Jette le canvas (verrouillé webgpu/webgl) et en crée un neuf. */
|
|
98
101
|
private replaceCanvas;
|
|
102
|
+
/** Résout `#id` dans getRootNode() puis document ; clés live `__sonic_frame_`. */
|
|
103
|
+
private lookupElement;
|
|
99
104
|
private releaseRuntime;
|
|
105
|
+
/** Enregistre les producteurs live pour play-offscreen auto. */
|
|
106
|
+
private syncFrameConsumers;
|
|
100
107
|
private rebuild;
|
|
101
108
|
private syncSize;
|
|
102
109
|
private syncVisibility;
|
|
@@ -105,6 +112,8 @@ export declare class SonicWebGpu extends LitElement {
|
|
|
105
112
|
private startLoop;
|
|
106
113
|
private stopLoop;
|
|
107
114
|
private maybePublishOut;
|
|
115
|
+
/** Contrat SonicFrameSource — canvas WebGPU / fallback. */
|
|
116
|
+
getFrameCanvas(): HTMLCanvasElement | null;
|
|
108
117
|
private revokeFrameUrl;
|
|
109
118
|
private onPointerMove;
|
|
110
119
|
private onPointerDown;
|
|
@@ -116,8 +125,9 @@ export declare class SonicWebGpu extends LitElement {
|
|
|
116
125
|
export type { SonicWebGpuBackend, SonicWebGpuBackendPrefer, SonicWebGpuConfig, SonicWebGpuKernel, SonicWebGpuOutput, } from "./types";
|
|
117
126
|
export { parseBackendPrefer, parseKernel, WebGpuCompileError } from "./types";
|
|
118
127
|
export { buildWgslSource, DEFAULT_MAIN_IMAGE } from "./wgsl-prelude";
|
|
119
|
-
export { WebGpuRuntime } from "./gpu-runtime";
|
|
128
|
+
export { WebGpuRuntime, channelTextureNeedsRecreate } from "./gpu-runtime";
|
|
120
129
|
export { WebGl2FallbackRuntime } from "./gl-fallback";
|
|
121
130
|
export { Canvas2dFallbackRuntime } from "./canvas2d-fallback";
|
|
122
131
|
export { ParticlesRuntime } from "./particles-runtime";
|
|
132
|
+
export { channelFormValue } from "./helpers";
|
|
123
133
|
//# sourceMappingURL=webgpu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpu.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/webgpu/webgpu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"webgpu.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/webgpu/webgpu.ts"],"names":[],"mappings":"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"}
|