@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.
Files changed (171) hide show
  1. package/build-infos.json +1 -1
  2. package/concorde-3d.bundle.js +201 -152
  3. package/concorde-3d.es.js +14621 -13823
  4. package/concorde-core.bundle.js +1 -1
  5. package/concorde-core.es.js +1 -1
  6. package/concorde-hugging-face-infer.bundle.js +1 -1
  7. package/concorde-hugging-face-infer.es.js +1 -1
  8. package/concorde-shader.bundle.js +31 -20
  9. package/concorde-shader.es.js +3236 -2865
  10. package/concorde-webgpu.bundle.js +43 -32
  11. package/concorde-webgpu.es.js +2977 -2618
  12. package/dist/concorde-3d.bundle.js +201 -152
  13. package/dist/concorde-3d.es.js +14621 -13823
  14. package/dist/concorde-core.bundle.js +1 -1
  15. package/dist/concorde-core.es.js +1 -1
  16. package/dist/concorde-hugging-face-infer.bundle.js +1 -1
  17. package/dist/concorde-hugging-face-infer.es.js +1 -1
  18. package/dist/concorde-shader.bundle.js +31 -20
  19. package/dist/concorde-shader.es.js +3236 -2865
  20. package/dist/concorde-webgpu.bundle.js +43 -32
  21. package/dist/concorde-webgpu.es.js +2977 -2618
  22. package/dist/js/core/components/functional/3d/3d.js +100 -2
  23. package/dist/js/core/components/functional/3d/3d.js.map +1 -1
  24. package/dist/js/core/components/functional/3d/constants.js +3 -0
  25. package/dist/js/core/components/functional/3d/constants.js.map +1 -1
  26. package/dist/js/core/components/functional/3d/ensure.js +6 -3
  27. package/dist/js/core/components/functional/3d/ensure.js.map +1 -1
  28. package/dist/js/core/components/functional/3d/form-params.js +2 -0
  29. package/dist/js/core/components/functional/3d/form-params.js.map +1 -1
  30. package/dist/js/core/components/functional/3d/frame-source.js +22 -0
  31. package/dist/js/core/components/functional/3d/frame-source.js.map +1 -0
  32. package/dist/js/core/components/functional/3d/life.js +2 -1
  33. package/dist/js/core/components/functional/3d/life.js.map +1 -1
  34. package/dist/js/core/components/functional/3d/out-publish.js +3 -2
  35. package/dist/js/core/components/functional/3d/out-publish.js.map +1 -1
  36. package/dist/js/core/components/functional/3d/playback.js +6 -1
  37. package/dist/js/core/components/functional/3d/playback.js.map +1 -1
  38. package/dist/js/core/components/functional/3d/post-bind.js +207 -0
  39. package/dist/js/core/components/functional/3d/post-bind.js.map +1 -0
  40. package/dist/js/core/components/functional/3d/post-channels.js +39 -0
  41. package/dist/js/core/components/functional/3d/post-channels.js.map +1 -0
  42. package/dist/js/core/components/functional/3d/post-fx.js +495 -0
  43. package/dist/js/core/components/functional/3d/post-fx.js.map +1 -0
  44. package/dist/js/core/components/functional/3d/props.js +142 -0
  45. package/dist/js/core/components/functional/3d/props.js.map +1 -1
  46. package/dist/js/core/components/functional/3d/reload.js +5 -0
  47. package/dist/js/core/components/functional/3d/reload.js.map +1 -1
  48. package/dist/js/core/components/functional/3d/runtime.js +80 -3
  49. package/dist/js/core/components/functional/3d/runtime.js.map +1 -1
  50. package/dist/js/core/components/functional/3d/scene-runtime.js +1 -1
  51. package/dist/js/core/components/functional/3d/scene-runtime.js.map +1 -1
  52. package/dist/js/core/components/functional/3d/tune.js +21 -0
  53. package/dist/js/core/components/functional/3d/tune.js.map +1 -1
  54. package/dist/js/core/components/functional/3d/updated.js +13 -1
  55. package/dist/js/core/components/functional/3d/updated.js.map +1 -1
  56. package/dist/js/core/components/functional/shader/gl-runtime.js +280 -31
  57. package/dist/js/core/components/functional/shader/gl-runtime.js.map +1 -1
  58. package/dist/js/core/components/functional/shader/shader.js +207 -61
  59. package/dist/js/core/components/functional/shader/shader.js.map +1 -1
  60. package/dist/js/core/components/functional/shader/shadertoy-prelude.js +39 -5
  61. package/dist/js/core/components/functional/shader/shadertoy-prelude.js.map +1 -1
  62. package/dist/js/core/components/functional/shader/types.js +58 -7
  63. package/dist/js/core/components/functional/shader/types.js.map +1 -1
  64. package/dist/js/core/components/functional/webgpu/gl-fallback.js +27 -6
  65. package/dist/js/core/components/functional/webgpu/gl-fallback.js.map +1 -1
  66. package/dist/js/core/components/functional/webgpu/gpu-runtime.js +115 -13
  67. package/dist/js/core/components/functional/webgpu/gpu-runtime.js.map +1 -1
  68. package/dist/js/core/components/functional/webgpu/helpers.js +8 -2
  69. package/dist/js/core/components/functional/webgpu/helpers.js.map +1 -1
  70. package/dist/js/core/components/functional/webgpu/webgpu.js +43 -1
  71. package/dist/js/core/components/functional/webgpu/webgpu.js.map +1 -1
  72. package/dist/js/core/utils/mediaRef.js +86 -0
  73. package/dist/js/core/utils/mediaRef.js.map +1 -1
  74. package/dist/types/core/components/functional/3d/3d.d.ts +31 -3
  75. package/dist/types/core/components/functional/3d/3d.d.ts.map +1 -1
  76. package/dist/types/core/components/functional/3d/constants.d.ts +1 -1
  77. package/dist/types/core/components/functional/3d/constants.d.ts.map +1 -1
  78. package/dist/types/core/components/functional/3d/ensure.d.ts +3 -0
  79. package/dist/types/core/components/functional/3d/ensure.d.ts.map +1 -1
  80. package/dist/types/core/components/functional/3d/form-params.d.ts.map +1 -1
  81. package/dist/types/core/components/functional/3d/frame-source.d.ts +23 -0
  82. package/dist/types/core/components/functional/3d/frame-source.d.ts.map +1 -0
  83. package/dist/types/core/components/functional/3d/life.d.ts +2 -0
  84. package/dist/types/core/components/functional/3d/life.d.ts.map +1 -1
  85. package/dist/types/core/components/functional/3d/out-publish.d.ts +1 -0
  86. package/dist/types/core/components/functional/3d/out-publish.d.ts.map +1 -1
  87. package/dist/types/core/components/functional/3d/playback.d.ts +9 -0
  88. package/dist/types/core/components/functional/3d/playback.d.ts.map +1 -1
  89. package/dist/types/core/components/functional/3d/post-bind.d.ts +52 -0
  90. package/dist/types/core/components/functional/3d/post-bind.d.ts.map +1 -0
  91. package/dist/types/core/components/functional/3d/post-channels.d.ts +40 -0
  92. package/dist/types/core/components/functional/3d/post-channels.d.ts.map +1 -0
  93. package/dist/types/core/components/functional/3d/post-fx.d.ts +73 -0
  94. package/dist/types/core/components/functional/3d/post-fx.d.ts.map +1 -0
  95. package/dist/types/core/components/functional/3d/props.d.ts +42 -0
  96. package/dist/types/core/components/functional/3d/props.d.ts.map +1 -1
  97. package/dist/types/core/components/functional/3d/reload.d.ts +3 -0
  98. package/dist/types/core/components/functional/3d/reload.d.ts.map +1 -1
  99. package/dist/types/core/components/functional/3d/runtime.d.ts +16 -1
  100. package/dist/types/core/components/functional/3d/runtime.d.ts.map +1 -1
  101. package/dist/types/core/components/functional/3d/scene-runtime.d.ts +1 -1
  102. package/dist/types/core/components/functional/3d/scene-runtime.d.ts.map +1 -1
  103. package/dist/types/core/components/functional/3d/tune.d.ts +5 -0
  104. package/dist/types/core/components/functional/3d/tune.d.ts.map +1 -1
  105. package/dist/types/core/components/functional/3d/types.d.ts +16 -0
  106. package/dist/types/core/components/functional/3d/types.d.ts.map +1 -1
  107. package/dist/types/core/components/functional/3d/updated.d.ts.map +1 -1
  108. package/dist/types/core/components/functional/shader/gl-runtime.d.ts +53 -2
  109. package/dist/types/core/components/functional/shader/gl-runtime.d.ts.map +1 -1
  110. package/dist/types/core/components/functional/shader/shader.d.ts +41 -9
  111. package/dist/types/core/components/functional/shader/shader.d.ts.map +1 -1
  112. package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts +16 -2
  113. package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts.map +1 -1
  114. package/dist/types/core/components/functional/shader/types.d.ts +35 -5
  115. package/dist/types/core/components/functional/shader/types.d.ts.map +1 -1
  116. package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts +4 -0
  117. package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts.map +1 -1
  118. package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts +14 -0
  119. package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts.map +1 -1
  120. package/dist/types/core/components/functional/webgpu/helpers.d.ts +1 -0
  121. package/dist/types/core/components/functional/webgpu/helpers.d.ts.map +1 -1
  122. package/dist/types/core/components/functional/webgpu/webgpu.d.ts +11 -1
  123. package/dist/types/core/components/functional/webgpu/webgpu.d.ts.map +1 -1
  124. package/dist/types/core/utils/mediaRef.d.ts +34 -0
  125. package/dist/types/core/utils/mediaRef.d.ts.map +1 -1
  126. package/package.json +49 -1
  127. package/src/core/components/functional/3d/3d.md +46 -3
  128. package/src/core/components/functional/3d/3d.spec.ts +42 -0
  129. package/src/core/components/functional/3d/3d.ts +112 -3
  130. package/src/core/components/functional/3d/constants.ts +3 -0
  131. package/src/core/components/functional/3d/ensure.ts +11 -3
  132. package/src/core/components/functional/3d/form-params.ts +2 -0
  133. package/src/core/components/functional/3d/frame-source.ts +30 -0
  134. package/src/core/components/functional/3d/life.ts +4 -1
  135. package/src/core/components/functional/3d/out-publish.ts +4 -3
  136. package/src/core/components/functional/3d/playback.ts +13 -1
  137. package/src/core/components/functional/3d/post-bind.ts +262 -0
  138. package/src/core/components/functional/3d/post-channels.spec.ts +36 -0
  139. package/src/core/components/functional/3d/post-channels.ts +69 -0
  140. package/src/core/components/functional/3d/post-fx.ts +594 -0
  141. package/src/core/components/functional/3d/props.ts +45 -0
  142. package/src/core/components/functional/3d/reload.ts +8 -0
  143. package/src/core/components/functional/3d/runtime.ts +93 -4
  144. package/src/core/components/functional/3d/scene-runtime.ts +3 -0
  145. package/src/core/components/functional/3d/tune.ts +21 -0
  146. package/src/core/components/functional/3d/types.ts +14 -0
  147. package/src/core/components/functional/3d/updated.ts +17 -1
  148. package/src/core/components/functional/shader/gl-runtime.ts +374 -36
  149. package/src/core/components/functional/shader/shader.md +36 -11
  150. package/src/core/components/functional/shader/shader.spec.ts +350 -3
  151. package/src/core/components/functional/shader/shader.ts +236 -59
  152. package/src/core/components/functional/shader/shadertoy-prelude.ts +49 -5
  153. package/src/core/components/functional/shader/types.ts +92 -13
  154. package/src/core/components/functional/webgpu/gl-fallback.ts +28 -4
  155. package/src/core/components/functional/webgpu/gpu-runtime.ts +154 -18
  156. package/src/core/components/functional/webgpu/helpers.ts +8 -2
  157. package/src/core/components/functional/webgpu/webgpu.md +13 -2
  158. package/src/core/components/functional/webgpu/webgpu.spec.ts +37 -0
  159. package/src/core/components/functional/webgpu/webgpu.ts +48 -1
  160. package/src/core/utils/mediaRef.spec.ts +61 -0
  161. package/src/core/utils/mediaRef.ts +108 -0
  162. package/src/docs/_misc/visual-stack.md +37 -3
  163. package/src/docs/components/docs-demo-sources.ts +42 -0
  164. package/src/docs/docs.ts +3 -0
  165. package/src/docs/example/docs-3d-post-depth-demo.ts +68 -0
  166. package/src/docs/example/docs-3d-shader-live-demo.ts +98 -0
  167. package/src/docs/example/docs-3d-webgpu-live-demo.ts +83 -0
  168. package/src/docs/example/docs-harris-webgpu-demo.ts +53 -55
  169. package/src/docs/search/docs-search.json +2583 -863
  170. package/src/tsconfig.json +36 -0
  171. package/src/tsconfig.tsbuildinfo +1 -1
@@ -6,15 +6,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { html } from "lit";
8
8
  import { customElement, state } from "lit/decorators.js";
9
+ import { ensure } from "./ensure";
9
10
  import { formBind } from "./form-bind";
10
11
  import { life } from "./life";
11
12
  import { outPublish } from "./out-publish";
13
+ import { postBind } from "./post-bind";
12
14
  import { playback } from "./playback";
13
15
  import { pointer } from "./pointer";
14
16
  import { Sonic3dProps } from "./props";
15
17
  import { sonic3dStyles } from "./styles";
16
18
  import { propUpdate } from "./updated";
17
19
  import { wire } from "./wire";
20
+ /** Frames sans mouvement avant `rest` / `moving=0`. */
21
+ const REST_STILL_FRAMES = 8;
18
22
  /**
19
23
  * Viewer 3D Concorde (Three.js) — glTF/GLB, caméra orbit/perspective/ortho,
20
24
  * outputs dataProvider paresseux. Opt-in : `@supersoniks/concorde/3d`.
@@ -46,7 +50,18 @@ let Sonic3d = class Sonic3d extends Sonic3dProps {
46
50
  this.snapshotBusy = false;
47
51
  this.frameUrls = [];
48
52
  this.snapshotSeq = 0;
53
+ /** Contrat SonicFrameSource — incrémenté après chaque render. */
54
+ this.frameSeq = 0;
55
+ this.lastDrawAt = 0;
49
56
  this.lastFormOrbit = null;
57
+ /** Consommateurs live (`registerFrameConsumer`). */
58
+ this.frameConsumers = new Set();
59
+ /** 1 si caméra en mouvement, 0 sinon (publié en out). */
60
+ this.moving = 0;
61
+ this.stillFrames = 0;
62
+ this.lastMotionYaw = NaN;
63
+ this.lastMotionPitch = NaN;
64
+ this.lastMotionDist = NaN;
50
65
  this.onFormMutation = () => {
51
66
  const data = (this.formPublisher?.get() ?? {});
52
67
  formBind.formParams.applyFormParams(this, data);
@@ -67,6 +82,9 @@ let Sonic3d = class Sonic3d extends Sonic3dProps {
67
82
  this.onPointerEnter = () => pointer.onEnter(this);
68
83
  this.onPointerLeave = () => pointer.onLeave(this);
69
84
  }
85
+ get frameConsumerCount() {
86
+ return this.frameConsumers.size;
87
+ }
70
88
  connectedCallback() {
71
89
  super.connectedCallback();
72
90
  // Lectures groupées : champs mutés via helpers (noUnusedLocals).
@@ -125,8 +143,86 @@ let Sonic3d = class Sonic3d extends Sonic3dProps {
125
143
  if (!this.runtime || !this.ready)
126
144
  return;
127
145
  this.frame++;
146
+ const time = (now - this.startTime) / 1000;
147
+ const timeDelta = Math.max(0, (now - this.lastDrawAt) / 1000);
148
+ this.lastDrawAt = now;
149
+ postBind.syncFrame(this, time, timeDelta, this.frame);
128
150
  this.runtime.render();
129
- outPublish.maybePublish(this, now, (now - this.startTime) / 1000);
151
+ this.frameSeq++;
152
+ this.trackMotion(time);
153
+ outPublish.maybePublish(this, now, time);
154
+ }
155
+ /**
156
+ * Enregistre un consommateur live (`sonic-shader` / `sonic-webgpu` via `#id`).
157
+ * Garde le RAF hors viewport tant qu’il reste au moins un token.
158
+ */
159
+ registerFrameConsumer(token = {}) {
160
+ this.frameConsumers.add(token);
161
+ ensure.syncVisibility(this);
162
+ }
163
+ unregisterFrameConsumer(token = {}) {
164
+ this.frameConsumers.delete(token);
165
+ ensure.syncVisibility(this);
166
+ }
167
+ /**
168
+ * Coupe `autoRotate` + inertie OrbitControls.
169
+ * Émet `rest` si la caméra était en mouvement.
170
+ */
171
+ stopMotion() {
172
+ this.autoRotate = false;
173
+ this.runtime?.stopMotion();
174
+ this.stillFrames = REST_STILL_FRAMES;
175
+ if (this.moving !== 0) {
176
+ this.moving = 0;
177
+ this.dispatchEvent(new CustomEvent("rest", {
178
+ detail: { moving: 0 },
179
+ bubbles: true,
180
+ composed: true,
181
+ }));
182
+ }
183
+ this.syncPlayback();
184
+ }
185
+ trackMotion(time) {
186
+ if (!this.runtime)
187
+ return;
188
+ const snap = this.runtime.snapshot({
189
+ time,
190
+ frame: this.frame,
191
+ hovering: this.hovering ? 1 : 0,
192
+ pointerX: this.pointerX,
193
+ pointerY: this.pointerY,
194
+ hit: this.lastHit,
195
+ });
196
+ const eps = 1e-5;
197
+ const still = Number.isFinite(this.lastMotionYaw) &&
198
+ Math.abs(snap.yaw - this.lastMotionYaw) < eps &&
199
+ Math.abs(snap.pitch - this.lastMotionPitch) < eps &&
200
+ Math.abs(snap.distance - this.lastMotionDist) < eps &&
201
+ !this.autoRotate;
202
+ this.lastMotionYaw = snap.yaw;
203
+ this.lastMotionPitch = snap.pitch;
204
+ this.lastMotionDist = snap.distance;
205
+ if (still) {
206
+ this.stillFrames++;
207
+ if (this.stillFrames >= REST_STILL_FRAMES && this.moving !== 0) {
208
+ this.moving = 0;
209
+ this.dispatchEvent(new CustomEvent("rest", {
210
+ detail: { moving: 0, yaw: snap.yaw, pitch: snap.pitch },
211
+ bubbles: true,
212
+ composed: true,
213
+ }));
214
+ }
215
+ }
216
+ else {
217
+ this.stillFrames = 0;
218
+ this.moving = 1;
219
+ }
220
+ }
221
+ /** Contrat SonicFrameSource — canvas Three (preserveDrawingBuffer). */
222
+ getFrameCanvas() {
223
+ if (!this.runtime || !this.ready)
224
+ return null;
225
+ return this.runtime.renderer.domElement;
130
226
  }
131
227
  render() {
132
228
  return html `
@@ -146,6 +242,8 @@ Sonic3d = __decorate([
146
242
  ], Sonic3d);
147
243
  export { Sonic3d };
148
244
  export { Sonic3dCameraMode } from "./constants";
149
- export { toMediaUrl, cloneMediaRef, } from "@supersoniks/concorde/core/utils/mediaRef";
245
+ export { toMediaUrl, cloneMediaRef, isFrameSource, isFrameConsumerHost, FrameConsumerRegistry, } from "@supersoniks/concorde/core/utils/mediaRef";
246
+ export { wantsOffscreenPlay } from "./playback";
150
247
  export { frameCapture } from "./frame-capture";
248
+ export { frameSource } from "./frame-source";
151
249
  //# sourceMappingURL=3d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"3d.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"3d.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/3d.ts"],"names":[],"mappings":"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"}
@@ -84,5 +84,8 @@ export const OUT_CONSUMER_KEYS = [
84
84
  /** Canvas → ObjectURL (SonicMediaRef) pour chaînage shader. */
85
85
  "frameUrl",
86
86
  "snapshot",
87
+ /** Pont live → sonic-shader (`{ element }`), publié une fois au ready. */
88
+ "frameSource",
89
+ "moving",
87
90
  ];
88
91
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/constants.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;CACN,CAAC;AAIX,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,wFAAwF;AACxF,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,sEAAsE;AACtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAC/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,gCAAgC;AAChC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,qEAAqE;AACrE,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;IACL,UAAU;IACV,YAAY;IACZ,aAAa;IACb,aAAa;IACb,UAAU;IACV,UAAU;IACV,UAAU;IACV,KAAK;IACL,OAAO;CACC,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;IACL,UAAU;IACV,YAAY;IACZ,aAAa;IACb,aAAa;IACb,UAAU;IACV,UAAU;CACF,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,aAAa;IACb,+DAA+D;IAC/D,UAAU;IACV,UAAU;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/constants.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;CACN,CAAC;AAIX,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,wFAAwF;AACxF,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,sEAAsE;AACtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAC/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,gCAAgC;AAChC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,qEAAqE;AACrE,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;IACL,UAAU;IACV,YAAY;IACZ,aAAa;IACb,aAAa;IACb,UAAU;IACV,UAAU;IACV,UAAU;IACV,KAAK;IACL,OAAO;CACC,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;IACL,UAAU;IACV,YAAY;IACZ,aAAa;IACb,aAAa;IACb,UAAU;IACV,UAAU;CACF,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,aAAa;IACb,+DAA+D;IAC/D,UAAU;IACV,UAAU;IACV,0EAA0E;IAC1E,aAAa;IACb,QAAQ;CACA,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { parse } from "./parse";
2
- import { playback } from "./playback";
2
+ import { playback, wantsOffscreenPlay } from "./playback";
3
3
  import { reload } from "./reload";
4
4
  import { SceneRuntime } from "./scene-runtime";
5
5
  function getCanvas(host) {
@@ -26,6 +26,7 @@ async function ensureRuntime(host) {
26
26
  minPolar: reload.degToRad(host.minPolar),
27
27
  maxPolar: reload.degToRad(host.maxPolar),
28
28
  });
29
+ host.runtime.setDamping(host.damping);
29
30
  reload.applyOrbitLimits(host);
30
31
  syncSize(host);
31
32
  await reload.run(host);
@@ -44,11 +45,13 @@ function releaseRuntime(host) {
44
45
  host.releasing = false;
45
46
  }
46
47
  function syncVisibility(host) {
47
- if (!host.inView && host.releaseOffscreen) {
48
+ const keepOffscreen = wantsOffscreenPlay(host);
49
+ if (!host.inView && host.releaseOffscreen && !keepOffscreen) {
48
50
  releaseRuntime(host);
49
51
  return;
50
52
  }
51
- if (host.inView && (!host.runtime || host.runtime.isLost)) {
53
+ if ((!host.runtime || host.runtime.isLost) &&
54
+ (host.inView || keepOffscreen || !host.releaseOffscreen)) {
52
55
  void ensureRuntime(host);
53
56
  return;
54
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ensure.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/ensure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/ensure.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { ORBIT_CHANGE_EPSILON } from "./constants";
2
2
  import { formFields } from "./form-fields";
3
3
  import { parse } from "./parse";
4
4
  import { playback } from "./playback";
5
+ import { postBind } from "./post-bind";
5
6
  import { reload } from "./reload";
6
7
  function orbitChanged(prev, next) {
7
8
  if (!prev)
@@ -60,6 +61,7 @@ function applyFormParams(host, data) {
60
61
  }
61
62
  formFields.pushToRuntime(host, data);
62
63
  applyFormOrbit(host, data);
64
+ postBind.applyFormPost(host, data);
63
65
  if (needReload)
64
66
  void reload.run(host);
65
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"form-params.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/form-params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-params.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/form-params.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { publisherFieldHasListener } from "./publisher-listen";
2
+ /**
3
+ * Publie `{ element: host }` une fois au ready si un lecteur écoute `frameSource`.
4
+ * Aucun coût pendant l’animation.
5
+ */
6
+ function maybePublish(host) {
7
+ if (!host.ready)
8
+ return;
9
+ if (!host.outPublisher)
10
+ host.bindOutPublisher();
11
+ const pub = host.outPublisher;
12
+ if (!pub || !publisherFieldHasListener(pub, "frameSource"))
13
+ return;
14
+ try {
15
+ pub.frameSource?.set({ element: host });
16
+ }
17
+ catch {
18
+ /* leaf manquant */
19
+ }
20
+ }
21
+ export const frameSource = { maybePublish };
22
+ //# sourceMappingURL=frame-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-source.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/frame-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAa/D;;;GAGG;AACH,SAAS,YAAY,CAAC,IAA+B;IACnD,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO;IACxB,IAAI,CAAC,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,aAAa,CAAC;QAAE,OAAO;IACnE,IAAI,CAAC;QACH,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,mBAAmB;IACrB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,YAAY,EAAW,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { PublisherManager } from "@supersoniks/concorde/utils";
2
2
  import { ensure } from "./ensure";
3
3
  import { formBind } from "./form-bind";
4
+ import { wantsOffscreenPlay } from "./playback";
4
5
  function applyAspectRatio(host) {
5
6
  const forced = host.aspectRatio.trim();
6
7
  if (forced) {
@@ -40,7 +41,7 @@ function firstUpdated(host) {
40
41
  bindFormProvider(host);
41
42
  bindOutPublisher(host);
42
43
  requestAnimationFrame(() => {
43
- if (host.inView || !host.releaseOffscreen) {
44
+ if (host.inView || !host.releaseOffscreen || wantsOffscreenPlay(host)) {
44
45
  void ensure.ensureRuntime(host);
45
46
  }
46
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"life.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/life.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"life.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/life.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ function shouldSkipFormControlOutWrite(host, key) {
27
27
  return true;
28
28
  }
29
29
  function buildOutput(host, time) {
30
- return (host.runtime?.snapshot({
30
+ const base = host.runtime?.snapshot({
31
31
  time,
32
32
  frame: host.frame,
33
33
  hovering: host.hovering ? 1 : 0,
@@ -53,7 +53,8 @@ function buildOutput(host, time) {
53
53
  distance: 0,
54
54
  yaw: 0,
55
55
  pitch: 0,
56
- });
56
+ };
57
+ return { ...base, moving: host.moving };
57
58
  }
58
59
  function writePayload(host, payload) {
59
60
  const pub = host.outPublisher;
@@ -1 +1 @@
1
- {"version":3,"file":"out-publish.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/out-publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"out-publish.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/out-publish.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAiC/D,SAAS,eAAe,CAAC,IAAoB;IAC3C,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,IAAI,yBAAyB,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,6BAA6B,CACpC,IAAoB,EACpB,GAAW;IAEX,IAAI,CAAE,oBAA0C,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,IAAoB,EAAE,IAAY;IACrD,MAAM,IAAI,GACR,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;QACrB,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,EAAE,IAAI,CAAC,OAAO;KAClB,CAAC,IAAI;QACJ,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;KACT,CAAC;IACJ,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,YAAY,CAAC,IAAoB,EAAE,OAAsB;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,6BAA6B,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,SAAS;QACvD,sDAAsD;QACtD,IAAK,YAAY,CAAC,UAAgC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAC3E,IAAI,CAAC;YACF,GAAqD,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,mBAAmB;QACrB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAoB,EAAE,GAAW,EAAE,IAAY;IACnE,IAAI,CAAC,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,mBAAmB,EACnB,IAAI,CAAC,WAAW,IAAI,uBAAuB,CAC5C,CAAC;IACF,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,YAAY,GAAoB;YACpC,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,eAAe;IACf,YAAY;IACZ,WAAW;IACX,6BAA6B;CACrB,CAAC"}
@@ -1,3 +1,7 @@
1
+ /** Hors écran : jouer si `play-offscreen` ou au moins un consommateur live. */
2
+ export function wantsOffscreenPlay(host) {
3
+ return !!host.playOffscreen || host.frameConsumerCount > 0;
4
+ }
1
5
  function prefersReducedMotion() {
2
6
  return (typeof matchMedia === "function" &&
3
7
  matchMedia("(prefers-reduced-motion: reduce)").matches);
@@ -7,7 +11,7 @@ function shouldAnimate(host) {
7
11
  return false;
8
12
  if (!host.ready)
9
13
  return false;
10
- if (!host.inView)
14
+ if (!host.inView && !wantsOffscreenPlay(host))
11
15
  return false;
12
16
  if (!host.runtime)
13
17
  return false;
@@ -49,6 +53,7 @@ function syncPlayback(host, loop) {
49
53
  export const playback = {
50
54
  prefersReducedMotion,
51
55
  shouldAnimate,
56
+ wantsOffscreenPlay,
52
57
  syncAutoRotate,
53
58
  syncPlayback,
54
59
  stopLoop,
@@ -1 +1 @@
1
- {"version":3,"file":"playback.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/playback.ts"],"names":[],"mappings":"AAcA,SAAS,oBAAoB;IAC3B,OAAO,CACL,OAAO,UAAU,KAAK,UAAU;QAChC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CACvD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAkB;IACvC,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,oBAAoB,EAAE;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,IAAkB;IACxC,MAAM,EAAE,GACN,IAAI,CAAC,UAAU;QACf,IAAI,CAAC,IAAI;QACT,CAAC,oBAAoB,EAAE;QACvB,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAkB;IAClC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAkB,EAAE,IAAgB;IACrD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAkB,EAAE,IAAgB;IACxD,cAAc,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,oBAAoB;IACpB,aAAa;IACb,cAAc;IACd,YAAY;IACZ,QAAQ;CACA,CAAC"}
1
+ {"version":3,"file":"playback.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/playback.ts"],"names":[],"mappings":"AAiBA,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,IAGlC;IACC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,CACL,OAAO,UAAU,KAAK,UAAU;QAChC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CACvD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAkB;IACvC,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,oBAAoB,EAAE;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,IAAkB;IACxC,MAAM,EAAE,GACN,IAAI,CAAC,UAAU;QACf,IAAI,CAAC,IAAI;QACT,CAAC,oBAAoB,EAAE;QACvB,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAkB;IAClC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAkB,EAAE,IAAgB;IACrD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAkB,EAAE,IAAgB;IACxD,cAAc,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,oBAAoB;IACpB,aAAa;IACb,kBAAkB;IAClB,cAAc;IACd,YAAY;IACZ,QAAQ;CACA,CAAC"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * Construit la config PostFx depuis les props Lit / form DP.
3
+ */
4
+ import { lookupLiveElement } from "@supersoniks/concorde/core/utils/mediaRef";
5
+ import { clampPostScale, parsePostChannelSource, } from "./post-channels";
6
+ const POST_PROP_KEYS = [
7
+ "postImage",
8
+ "postBufferA",
9
+ "postBufferB",
10
+ "postBufferC",
11
+ "postBufferD",
12
+ "postCommon",
13
+ "postImageCh0",
14
+ "postImageCh1",
15
+ "postImageCh2",
16
+ "postImageCh3",
17
+ "postBufferACh0",
18
+ "postBufferACh1",
19
+ "postBufferACh2",
20
+ "postBufferACh3",
21
+ "postBufferBCh0",
22
+ "postBufferBCh1",
23
+ "postBufferBCh2",
24
+ "postBufferBCh3",
25
+ "postBufferCCh0",
26
+ "postBufferCCh1",
27
+ "postBufferCCh2",
28
+ "postBufferCCh3",
29
+ "postBufferDCh0",
30
+ "postBufferDCh1",
31
+ "postBufferDCh2",
32
+ "postBufferDCh3",
33
+ "postScale",
34
+ ];
35
+ function buildChannels(host, pass) {
36
+ const fallbacks = ["", "", "", ""];
37
+ // image defaults ch0=scene via parse empty+slot0
38
+ let overrides = ["", "", "", ""];
39
+ if (pass === "image") {
40
+ overrides = [
41
+ host.postImageCh0,
42
+ host.postImageCh1,
43
+ host.postImageCh2,
44
+ host.postImageCh3,
45
+ ];
46
+ }
47
+ else if (pass === "bufferA") {
48
+ overrides = [
49
+ host.postBufferACh0,
50
+ host.postBufferACh1,
51
+ host.postBufferACh2,
52
+ host.postBufferACh3,
53
+ ];
54
+ }
55
+ else if (pass === "bufferB") {
56
+ overrides = [
57
+ host.postBufferBCh0,
58
+ host.postBufferBCh1,
59
+ host.postBufferBCh2,
60
+ host.postBufferBCh3,
61
+ ];
62
+ }
63
+ else if (pass === "bufferC") {
64
+ overrides = [
65
+ host.postBufferCCh0,
66
+ host.postBufferCCh1,
67
+ host.postBufferCCh2,
68
+ host.postBufferCCh3,
69
+ ];
70
+ }
71
+ else {
72
+ overrides = [
73
+ host.postBufferDCh0,
74
+ host.postBufferDCh1,
75
+ host.postBufferDCh2,
76
+ host.postBufferDCh3,
77
+ ];
78
+ }
79
+ return [0, 1, 2, 3].map((i) => parsePostChannelSource(overrides[i], fallbacks[i], i));
80
+ }
81
+ function buildConfig(host) {
82
+ if (!host.postImage.trim())
83
+ return null;
84
+ const sources = {
85
+ common: host.postCommon,
86
+ image: host.postImage,
87
+ bufferA: host.postBufferA,
88
+ bufferB: host.postBufferB,
89
+ bufferC: host.postBufferC,
90
+ bufferD: host.postBufferD,
91
+ };
92
+ const channels = new Map();
93
+ for (const pass of [
94
+ "bufferA",
95
+ "bufferB",
96
+ "bufferC",
97
+ "bufferD",
98
+ "image",
99
+ ]) {
100
+ channels.set(pass, buildChannels(host, pass));
101
+ }
102
+ return {
103
+ sources,
104
+ channels,
105
+ scale: clampPostScale(host.postScale),
106
+ };
107
+ }
108
+ function lookupElement(host, key) {
109
+ if (!key.startsWith("#"))
110
+ return null;
111
+ const live = lookupLiveElement(key);
112
+ if (live)
113
+ return live;
114
+ const id = key.slice(1);
115
+ if (!id || id.startsWith("__sonic_frame_"))
116
+ return null;
117
+ const root = host.getRootNode();
118
+ if (root instanceof Document || root instanceof ShadowRoot) {
119
+ const el = root.getElementById(id);
120
+ if (el)
121
+ return el;
122
+ }
123
+ return typeof document !== "undefined" ? document.getElementById(id) : null;
124
+ }
125
+ function applyConfig(host) {
126
+ if (!host.runtime)
127
+ return;
128
+ host.runtime.setPostElementResolver((key) => lookupElement(host, key));
129
+ try {
130
+ host.runtime.setPostConfig(buildConfig(host));
131
+ if (host.errorMessage.startsWith("Post FX"))
132
+ host.errorMessage = "";
133
+ }
134
+ catch (err) {
135
+ const message = err instanceof Error ? err.message : String(err);
136
+ host.errorMessage = `Post FX: ${message}`;
137
+ const pass = err && typeof err === "object" && "pass" in err
138
+ ? String(err.pass)
139
+ : "image";
140
+ const infoLog = err && typeof err === "object" && "infoLog" in err
141
+ ? String(err.infoLog)
142
+ : "";
143
+ host.dispatchEvent(new CustomEvent("error", {
144
+ detail: { message, pass, infoLog },
145
+ bubbles: true,
146
+ composed: true,
147
+ }));
148
+ try {
149
+ host.runtime.setPostConfig(null);
150
+ }
151
+ catch {
152
+ /* ignore */
153
+ }
154
+ }
155
+ }
156
+ function syncFrame(host, time, timeDelta, frame, mouse = [0, 0, 0, 0]) {
157
+ host.runtime?.setPostFrame({
158
+ time,
159
+ timeDelta,
160
+ frame,
161
+ mouse,
162
+ params: [host.param0, host.param1, host.param2, host.param3],
163
+ });
164
+ }
165
+ function propsChanged(changed) {
166
+ return POST_PROP_KEYS.some((k) => changed.has(k));
167
+ }
168
+ /** Applique param0…3 + post* depuis un DP form. */
169
+ function applyFormPost(host, data) {
170
+ let touched = false;
171
+ for (const k of ["param0", "param1", "param2", "param3"]) {
172
+ if (k in data && typeof data[k] === "number") {
173
+ host[k] = data[k];
174
+ touched = true;
175
+ }
176
+ else if (k in data && typeof data[k] === "string") {
177
+ const n = Number(data[k]);
178
+ if (Number.isFinite(n)) {
179
+ host[k] = n;
180
+ touched = true;
181
+ }
182
+ }
183
+ }
184
+ for (const k of POST_PROP_KEYS) {
185
+ if (!(k in data))
186
+ continue;
187
+ const v = data[k];
188
+ if (k === "postScale" && (typeof v === "number" || typeof v === "string")) {
189
+ host.postScale = clampPostScale(Number(v));
190
+ touched = true;
191
+ }
192
+ else if (typeof v === "string") {
193
+ host[k] = v;
194
+ touched = true;
195
+ }
196
+ }
197
+ if (touched)
198
+ applyConfig(host);
199
+ }
200
+ export const postBind = {
201
+ applyConfig,
202
+ syncFrame,
203
+ propsChanged,
204
+ applyFormPost,
205
+ POST_PROP_KEYS,
206
+ };
207
+ //# sourceMappingURL=post-bind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-bind.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/post-bind.ts"],"names":[],"mappings":"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"}