@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
@@ -9,7 +9,7 @@ import type { SceneRuntime } from "./scene-runtime";
9
9
  */
10
10
  export declare class Sonic3d extends Sonic3dProps {
11
11
  static styles: import("lit").CSSResult;
12
- private errorMessage;
12
+ errorMessage: string;
13
13
  /** État runtime partagé avec les helpers (lu ici pour noUnusedLocals). */
14
14
  runtime: SceneRuntime | null;
15
15
  raf: number;
@@ -33,7 +33,19 @@ export declare class Sonic3d extends Sonic3dProps {
33
33
  snapshotBusy: boolean;
34
34
  frameUrls: string[];
35
35
  snapshotSeq: number;
36
+ /** Contrat SonicFrameSource — incrémenté après chaque render. */
37
+ frameSeq: number;
38
+ lastDrawAt: number;
36
39
  lastFormOrbit: FormOrbit | null;
40
+ /** Consommateurs live (`registerFrameConsumer`). */
41
+ private frameConsumers;
42
+ /** 1 si caméra en mouvement, 0 sinon (publié en out). */
43
+ moving: number;
44
+ private stillFrames;
45
+ private lastMotionYaw;
46
+ private lastMotionPitch;
47
+ private lastMotionDist;
48
+ get frameConsumerCount(): number;
37
49
  onFormMutation: () => void;
38
50
  connectedCallback(): void;
39
51
  addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void;
@@ -46,6 +58,20 @@ export declare class Sonic3d extends Sonic3dProps {
46
58
  bindOutPublisher: () => void;
47
59
  private loop;
48
60
  private drawFrame;
61
+ /**
62
+ * Enregistre un consommateur live (`sonic-shader` / `sonic-webgpu` via `#id`).
63
+ * Garde le RAF hors viewport tant qu’il reste au moins un token.
64
+ */
65
+ registerFrameConsumer(token?: object): void;
66
+ unregisterFrameConsumer(token?: object): void;
67
+ /**
68
+ * Coupe `autoRotate` + inertie OrbitControls.
69
+ * Émet `rest` si la caméra était en mouvement.
70
+ */
71
+ stopMotion(): void;
72
+ private trackMotion;
73
+ /** Contrat SonicFrameSource — canvas Three (preserveDrawingBuffer). */
74
+ getFrameCanvas(): HTMLCanvasElement | null;
49
75
  onPointerMove: (e: PointerEvent) => void;
50
76
  onPointerDown: (e: PointerEvent) => void;
51
77
  onDblClick: () => void;
@@ -55,9 +81,11 @@ export declare class Sonic3d extends Sonic3dProps {
55
81
  }
56
82
  export { Sonic3dCameraMode } from "./constants";
57
83
  export type { Sonic3dAsset, Sonic3dConfig, Sonic3dOutput, } from "./types";
58
- export type { SonicMediaRef } from "@supersoniks/concorde/core/utils/mediaRef";
59
- export { toMediaUrl, cloneMediaRef, } from "@supersoniks/concorde/core/utils/mediaRef";
84
+ export type { SonicMediaRef, SonicFrameSource, SonicFrameConsumerHost } from "@supersoniks/concorde/core/utils/mediaRef";
85
+ export { toMediaUrl, cloneMediaRef, isFrameSource, isFrameConsumerHost, FrameConsumerRegistry, } from "@supersoniks/concorde/core/utils/mediaRef";
86
+ export { wantsOffscreenPlay } from "./playback";
60
87
  export { frameCapture } from "./frame-capture";
88
+ export { frameSource } from "./frame-source";
61
89
  declare global {
62
90
  interface HTMLElementTagNameMap {
63
91
  "sonic-3d": Sonic3d;
@@ -1 +1 @@
1
- {"version":3,"file":"3d.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/3d.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKpD;;;GAGG;AACH,qBACa,OAAQ,SAAQ,YAAY;IACvC,MAAM,CAAC,MAAM,0BAAiB;IAErB,OAAO,CAAC,YAAY,CAAM;IAEnC,0EAA0E;IAC1E,OAAO,EAAE,YAAY,GAAG,IAAI,CAAQ;IACpC,GAAG,SAAK;IACR,SAAS,SAAK;IACd,KAAK,SAAK;IACV,QAAQ,UAAS;IACjB,QAAQ,SAAO;IACf,QAAQ,SAAO;IACf,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAChC,iBAAiB,SAAK;IACtB,MAAM,UAAQ;IACd,KAAK,UAAS;IACd,SAAS,UAAS;IAClB,SAAS,SAAK;IACd,cAAc,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC7C,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IACzD,aAAa,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IACrE,YAAY,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IACpE,SAAS,SAAK;IACd,cAAc,SAAK;IACnB,YAAY,UAAS;IACrB,SAAS,EAAE,MAAM,EAAE,CAAM;IACzB,WAAW,SAAK;IAChB,aAAa,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEvC,cAAc,aAGZ;IAEF,iBAAiB;IAkCR,gBAAgB,CACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI;IAKE,mBAAmB,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI;IAOP,oBAAoB;IAKpB,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC;IAIjE,cAAc,aAAgD;IAC9D,YAAY,aAAyD;IACrE,gBAAgB,aAA8C;IAE9D,OAAO,CAAC,IAAI,CAMV;IAEF,OAAO,CAAC,SAAS;IAOjB,aAAa,GAAI,GAAG,YAAY,UAAsC;IACtE,aAAa,GAAI,GAAG,YAAY,UAAsC;IACtE,UAAU,aAA2C;IACrD,cAAc,aAAwC;IACtD,cAAc,aAAwC;IAEtD,MAAM;CAQP;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EACL,UAAU,EACV,aAAa,GACd,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
1
+ {"version":3,"file":"3d.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/3d.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAIvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOpD;;;GAGG;AACH,qBACa,OAAQ,SAAQ,YAAY;IACvC,MAAM,CAAC,MAAM,0BAAiB;IAErB,YAAY,SAAM;IAE3B,0EAA0E;IAC1E,OAAO,EAAE,YAAY,GAAG,IAAI,CAAQ;IACpC,GAAG,SAAK;IACR,SAAS,SAAK;IACd,KAAK,SAAK;IACV,QAAQ,UAAS;IACjB,QAAQ,SAAO;IACf,QAAQ,SAAO;IACf,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAChC,iBAAiB,SAAK;IACtB,MAAM,UAAQ;IACd,KAAK,UAAS;IACd,SAAS,UAAS;IAClB,SAAS,SAAK;IACd,cAAc,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC7C,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IACzD,aAAa,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IACrE,YAAY,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IACpE,SAAS,SAAK;IACd,cAAc,SAAK;IACnB,YAAY,UAAS;IACrB,SAAS,EAAE,MAAM,EAAE,CAAM;IACzB,WAAW,SAAK;IAChB,iEAAiE;IACjE,QAAQ,SAAK;IACb,UAAU,SAAK;IACf,aAAa,EAAE,SAAS,GAAG,IAAI,CAAQ;IACvC,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAqB;IAC3C,yDAAyD;IACzD,MAAM,SAAK;IACX,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAO;IAC5B,OAAO,CAAC,eAAe,CAAO;IAC9B,OAAO,CAAC,cAAc,CAAO;IAE7B,IAAI,kBAAkB,WAErB;IAED,cAAc,aAGZ;IAEF,iBAAiB;IAkCR,gBAAgB,CACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI;IAKE,mBAAmB,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI;IAOP,oBAAoB;IAKpB,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC;IAIjE,cAAc,aAAgD;IAC9D,YAAY,aAAyD;IACrE,gBAAgB,aAA8C;IAE9D,OAAO,CAAC,IAAI,CAMV;IAEF,OAAO,CAAC,SAAS;IAajB;;;OAGG;IACH,qBAAqB,CAAC,KAAK,GAAE,MAAW;IAKxC,uBAAuB,CAAC,KAAK,GAAE,MAAW;IAK1C;;;OAGG;IACH,UAAU;IAiBV,OAAO,CAAC,WAAW;IAsCnB,uEAAuE;IACvE,cAAc,IAAI,iBAAiB,GAAG,IAAI;IAK1C,aAAa,GAAI,GAAG,YAAY,UAAsC;IACtE,aAAa,GAAI,GAAG,YAAY,UAAsC;IACtE,UAAU,aAA2C;IACrD,cAAc,aAAwC;IACtD,cAAc,aAAwC;IAEtD,MAAM;CAQP;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACzH,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
@@ -38,6 +38,6 @@ export declare const FORM_INPUT_ONLY_KEYS: readonly ["src", "asset", "camera", "
38
38
  * yaw / pitch / distance exclus : un `sonic-input name="yaw"` ne doit pas
39
39
  * activer la pub télémétrie (sinon boucle form ↔ out).
40
40
  */
41
- export declare const OUT_CONSUMER_KEYS: readonly ["time", "frame", "ready", "loading", "hovering", "pointerX", "pointerY", "camX", "camY", "camZ", "targetX", "targetY", "targetZ", "zoom", "hitX", "hitY", "hitZ", "hitObjectId", "frameUrl", "snapshot"];
41
+ export declare const OUT_CONSUMER_KEYS: readonly ["time", "frame", "ready", "loading", "hovering", "pointerX", "pointerY", "camX", "camY", "camZ", "targetX", "targetY", "targetZ", "zoom", "hitX", "hitY", "hitZ", "hitObjectId", "frameUrl", "snapshot", "frameSource", "moving"];
42
42
  export type Sonic3dFormControlKey = (typeof FORM_CONTROL_KEYS)[number];
43
43
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/constants.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE7D,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,SAAO,CAAC;AAEzC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,wFAAwF;AACxF,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,gCAAgC;AAChC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,qEAAqE;AACrE,eAAO,MAAM,qBAAqB,QACO,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,iBAAiB,wJAcpB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,oBAAoB,4HAWvB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,oNAsBpB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/constants.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE7D,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,SAAO,CAAC;AAEzC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,wFAAwF;AACxF,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,gCAAgC;AAChC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,qEAAqE;AACrE,eAAO,MAAM,qBAAqB,QACO,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,iBAAiB,wJAcpB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,oBAAoB,4HAWvB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,6OAyBpB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -12,10 +12,13 @@ export type EnsureHost = {
12
12
  maxDistance: number;
13
13
  minPolar: number;
14
14
  maxPolar: number;
15
+ damping: number;
15
16
  loadToken: number;
16
17
  ready: boolean;
17
18
  inView: boolean;
18
19
  releaseOffscreen: boolean;
20
+ playOffscreen: boolean;
21
+ frameConsumerCount: number;
19
22
  getBoundingClientRect: () => DOMRect;
20
23
  clientWidth: number;
21
24
  clientHeight: number;
@@ -1 +1 @@
1
- {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/ensure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,MAAM,OAAO,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AASF,iBAAe,aAAa,CAAC,IAAI,EAAE,UAAU,iBAwB5C;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,UAAU,QAQvC;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,UAAU,QAUvC;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,UAAU,QAOjC;AAED,eAAO,MAAM,MAAM;;;;;CAKT,CAAC"}
1
+ {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/ensure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,OAAO,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AASF,iBAAe,aAAa,CAAC,IAAI,EAAE,UAAU,iBAyB5C;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,UAAU,QAQvC;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,UAAU,QAcvC;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,UAAU,QAOjC;AAED,eAAO,MAAM,MAAM;;;;;CAKT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-params.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/form-params.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,4DAA4D;AAC5D,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;CACjC,CAAC;AAoCF,iBAAS,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAaxE;AAED;;GAEG;AACH,iBAAS,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAYzE;AAED,eAAO,MAAM,UAAU;;;CAA+C,CAAC"}
1
+ {"version":3,"file":"form-params.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/form-params.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,4DAA4D;AAC5D,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;CACjC,CAAC;AAoCF,iBAAS,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAaxE;AAED;;GAEG;AACH,iBAAS,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAazE;AAED,eAAO,MAAM,UAAU;;;CAA+C,CAAC"}
@@ -0,0 +1,23 @@
1
+ type OutPublisherLike = {
2
+ _proxies_?: Map<string, {
3
+ hasListener?: () => boolean;
4
+ }>;
5
+ frameSource?: {
6
+ set: (v: unknown) => void;
7
+ };
8
+ };
9
+ export type FrameSourceHost = {
10
+ outPublisher: OutPublisherLike | null;
11
+ bindOutPublisher: () => void;
12
+ ready: boolean;
13
+ };
14
+ /**
15
+ * Publie `{ element: host }` une fois au ready si un lecteur écoute `frameSource`.
16
+ * Aucun coût pendant l’animation.
17
+ */
18
+ declare function maybePublish(host: FrameSourceHost & Element): void;
19
+ export declare const frameSource: {
20
+ readonly maybePublish: typeof maybePublish;
21
+ };
22
+ export {};
23
+ //# sourceMappingURL=frame-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-source.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/frame-source.ts"],"names":[],"mappings":"AAEA,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;KAAE,CAAC,CAAC;IACzD,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,iBAAS,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,QAUpD;AAED,eAAO,MAAM,WAAW;;CAA4B,CAAC"}
@@ -6,6 +6,8 @@ export type LifeHost = {
6
6
  dataProvider: string;
7
7
  outDataProvider: string;
8
8
  releaseOffscreen: boolean;
9
+ playOffscreen: boolean;
10
+ frameConsumerCount: number;
9
11
  inView: boolean;
10
12
  runtime: SceneRuntime | null;
11
13
  camera: string;
@@ -1 +1 @@
1
- {"version":3,"file":"life.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/life.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,wDAAwD;AACxD,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,aAAa,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9D,YAAY,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7D,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,QAUvC;AAED,iBAAS,kBAAkB,CAAC,IAAI,EAAE,QAAQ,QAKzC;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,QAUvC;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,QAOvC;AAED,iBAAS,YAAY,CAAC,IAAI,EAAE,QAAQ,QAqBnC;AAED,eAAO,MAAM,IAAI;;;;;;CAMP,CAAC"}
1
+ {"version":3,"file":"life.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/life.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAI/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,wDAAwD;AACxD,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,aAAa,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9D,YAAY,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7D,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,QAUvC;AAED,iBAAS,kBAAkB,CAAC,IAAI,EAAE,QAAQ,QAKzC;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,QAUvC;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,QAOvC;AAED,iBAAS,YAAY,CAAC,IAAI,EAAE,QAAQ,QAqBnC;AAED,eAAO,MAAM,IAAI;;;;;;CAMP,CAAC"}
@@ -25,6 +25,7 @@ export type OutPublishHost = {
25
25
  pointerY: number;
26
26
  lastHit: SceneHit | null;
27
27
  fov: number;
28
+ moving: number;
28
29
  formPublisher: OutPublisherLike | null;
29
30
  bindOutPublisher: () => void;
30
31
  dispatchEvent: (event: Event) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"out-publish.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/out-publish.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;KAAE,CAAC,CAAC;IACzD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CAC1C,CAAC;AAEF,iBAAS,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAQtD;AAED;;;GAGG;AACH,iBAAS,6BAA6B,CACpC,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAMT;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CA8BtE;AAkBD,iBAAS,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAmBpE;AAED,eAAO,MAAM,UAAU;;;;;CAKb,CAAC"}
1
+ {"version":3,"file":"out-publish.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/out-publish.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;KAAE,CAAC,CAAC;IACzD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CAC1C,CAAC;AAEF,iBAAS,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAQtD;AAED;;;GAGG;AACH,iBAAS,6BAA6B,CACpC,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAMT;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CA8BtE;AAkBD,iBAAS,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAmBpE;AAED,eAAO,MAAM,UAAU;;;;;CAKb,CAAC"}
@@ -7,9 +7,17 @@ export type PlaybackHost = {
7
7
  playOnHover: boolean;
8
8
  hovering: boolean;
9
9
  autoRotate: boolean;
10
+ playOffscreen: boolean;
11
+ /** Nombre de consommateurs live (`registerFrameConsumer`). */
12
+ frameConsumerCount: number;
10
13
  raf: number;
11
14
  drawFrame: (now: number) => void;
12
15
  };
16
+ /** Hors écran : jouer si `play-offscreen` ou au moins un consommateur live. */
17
+ export declare function wantsOffscreenPlay(host: {
18
+ playOffscreen: boolean;
19
+ frameConsumerCount: number;
20
+ }): boolean;
13
21
  declare function prefersReducedMotion(): boolean;
14
22
  declare function shouldAnimate(host: PlaybackHost): boolean;
15
23
  declare function syncAutoRotate(host: PlaybackHost): void;
@@ -18,6 +26,7 @@ declare function syncPlayback(host: PlaybackHost, loop: () => void): void;
18
26
  export declare const playback: {
19
27
  readonly prefersReducedMotion: typeof prefersReducedMotion;
20
28
  readonly shouldAnimate: typeof shouldAnimate;
29
+ readonly wantsOffscreenPlay: typeof wantsOffscreenPlay;
21
30
  readonly syncAutoRotate: typeof syncAutoRotate;
22
31
  readonly syncPlayback: typeof syncPlayback;
23
32
  readonly stopLoop: typeof stopLoop;
@@ -1 +1 @@
1
- {"version":3,"file":"playback.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/playback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,iBAAS,oBAAoB,IAAI,OAAO,CAKvC;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAQlD;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,YAAY,QAOzC;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,YAAY,QAKnC;AAQD,iBAAS,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,QAQzD;AAED,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC"}
1
+ {"version":3,"file":"playback.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/playback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAEV;AAED,iBAAS,oBAAoB,IAAI,OAAO,CAKvC;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAQlD;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,YAAY,QAOzC;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,YAAY,QAKnC;AAQD,iBAAS,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,QAQzD;AAED,eAAO,MAAM,QAAQ;;;;;;;CAOX,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { SceneRuntime } from "./runtime";
2
+ export type PostBindHost = {
3
+ postImage: string;
4
+ postBufferA: string;
5
+ postBufferB: string;
6
+ postBufferC: string;
7
+ postBufferD: string;
8
+ postCommon: string;
9
+ postImageCh0: string;
10
+ postImageCh1: string;
11
+ postImageCh2: string;
12
+ postImageCh3: string;
13
+ postBufferACh0: string;
14
+ postBufferACh1: string;
15
+ postBufferACh2: string;
16
+ postBufferACh3: string;
17
+ postBufferBCh0: string;
18
+ postBufferBCh1: string;
19
+ postBufferBCh2: string;
20
+ postBufferBCh3: string;
21
+ postBufferCCh0: string;
22
+ postBufferCCh1: string;
23
+ postBufferCCh2: string;
24
+ postBufferCCh3: string;
25
+ postBufferDCh0: string;
26
+ postBufferDCh1: string;
27
+ postBufferDCh2: string;
28
+ postBufferDCh3: string;
29
+ postScale: number;
30
+ param0: number;
31
+ param1: number;
32
+ param2: number;
33
+ param3: number;
34
+ runtime: SceneRuntime | null;
35
+ errorMessage: string;
36
+ getRootNode: () => Node;
37
+ dispatchEvent: (event: Event) => boolean;
38
+ };
39
+ declare function applyConfig(host: PostBindHost): void;
40
+ declare function syncFrame(host: PostBindHost, time: number, timeDelta: number, frame: number, mouse?: [number, number, number, number]): void;
41
+ declare function propsChanged(changed: Map<string | number | symbol, unknown>): boolean;
42
+ /** Applique param0…3 + post* depuis un DP form. */
43
+ declare function applyFormPost(host: PostBindHost, data: Record<string, unknown>): void;
44
+ export declare const postBind: {
45
+ readonly applyConfig: typeof applyConfig;
46
+ readonly syncFrame: typeof syncFrame;
47
+ readonly propsChanged: typeof propsChanged;
48
+ readonly applyFormPost: typeof applyFormPost;
49
+ readonly POST_PROP_KEYS: readonly ["postImage", "postBufferA", "postBufferB", "postBufferC", "postBufferD", "postCommon", "postImageCh0", "postImageCh1", "postImageCh2", "postImageCh3", "postBufferACh0", "postBufferACh1", "postBufferACh2", "postBufferACh3", "postBufferBCh0", "postBufferBCh1", "postBufferBCh2", "postBufferBCh3", "postBufferCCh0", "postBufferCCh1", "postBufferCCh2", "postBufferCCh3", "postBufferDCh0", "postBufferDCh1", "postBufferDCh2", "postBufferDCh3", "postScale"];
50
+ };
51
+ export {};
52
+ //# sourceMappingURL=post-bind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-bind.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/post-bind.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CAC1C,CAAC;AA0HF,iBAAS,WAAW,CAAC,IAAI,EAAE,YAAY,QA8BtC;AAED,iBAAS,SAAS,CAChB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAgB,QASvD;AAED,iBAAS,YAAY,CACnB,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAC9C,OAAO,CAET;AAED,mDAAmD;AACnD,iBAAS,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QA0BvE;AAED,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Routage des canaux post-* (sonic-3d) : scene | depth | buffers | url | #id.
3
+ */
4
+ export type PostPassId = "image" | "bufferA" | "bufferB" | "bufferC" | "bufferD";
5
+ export type PostChannelSource = {
6
+ kind: "scene";
7
+ } | {
8
+ kind: "depth";
9
+ } | {
10
+ kind: "buffer";
11
+ buffer: Exclude<PostPassId, "image">;
12
+ } | {
13
+ kind: "self";
14
+ } | {
15
+ kind: "none";
16
+ } | {
17
+ kind: "url";
18
+ url: string;
19
+ } | {
20
+ kind: "element";
21
+ key: string;
22
+ };
23
+ export type PostChannels = [
24
+ PostChannelSource,
25
+ PostChannelSource,
26
+ PostChannelSource,
27
+ PostChannelSource
28
+ ];
29
+ export type PostSources = {
30
+ common: string;
31
+ image: string;
32
+ bufferA: string;
33
+ bufferB: string;
34
+ bufferC: string;
35
+ bufferD: string;
36
+ };
37
+ /** Parse un slot canal post (défaut `scene` pour ch0 si vide). */
38
+ export declare function parsePostChannelSource(value: string | undefined | null, fallback: string, slot: 0 | 1 | 2 | 3): PostChannelSource;
39
+ export declare function clampPostScale(v: number): number;
40
+ //# sourceMappingURL=post-channels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-channels.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/post-channels.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAClB,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,MAAM,MAAM,YAAY,GAAG;IACzB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,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,kEAAkE;AAClE,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAClB,iBAAiB,CAsBnB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhD"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Post-traitement ShaderToy dans le contexte Three de sonic-3d
3
+ * (RenderTarget scène + DepthTexture → passes A–D → image).
4
+ */
5
+ import * as THREE from "three";
6
+ import { type PostChannels, type PostPassId, type PostSources } from "./post-channels";
7
+ export type PostFxUniforms = {
8
+ time: number;
9
+ timeDelta: number;
10
+ frame: number;
11
+ mouse: [number, number, number, number];
12
+ params: [number, number, number, number];
13
+ near: number;
14
+ far: number;
15
+ };
16
+ export type PostFxConfig = {
17
+ sources: PostSources;
18
+ channels: Map<PostPassId, PostChannels>;
19
+ scale: number;
20
+ };
21
+ export declare class PostFxCompileError extends Error {
22
+ pass: string;
23
+ infoLog: string;
24
+ constructor(message: string, pass: string, infoLog?: string);
25
+ }
26
+ /**
27
+ * Pipeline post FX attaché à un WebGLRenderer Three.
28
+ */
29
+ export declare class PostFxPipeline {
30
+ private renderer;
31
+ private sceneRT;
32
+ private buffers;
33
+ private passes;
34
+ private channels;
35
+ private activePasses;
36
+ private quadScene;
37
+ private quadCam;
38
+ private quadMesh;
39
+ private width;
40
+ private height;
41
+ private scale;
42
+ private urlTextures;
43
+ private loader;
44
+ private elementResolver;
45
+ private elementTextures;
46
+ private elementLastSeq;
47
+ private enabled;
48
+ constructor(renderer: THREE.WebGLRenderer);
49
+ get isEnabled(): boolean;
50
+ setElementResolver(fn: ((key: string) => Element | null) | null): void;
51
+ /**
52
+ * Compile / (re)configure. `image` vide → désactive (rendu direct).
53
+ * Lève `PostFxCompileError` si une passe échoue.
54
+ */
55
+ setConfig(config: PostFxConfig | null): void;
56
+ resize(pixelW: number, pixelH: number): void;
57
+ /**
58
+ * Rend la scène 3D dans le RT, puis les passes post vers le canvas.
59
+ */
60
+ render(scene: THREE.Scene, camera: THREE.Camera, frame: PostFxUniforms): void;
61
+ dispose(): void;
62
+ private compilePass;
63
+ private validateGlsl;
64
+ private ensureTargets;
65
+ private disposeTargets;
66
+ private clearPasses;
67
+ private drawPass;
68
+ private resolveChannel;
69
+ private getUrlTexture;
70
+ private getElementTexture;
71
+ private updateElementTextures;
72
+ }
73
+ //# sourceMappingURL=post-fx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-fx.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/post-fx.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,cAAc,GAAG;IAC3B,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;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;gBACJ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,SAAK;CAMxD;AAiGD;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,OAAO,CAAqD;IACpE,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,OAAO,CAAoD;IACnE,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,eAAe,CAAkD;IACzE,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,EAAE,KAAK,CAAC,aAAa;IAUzC,IAAI,SAAS,YAEZ;IAED,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI;IAI/D;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IA6CrC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAWrC;;OAEG;IACH,MAAM,CACJ,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,cAAc;IAyBvB,OAAO;IAWP,OAAO,CAAC,WAAW;IA8CnB,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,QAAQ;IA2GhB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,iBAAiB;IAmDzB,OAAO,CAAC,qBAAqB;CAS9B"}
@@ -17,7 +17,17 @@ export declare class Sonic3dProps extends LitElement {
17
17
  pick: boolean;
18
18
  play: boolean;
19
19
  playOnHover: boolean;
20
+ /**
21
+ * Garde le RAF / runtime hors viewport (pont live `#id`).
22
+ * Aussi auto si un consommateur a appelé `registerFrameConsumer`.
23
+ */
24
+ playOffscreen: boolean;
20
25
  releaseOffscreen: boolean;
26
+ /**
27
+ * Inertie OrbitControls (`dampingFactor`). `0` = pas d’inertie.
28
+ * Défaut `0.08`.
29
+ */
30
+ damping: number;
21
31
  dprMax: number;
22
32
  aspectRatio: string;
23
33
  dataProvider: string;
@@ -26,5 +36,37 @@ export declare class Sonic3dProps extends LitElement {
26
36
  snapshotInterval: number;
27
37
  /** Publie `frameUrl` / `snapshot` (canvas) pour chaînage shader / jsonata. */
28
38
  frameOut: boolean;
39
+ postImage: string;
40
+ postBufferA: string;
41
+ postBufferB: string;
42
+ postBufferC: string;
43
+ postBufferD: string;
44
+ postCommon: string;
45
+ postImageCh0: string;
46
+ postImageCh1: string;
47
+ postImageCh2: string;
48
+ postImageCh3: string;
49
+ postBufferACh0: string;
50
+ postBufferACh1: string;
51
+ postBufferACh2: string;
52
+ postBufferACh3: string;
53
+ postBufferBCh0: string;
54
+ postBufferBCh1: string;
55
+ postBufferBCh2: string;
56
+ postBufferBCh3: string;
57
+ postBufferCCh0: string;
58
+ postBufferCCh1: string;
59
+ postBufferCCh2: string;
60
+ postBufferCCh3: string;
61
+ postBufferDCh0: string;
62
+ postBufferDCh1: string;
63
+ postBufferDCh2: string;
64
+ postBufferDCh3: string;
65
+ param0: number;
66
+ param1: number;
67
+ param2: number;
68
+ param3: number;
69
+ /** Échelle des cibles post (0.25–1, défaut 1). */
70
+ postScale: number;
29
71
  }
30
72
  //# sourceMappingURL=props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EASL,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,gDAAgD;AAChD,qBAAa,YAAa,SAAQ,UAAU;IAC9B,GAAG,SAAM;IACW,KAAK,EAAE,YAAY,GAAG,IAAI,CAAQ;IAElE,MAAM,EAAE,iBAAiB,CAA2B;IACxB,GAAG,SAAe;IAClB,QAAQ,SAAoB;IAExD,WAAW,SAAwB;IAEnC,WAAW,SAAwB;IAEnC,QAAQ,SAAyB;IAEjC,QAAQ,SAAyB;IACsB,UAAU,UAAS;IAC7C,GAAG,UAAQ;IACX,IAAI,UAAS;IACE,IAAI,UAAQ;IACC,WAAW,UAAS;IAE7E,gBAAgB,UAAQ;IAC0B,MAAM,SAAK;IACN,WAAW,SAAM;IAC5C,YAAY,SAAM;IAE9C,eAAe,SAAM;IAErB,WAAW,SAA2B;IAEtC,gBAAgB,SAAgC;IAChD,8EAA8E;IACzB,QAAQ,UAAS;CACvE"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EASL,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,gDAAgD;AAChD,qBAAa,YAAa,SAAQ,UAAU;IAC9B,GAAG,SAAM;IACW,KAAK,EAAE,YAAY,GAAG,IAAI,CAAQ;IAElE,MAAM,EAAE,iBAAiB,CAA2B;IACxB,GAAG,SAAe;IAClB,QAAQ,SAAoB;IAExD,WAAW,SAAwB;IAEnC,WAAW,SAAwB;IAEnC,QAAQ,SAAyB;IAEjC,QAAQ,SAAyB;IACsB,UAAU,UAAS;IAC7C,GAAG,UAAQ;IACX,IAAI,UAAS;IACE,IAAI,UAAQ;IACC,WAAW,UAAS;IAC7E;;;OAGG;IAEH,aAAa,UAAS;IAEtB,gBAAgB,UAAQ;IACxB;;;OAGG;IACyB,OAAO,SAAQ;IACO,MAAM,SAAK;IACN,WAAW,SAAM;IAC5C,YAAY,SAAM;IAE9C,eAAe,SAAM;IAErB,WAAW,SAA2B;IAEtC,gBAAgB,SAAgC;IAChD,8EAA8E;IACzB,QAAQ,UAAS;IAG/B,SAAS,SAAM;IACZ,WAAW,SAAM;IACjB,WAAW,SAAM;IACjB,WAAW,SAAM;IACjB,WAAW,SAAM;IACnB,UAAU,SAAM;IACb,YAAY,SAAM;IAClB,YAAY,SAAM;IAClB,YAAY,SAAM;IAClB,YAAY,SAAM;IACf,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,SAAM;IACtC,MAAM,SAAK;IACX,MAAM,SAAK;IACX,MAAM,SAAK;IACX,MAAM,SAAK;IACvC,kDAAkD;IACG,SAAS,SAAK;CACpE"}
@@ -10,8 +10,10 @@ export type ReloadHost = {
10
10
  ready: boolean;
11
11
  startTime: number;
12
12
  frame: number;
13
+ frameSeq: number;
13
14
  lastFormOrbit: FormOrbit | null;
14
15
  formPublisher: ReturnType<typeof PublisherManager.get> | null;
16
+ outPublisher: ReturnType<typeof PublisherManager.get> | null;
15
17
  asset: Sonic3dAsset | null;
16
18
  src: string;
17
19
  minDistance: number;
@@ -20,6 +22,7 @@ export type ReloadHost = {
20
22
  maxPolar: number;
21
23
  onFormMutation: () => void;
22
24
  syncPlayback: () => void;
25
+ bindOutPublisher: () => void;
23
26
  dispatchEvent: (event: Event) => boolean;
24
27
  };
25
28
  declare function run(host: ReloadHost): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"reload.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/reload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,iBAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErC;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9D,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CAC1C,CAAC;AAEF,iBAAe,GAAG,CAAC,IAAI,EAAE,UAAU,iBA4BlC;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,UAAU,QAOzC;AAED,iBAAS,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,QAUhD;AAED,eAAO,MAAM,MAAM;;;;;CAKT,CAAC"}
1
+ {"version":3,"file":"reload.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/reload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,iBAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErC;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9D,YAAY,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7D,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CAC1C,CAAC;AAEF,iBAAe,GAAG,CAAC,IAAI,EAAE,UAAU,iBA+BlC;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,UAAU,QAOzC;AAED,iBAAS,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,QAUhD;AAED,eAAO,MAAM,MAAM;;;;;CAKT,CAAC"}
@@ -2,11 +2,14 @@ import * as THREE from "three";
2
2
  import type { Sonic3dCameraMode } from "./constants";
3
3
  import type { SceneRuntimeOptions } from "./opts";
4
4
  import type { SceneHit } from "./pick";
5
+ import { PostFxCompileError, type PostFxConfig, type PostFxUniforms } from "./post-fx";
5
6
  import { tune } from "./tune";
6
7
  import type { Sonic3dAsset, Sonic3dOutput } from "./types";
7
8
  export type { SceneHit, SceneRuntimeOptions };
9
+ export { PostFxCompileError };
10
+ export type { PostFxConfig, PostFxUniforms };
8
11
  /**
9
- * Runtime Three.js encapsulé : renderer, scène, caméra, load, fit, pick.
12
+ * Runtime Three.js encapsulé : renderer, scène, caméra, load, fit, pick, post FX.
10
13
  * Le composant Lit gère RAF / viewport / DP.
11
14
  */
12
15
  export declare class SceneRuntime {
@@ -39,22 +42,34 @@ export declare class SceneRuntime {
39
42
  private highlighted;
40
43
  private prevEmissive;
41
44
  private prevEmissiveIntensity;
45
+ private postFx;
46
+ private lastCssW;
47
+ private lastCssH;
48
+ private damping;
49
+ private postFrame;
42
50
  constructor(opts: SceneRuntimeOptions);
43
51
  get ready(): boolean;
44
52
  get loading(): boolean;
45
53
  get error(): string | null;
46
54
  get isLost(): boolean;
55
+ get hasPostFx(): boolean;
47
56
  setDprMax(v: number): void;
48
57
  setExposure(v: number): void;
49
58
  setFov(v: number): void;
50
59
  setFit(v: boolean): void;
51
60
  setAutoRotate(v: boolean): void;
61
+ setDamping(v: number): void;
62
+ /** Coupe autoRotate + inertie OrbitControls. */
63
+ stopMotion(): void;
52
64
  setOrbitLimits(opts: Parameters<typeof tune.setOrbitLimits>[1]): void;
53
65
  setOrbitSpherical(yaw: number, pitch: number, distance: number): void;
54
66
  applyCameraMode(mode: Sonic3dCameraMode): void;
55
67
  resize(cssW: number, cssH: number): void;
56
68
  load(asset: Sonic3dAsset | null): Promise<void>;
57
69
  fitToContent(): void;
70
+ setPostConfig(config: PostFxConfig | null): void;
71
+ setPostElementResolver(fn: ((key: string) => Element | null) | null): void;
72
+ setPostFrame(frame: Partial<PostFxUniforms>): void;
58
73
  render(): void;
59
74
  pick(normX: number, normY: number): SceneHit | null;
60
75
  setHoverAt(normX: number, normY: number): SceneHit | null;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/runtime.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  * Entrée publique `@supersoniks/concorde/3d/scene-runtime`.
3
3
  * Implémentation : `runtime.ts` + helpers orbit/pick/load/….
4
4
  */
5
- export { SceneRuntime, type SceneHit, type SceneRuntimeOptions, } from "./runtime";
5
+ export { SceneRuntime, PostFxCompileError, type SceneHit, type SceneRuntimeOptions, type PostFxConfig, type PostFxUniforms, } from "./runtime";
6
6
  //# sourceMappingURL=scene-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-runtime.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/scene-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,mBAAmB,GACzB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"scene-runtime.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/scene-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC"}
@@ -17,6 +17,9 @@ declare function setExposure(ctx: TuneCtx, v: number): void;
17
17
  declare function setFov(ctx: TuneCtx, v: number): void;
18
18
  declare function setFit(ctx: TuneCtx, v: boolean): void;
19
19
  declare function setAutoRotate(ctx: TuneCtx, v: boolean): void;
20
+ declare function setDamping(ctx: TuneCtx, v: number): void;
21
+ /** Coupe autoRotate + vide l’inertie OrbitControls. */
22
+ declare function stopMotion(ctx: TuneCtx): void;
20
23
  declare function setOrbitLimits(ctx: TuneCtx, opts: Partial<OrbitLimits>): void;
21
24
  declare function setOrbitSpherical(ctx: TuneCtx, yaw: number, pitch: number, distance: number): void;
22
25
  export declare const tune: {
@@ -25,6 +28,8 @@ export declare const tune: {
25
28
  readonly setFov: typeof setFov;
26
29
  readonly setFit: typeof setFit;
27
30
  readonly setAutoRotate: typeof setAutoRotate;
31
+ readonly setDamping: typeof setDamping;
32
+ readonly stopMotion: typeof stopMotion;
28
33
  readonly setOrbitLimits: typeof setOrbitLimits;
29
34
  readonly setOrbitSpherical: typeof setOrbitSpherical;
30
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tune.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/tune.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;IACxB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;CACvB,CAAC;AAEF,iBAAS,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,QAEzC;AAED,iBAAS,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,QAE3C;AAED,iBAAS,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,QAItC;AAED,iBAAS,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,QAEvC;AAED,iBAAS,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,QAE9C;AAED,iBAAS,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,QAG/D;AAED,iBAAS,iBAAiB,CACxB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,QAajB;AAED,eAAO,MAAM,IAAI;;;;;;;;CAQP,CAAC"}
1
+ {"version":3,"file":"tune.d.ts","sourceRoot":"","sources":["../../../../../../src/core/components/functional/3d/tune.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;IACxB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;CACvB,CAAC;AAEF,iBAAS,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,QAEzC;AAED,iBAAS,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,QAE3C;AAED,iBAAS,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,QAItC;AAED,iBAAS,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,QAEvC;AAED,iBAAS,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,QAE9C;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,QAK1C;AAED,uDAAuD;AACvD,iBAAS,UAAU,CAAC,GAAG,EAAE,OAAO,QAS/B;AAED,iBAAS,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,QAG/D;AAED,iBAAS,iBAAiB,CACxB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,QAajB;AAED,eAAO,MAAM,IAAI;;;;;;;;;;CAUP,CAAC"}