@hatiolab/things-scene 10.0.0-beta.91 → 10.0.0-beta.93

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 (125) hide show
  1. package/dist-types/animation/animate.d.ts.map +1 -1
  2. package/dist-types/animation/animations/animation.d.ts +5 -3
  3. package/dist-types/animation/animations/animation.d.ts.map +1 -1
  4. package/dist-types/clock/frame-clock.d.ts +119 -0
  5. package/dist-types/clock/frame-clock.d.ts.map +1 -0
  6. package/dist-types/clock/index.d.ts +3 -0
  7. package/dist-types/clock/index.d.ts.map +1 -0
  8. package/dist-types/components/audio.d.ts +7 -3
  9. package/dist-types/components/audio.d.ts.map +1 -1
  10. package/dist-types/components/component.d.ts +9 -4
  11. package/dist-types/components/component.d.ts.map +1 -1
  12. package/dist-types/components/container-abstract.d.ts +14 -6
  13. package/dist-types/components/container-abstract.d.ts.map +1 -1
  14. package/dist-types/components/container.d.ts +6 -2
  15. package/dist-types/components/container.d.ts.map +1 -1
  16. package/dist-types/components/ellipse.d.ts +7 -3
  17. package/dist-types/components/ellipse.d.ts.map +1 -1
  18. package/dist-types/components/generic-placeholders.d.ts +7 -3
  19. package/dist-types/components/generic-placeholders.d.ts.map +1 -1
  20. package/dist-types/components/html-overlay-container.d.ts +6 -2
  21. package/dist-types/components/html-overlay-container.d.ts.map +1 -1
  22. package/dist-types/components/html-overlay-element.d.ts +13 -5
  23. package/dist-types/components/html-overlay-element.d.ts.map +1 -1
  24. package/dist-types/components/image-view.d.ts +7 -3
  25. package/dist-types/components/image-view.d.ts.map +1 -1
  26. package/dist-types/components/info-window.d.ts +7 -3
  27. package/dist-types/components/info-window.d.ts.map +1 -1
  28. package/dist-types/components/local-ref.d.ts +7 -3
  29. package/dist-types/components/local-ref.d.ts.map +1 -1
  30. package/dist-types/components/mixins/connectable.d.ts +7 -3
  31. package/dist-types/components/mixins/connectable.d.ts.map +1 -1
  32. package/dist-types/components/mixins/data-source.d.ts +7 -3
  33. package/dist-types/components/mixins/data-source.d.ts.map +1 -1
  34. package/dist-types/components/mixins/gltf-component.d.ts +6 -2
  35. package/dist-types/components/mixins/gltf-component.d.ts.map +1 -1
  36. package/dist-types/components/mixins/html-element.d.ts +6 -2
  37. package/dist-types/components/mixins/html-element.d.ts.map +1 -1
  38. package/dist-types/components/mixins/move-handle.d.ts +7 -3
  39. package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
  40. package/dist-types/components/mixins/rect-path.d.ts +7 -3
  41. package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
  42. package/dist-types/components/mixins/three-d-only.d.ts +7 -3
  43. package/dist-types/components/mixins/three-d-only.d.ts.map +1 -1
  44. package/dist-types/components/mixins/value-holder.d.ts +7 -3
  45. package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
  46. package/dist-types/components/node.d.ts +7 -3
  47. package/dist-types/components/node.d.ts.map +1 -1
  48. package/dist-types/components/popup.d.ts +7 -3
  49. package/dist-types/components/popup.d.ts.map +1 -1
  50. package/dist-types/components/rect.d.ts +14 -6
  51. package/dist-types/components/rect.d.ts.map +1 -1
  52. package/dist-types/components/ruler.d.ts +7 -3
  53. package/dist-types/components/ruler.d.ts.map +1 -1
  54. package/dist-types/components/service-component.d.ts +7 -3
  55. package/dist-types/components/service-component.d.ts.map +1 -1
  56. package/dist-types/components/text.d.ts +7 -3
  57. package/dist-types/components/text.d.ts.map +1 -1
  58. package/dist-types/diagnostics/contract-inspector.d.ts +103 -0
  59. package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -0
  60. package/dist-types/diagnostics/inspector.d.ts +44 -0
  61. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  62. package/dist-types/interfaces/real-object.d.ts +8 -1
  63. package/dist-types/interfaces/real-object.d.ts.map +1 -1
  64. package/dist-types/interfaces/types.d.ts +20 -1
  65. package/dist-types/interfaces/types.d.ts.map +1 -1
  66. package/dist-types/math/component-pose.d.ts +51 -0
  67. package/dist-types/math/component-pose.d.ts.map +1 -0
  68. package/dist-types/math/index.d.ts +3 -0
  69. package/dist-types/math/index.d.ts.map +1 -0
  70. package/dist-types/math/pose6dof.d.ts +93 -0
  71. package/dist-types/math/pose6dof.d.ts.map +1 -0
  72. package/dist-types/navigation/index.d.ts +7 -0
  73. package/dist-types/navigation/index.d.ts.map +1 -0
  74. package/dist-types/navigation/nav-graph.d.ts +55 -0
  75. package/dist-types/navigation/nav-graph.d.ts.map +1 -0
  76. package/dist-types/navigation/path-planner.d.ts +29 -0
  77. package/dist-types/navigation/path-planner.d.ts.map +1 -0
  78. package/dist-types/navigation/reservation-table.d.ts +103 -0
  79. package/dist-types/navigation/reservation-table.d.ts.map +1 -0
  80. package/dist-types/navigation/types.d.ts +145 -0
  81. package/dist-types/navigation/types.d.ts.map +1 -0
  82. package/dist-types/placement/index.d.ts +3 -0
  83. package/dist-types/placement/index.d.ts.map +1 -0
  84. package/dist-types/placement/placement.d.ts +53 -0
  85. package/dist-types/placement/placement.d.ts.map +1 -0
  86. package/dist-types/things-scene/index.d.ts +12 -2
  87. package/dist-types/things-scene/index.d.ts.map +1 -1
  88. package/dist-types/threed/factories/backdrop.d.ts +14 -6
  89. package/dist-types/threed/factories/backdrop.d.ts.map +1 -1
  90. package/dist-types/threed/factories/banner.d.ts +7 -3
  91. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  92. package/dist-types/threed/factories/camera.d.ts +7 -3
  93. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  94. package/dist-types/threed/factories/cube.d.ts +7 -3
  95. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  96. package/dist-types/threed/factories/decal.d.ts +14 -6
  97. package/dist-types/threed/factories/decal.d.ts.map +1 -1
  98. package/dist-types/threed/factories/gltf-object.d.ts +13 -5
  99. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  100. package/dist-types/threed/factories/sprite.d.ts +7 -3
  101. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  102. package/dist-types/threed/factories/wall.d.ts +7 -3
  103. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  104. package/dist-types/threed/real-object.d.ts +29 -1
  105. package/dist-types/threed/real-object.d.ts.map +1 -1
  106. package/dist-types/transfer/container-capacity.d.ts +301 -1
  107. package/dist-types/transfer/container-capacity.d.ts.map +1 -1
  108. package/dist-types/transfer/index.d.ts +7 -1
  109. package/dist-types/transfer/index.d.ts.map +1 -1
  110. package/dist-types/transfer/pickup-helpers.d.ts +65 -0
  111. package/dist-types/transfer/pickup-helpers.d.ts.map +1 -0
  112. package/dist-types/transfer/transfer.d.ts +168 -0
  113. package/dist-types/transfer/transfer.d.ts.map +1 -0
  114. package/dist-types/transfer/types.d.ts +104 -0
  115. package/dist-types/transfer/types.d.ts.map +1 -1
  116. package/dist-types/transition/transition-effect.d.ts +7 -1
  117. package/dist-types/transition/transition-effect.d.ts.map +1 -1
  118. package/dist-types/types/event.d.ts +57 -0
  119. package/dist-types/types/event.d.ts.map +1 -1
  120. package/package.json +1 -1
  121. package/things-scene-min.js +11 -11
  122. package/things-scene-min.js.map +1 -1
  123. package/things-scene-transfer.mjs +6 -1
  124. package/things-scene.mjs +3 -3
  125. package/things-scene.mjs.map +1 -1
@@ -67,9 +67,9 @@ declare const Popup_base: {
67
67
  get(property: any): any;
68
68
  set(props: any, propval?: any): any;
69
69
  getState(property: any): any;
70
- setState(props: any, propval?: any): any;
70
+ setState(props: Partial<import("../index.js").State> | string, propval?: any): any;
71
71
  get model(): any;
72
- get state(): any;
72
+ get state(): import("../index.js").State;
73
73
  get hierarchy(): any;
74
74
  get volatile(): never[];
75
75
  _applyProps(target: any, props: any, options: any): /*elided*/ any;
@@ -160,7 +160,7 @@ declare const Popup_base: {
160
160
  findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
161
161
  capture(x: number, y: number, except?: (c: Component) => boolean): any;
162
162
  findAnchor(name: string): any;
163
- isDescendible(container: Component): boolean;
163
+ isDescendible(container: Component | any): boolean;
164
164
  getContext(component?: unknown): any;
165
165
  get root(): Component;
166
166
  get rootModel(): Component;
@@ -204,9 +204,13 @@ declare const Popup_base: {
204
204
  toLocal(x: number, y: number, top?: Component): import("../index.js").POINT;
205
205
  toGlobal(x: number, y: number, top?: Component): import("../index.js").POINT;
206
206
  toOther(x: number, y: number, target: Component): import("../index.js").POINT;
207
+ on<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
207
208
  on(name: string | object, callback: Function, context?: any): /*elided*/ any;
209
+ off<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback?: ((...args: import("../index.js").ComponentEventMap[K]) => void) | undefined, context?: any): /*elided*/ any;
208
210
  off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
211
+ once<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
209
212
  once(name: string | object, callback: Function, context?: any): /*elided*/ any;
213
+ trigger<K extends keyof import("../index.js").ComponentEventMap>(name: K, ...args: import("../index.js").ComponentEventMap[K]): /*elided*/ any;
210
214
  trigger(name: string, ...args: any[]): /*elided*/ any;
211
215
  delegate_on(delegator: any): /*elided*/ any;
212
216
  delegate_off(delegator: any): /*elided*/ any;
@@ -1 +1 @@
1
- {"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../../src/components/popup.ts"],"names":[],"mappings":"AAKA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,KAAK,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2J9B,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAe;IAChD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAA;IAElB,MAAM,KAAK,KAAK,QAOf;IAIK,KAAK;IAMX,MAAM,CAAC,OAAO,EAAE,wBAAwB;IAOxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAYhE,YAAY,CAAC,KAAK,EAAE,GAAG;IAevB,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG;IAwCpC,SAAS;IAIT,IAAI,KAAK,QAER;IAED,IAAI,KAAK,CAAC,KAAK,KAAA,EAEd;IAED,IAAI,IAAI,QAEP;IAED,IAAI,IAAI,CAAC,IAAI,KAAA,EAEZ;IAED,IAAI,OAAO,QAEV;IAED,IAAI,OAAO,CAAC,IAAI,KAAA,EAEf;IAED,IAAI,KAAK,QAER;IAED,IAAI,KAAK,CAAC,KAAK,KAAA,EAEd;IAED,IAAI,eAAe,YAElB;IAED,IAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAET;CACF"}
1
+ {"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../../src/components/popup.ts"],"names":[],"mappings":"AAKA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,KAAK,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2J9B,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAe;IAChD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAA;IAElB,MAAM,KAAK,KAAK,QAOf;IAIK,KAAK;IAMX,MAAM,CAAC,OAAO,EAAE,wBAAwB;IAOxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAYhE,YAAY,CAAC,KAAK,EAAE,GAAG;IAevB,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG;IAwCpC,SAAS;IAIT,IAAI,KAAK,QAER;IAED,IAAI,KAAK,CAAC,KAAK,KAAA,EAEd;IAED,IAAI,IAAI,QAEP;IAED,IAAI,IAAI,CAAC,IAAI,KAAA,EAEZ;IAED,IAAI,OAAO,QAEV;IAED,IAAI,OAAO,CAAC,IAAI,KAAA,EAEf;IAED,IAAI,KAAK,QAER;IAED,IAAI,KAAK,CAAC,KAAK,KAAA,EAEd;IAED,IAAI,eAAe,YAElB;IAED,IAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAET;CACF"}
@@ -56,9 +56,9 @@ declare const Rect_base: {
56
56
  get(property: any): any;
57
57
  set(props: any, propval?: any): any;
58
58
  getState(property: any): any;
59
- setState(props: any, propval?: any): any;
59
+ setState(props: Partial<import("../index.js").State> | string, propval?: any): any;
60
60
  get model(): any;
61
- get state(): any;
61
+ get state(): import("../index.js").State;
62
62
  get hierarchy(): any;
63
63
  get volatile(): never[];
64
64
  _applyProps(target: any, props: any, options: any): /*elided*/ any;
@@ -153,7 +153,7 @@ declare const Rect_base: {
153
153
  findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
154
154
  capture(x: number, y: number, except?: (c: Component) => boolean): any;
155
155
  findAnchor(name: string): any;
156
- isDescendible(container: Component): boolean;
156
+ isDescendible(container: Component | any): boolean;
157
157
  getContext(component?: unknown): any;
158
158
  get root(): Component;
159
159
  get rootModel(): Component;
@@ -198,9 +198,13 @@ declare const Rect_base: {
198
198
  toLocal(x: number, y: number, top?: Component): import("../index.js").POINT;
199
199
  toGlobal(x: number, y: number, top?: Component): import("../index.js").POINT;
200
200
  toOther(x: number, y: number, target: Component): import("../index.js").POINT;
201
+ on<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
201
202
  on(name: string | object, callback: Function, context?: any): /*elided*/ any;
203
+ off<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback?: ((...args: import("../index.js").ComponentEventMap[K]) => void) | undefined, context?: any): /*elided*/ any;
202
204
  off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
205
+ once<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
203
206
  once(name: string | object, callback: Function, context?: any): /*elided*/ any;
207
+ trigger<K extends keyof import("../index.js").ComponentEventMap>(name: K, ...args: import("../index.js").ComponentEventMap[K]): /*elided*/ any;
204
208
  trigger(name: string, ...args: any[]): /*elided*/ any;
205
209
  delegate_on(delegator: any): /*elided*/ any;
206
210
  delegate_off(delegator: any): /*elided*/ any;
@@ -299,9 +303,9 @@ declare const Rect_base: {
299
303
  get(property: any): any;
300
304
  set(props: any, propval?: any): any;
301
305
  getState(property: any): any;
302
- setState(props: any, propval?: any): any;
306
+ setState(props: Partial<import("../index.js").State> | string, propval?: any): any;
303
307
  get model(): any;
304
- get state(): any;
308
+ get state(): import("../index.js").State;
305
309
  get hierarchy(): any;
306
310
  get volatile(): never[];
307
311
  _applyProps(target: any, props: any, options: any): /*elided*/ any;
@@ -392,7 +396,7 @@ declare const Rect_base: {
392
396
  findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
393
397
  capture(x: number, y: number, except?: (c: Component) => boolean): any;
394
398
  findAnchor(name: string): any;
395
- isDescendible(container: Component): boolean;
399
+ isDescendible(container: Component | any): boolean;
396
400
  getContext(component?: unknown): any;
397
401
  get root(): Component;
398
402
  get rootModel(): Component;
@@ -436,9 +440,13 @@ declare const Rect_base: {
436
440
  toLocal(x: number, y: number, top?: Component): import("../index.js").POINT;
437
441
  toGlobal(x: number, y: number, top?: Component): import("../index.js").POINT;
438
442
  toOther(x: number, y: number, target: Component): import("../index.js").POINT;
443
+ on<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
439
444
  on(name: string | object, callback: Function, context?: any): /*elided*/ any;
445
+ off<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback?: ((...args: import("../index.js").ComponentEventMap[K]) => void) | undefined, context?: any): /*elided*/ any;
440
446
  off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
447
+ once<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
441
448
  once(name: string | object, callback: Function, context?: any): /*elided*/ any;
449
+ trigger<K extends keyof import("../index.js").ComponentEventMap>(name: K, ...args: import("../index.js").ComponentEventMap[K]): /*elided*/ any;
442
450
  trigger(name: string, ...args: any[]): /*elided*/ any;
443
451
  delegate_on(delegator: any): /*elided*/ any;
444
452
  delegate_off(delegator: any): /*elided*/ any;
@@ -1 +1 @@
1
- {"version":3,"file":"rect.d.ts","sourceRoot":"","sources":["../../src/components/rect.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAGtC,OAAO,KAAK,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmC9B,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAA4B;IAC5D,OAAO;IAIP,IAAI,QAAQ;;;;gCAnBiB,GAAG,SAAS,MAAM,aAAa,GAAG;;QA8B9D;IAED,IAAI,MAAM;;;;;;;;;;;;;MAET;CACF"}
1
+ {"version":3,"file":"rect.d.ts","sourceRoot":"","sources":["../../src/components/rect.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAGtC,OAAO,KAAK,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmC9B,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAA4B;IAC5D,OAAO;IAIP,IAAI,QAAQ;;;;gCAnBiB,GAAG,SAAS,MAAM,aAAa,GAAG;;QA8B9D;IAED,IAAI,MAAM;;;;;;;;;;;;;MAET;CACF"}
@@ -67,9 +67,9 @@ declare const Ruler_base: {
67
67
  get(property: any): any;
68
68
  set(props: any, propval?: any): any;
69
69
  getState(property: any): any;
70
- setState(props: any, propval?: any): any;
70
+ setState(props: Partial<import("../index.js").State> | string, propval?: any): any;
71
71
  get model(): any;
72
- get state(): any;
72
+ get state(): import("../index.js").State;
73
73
  get hierarchy(): any;
74
74
  get volatile(): never[];
75
75
  _applyProps(target: any, props: any, options: any): /*elided*/ any;
@@ -160,7 +160,7 @@ declare const Ruler_base: {
160
160
  findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
161
161
  capture(x: number, y: number, except?: (c: Component) => boolean): any;
162
162
  findAnchor(name: string): any;
163
- isDescendible(container: Component): boolean;
163
+ isDescendible(container: Component | any): boolean;
164
164
  getContext(component?: unknown): any;
165
165
  get root(): Component;
166
166
  get rootModel(): Component;
@@ -204,9 +204,13 @@ declare const Ruler_base: {
204
204
  toLocal(x: number, y: number, top?: Component): import("../index.js").POINT;
205
205
  toGlobal(x: number, y: number, top?: Component): import("../index.js").POINT;
206
206
  toOther(x: number, y: number, target: Component): import("../index.js").POINT;
207
+ on<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
207
208
  on(name: string | object, callback: Function, context?: any): /*elided*/ any;
209
+ off<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback?: ((...args: import("../index.js").ComponentEventMap[K]) => void) | undefined, context?: any): /*elided*/ any;
208
210
  off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
211
+ once<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
209
212
  once(name: string | object, callback: Function, context?: any): /*elided*/ any;
213
+ trigger<K extends keyof import("../index.js").ComponentEventMap>(name: K, ...args: import("../index.js").ComponentEventMap[K]): /*elided*/ any;
210
214
  trigger(name: string, ...args: any[]): /*elided*/ any;
211
215
  delegate_on(delegator: any): /*elided*/ any;
212
216
  delegate_off(delegator: any): /*elided*/ any;
@@ -1 +1 @@
1
- {"version":3,"file":"ruler.d.ts","sourceRoot":"","sources":["../../src/components/ruler.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAK9B,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAe;IAChD,MAAM,CAAC,GAAG,EAAE,GAAG;CAmGhB"}
1
+ {"version":3,"file":"ruler.d.ts","sourceRoot":"","sources":["../../src/components/ruler.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAK9B,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAe;IAChD,MAAM,CAAC,GAAG,EAAE,GAAG;CAmGhB"}
@@ -68,9 +68,9 @@ declare const ServiceComponent_base: {
68
68
  get(property: any): any;
69
69
  set(props: any, propval?: any): any;
70
70
  getState(property: any): any;
71
- setState(props: any, propval?: any): any;
71
+ setState(props: Partial<import("../index.js").State> | string, propval?: any): any;
72
72
  get model(): any;
73
- get state(): any;
73
+ get state(): import("../index.js").State;
74
74
  get hierarchy(): any;
75
75
  get volatile(): never[];
76
76
  _applyProps(target: any, props: any, options: any): /*elided*/ any;
@@ -161,7 +161,7 @@ declare const ServiceComponent_base: {
161
161
  findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
162
162
  capture(x: number, y: number, except?: (c: Component) => boolean): any;
163
163
  findAnchor(name: string): any;
164
- isDescendible(container: Component): boolean;
164
+ isDescendible(container: Component | any): boolean;
165
165
  getContext(component?: unknown): any;
166
166
  get root(): Component;
167
167
  get rootModel(): Component;
@@ -205,9 +205,13 @@ declare const ServiceComponent_base: {
205
205
  toLocal(x: number, y: number, top?: Component): import("../index.js").POINT;
206
206
  toGlobal(x: number, y: number, top?: Component): import("../index.js").POINT;
207
207
  toOther(x: number, y: number, target: Component): import("../index.js").POINT;
208
+ on<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
208
209
  on(name: string | object, callback: Function, context?: any): /*elided*/ any;
210
+ off<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback?: ((...args: import("../index.js").ComponentEventMap[K]) => void) | undefined, context?: any): /*elided*/ any;
209
211
  off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
212
+ once<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
210
213
  once(name: string | object, callback: Function, context?: any): /*elided*/ any;
214
+ trigger<K extends keyof import("../index.js").ComponentEventMap>(name: K, ...args: import("../index.js").ComponentEventMap[K]): /*elided*/ any;
211
215
  trigger(name: string, ...args: any[]): /*elided*/ any;
212
216
  delegate_on(delegator: any): /*elided*/ any;
213
217
  delegate_off(delegator: any): /*elided*/ any;
@@ -1 +1 @@
1
- {"version":3,"file":"service-component.d.ts","sourceRoot":"","sources":["../../src/components/service-component.ts"],"names":[],"mappings":"AAeA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAapE,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,qBAAmB;IAC/D,MAAM,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAA;IACtC,OAAO,CAAC,eAAe,CAAC,CAAK;IAE7B;;OAEG;IACH,MAAM,KAAK,IAAI,IAAI,gBAAgB,CAMlC;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,eAAe,YAElB;IAED,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAM1C,MAAM,CAAC,OAAO,EAAE,kBAAkB;IAclC,KAAK,CAAC,MAAM,EAAE,GAAG;IAUjB,OAAO,CAAC,MAAM,EAAE,GAAG;IAUnB,IAAI,QAAQ,YAEX;CACF"}
1
+ {"version":3,"file":"service-component.d.ts","sourceRoot":"","sources":["../../src/components/service-component.ts"],"names":[],"mappings":"AAeA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAapE,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,qBAAmB;IAC/D,MAAM,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAA;IACtC,OAAO,CAAC,eAAe,CAAC,CAAK;IAE7B;;OAEG;IACH,MAAM,KAAK,IAAI,IAAI,gBAAgB,CAMlC;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,eAAe,YAElB;IAED,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAM1C,MAAM,CAAC,OAAO,EAAE,kBAAkB;IAclC,KAAK,CAAC,MAAM,EAAE,GAAG;IAUjB,OAAO,CAAC,MAAM,EAAE,GAAG;IAUnB,IAAI,QAAQ,YAEX;CACF"}
@@ -66,9 +66,9 @@ declare const Text_base: {
66
66
  get(property: any): any;
67
67
  set(props: any, propval?: any): any;
68
68
  getState(property: any): any;
69
- setState(props: any, propval?: any): any;
69
+ setState(props: Partial<import("../index.js").State> | string, propval?: any): any;
70
70
  get model(): any;
71
- get state(): any;
71
+ get state(): import("../index.js").State;
72
72
  get hierarchy(): any;
73
73
  get volatile(): never[];
74
74
  _applyProps(target: any, props: any, options: any): /*elided*/ any;
@@ -159,7 +159,7 @@ declare const Text_base: {
159
159
  findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
160
160
  capture(x: number, y: number, except?: (c: Component) => boolean): any;
161
161
  findAnchor(name: string): any;
162
- isDescendible(container: Component): boolean;
162
+ isDescendible(container: Component | any): boolean;
163
163
  getContext(component?: unknown): any;
164
164
  get root(): Component;
165
165
  get rootModel(): Component;
@@ -203,9 +203,13 @@ declare const Text_base: {
203
203
  toLocal(x: number, y: number, top?: Component): import("../index.js").POINT;
204
204
  toGlobal(x: number, y: number, top?: Component): import("../index.js").POINT;
205
205
  toOther(x: number, y: number, target: Component): import("../index.js").POINT;
206
+ on<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
206
207
  on(name: string | object, callback: Function, context?: any): /*elided*/ any;
208
+ off<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback?: ((...args: import("../index.js").ComponentEventMap[K]) => void) | undefined, context?: any): /*elided*/ any;
207
209
  off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
210
+ once<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
208
211
  once(name: string | object, callback: Function, context?: any): /*elided*/ any;
212
+ trigger<K extends keyof import("../index.js").ComponentEventMap>(name: K, ...args: import("../index.js").ComponentEventMap[K]): /*elided*/ any;
209
213
  trigger(name: string, ...args: any[]): /*elided*/ any;
210
214
  delegate_on(delegator: any): /*elided*/ any;
211
215
  delegate_off(delegator: any): /*elided*/ any;
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/components/text.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAItC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAmB;IACnD,OAAO;CAGR"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/components/text.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAItC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAmB;IACnD,OAAO;CAGR"}
@@ -0,0 +1,103 @@
1
+ import { transferLog } from '../transfer/transfer.js';
2
+ import type { Reservation } from '../navigation/types.js';
3
+ export interface InspectorComponentSummary {
4
+ type: string;
5
+ id: string;
6
+ category?: string;
7
+ parentId?: string;
8
+ parentPath?: string;
9
+ pose?: {
10
+ position: {
11
+ x: number;
12
+ y: number;
13
+ z: number;
14
+ };
15
+ rotation: {
16
+ x: number;
17
+ y: number;
18
+ z: number;
19
+ w: number;
20
+ };
21
+ };
22
+ state?: Record<string, unknown>;
23
+ isCarriable?: boolean;
24
+ isPickable?: boolean;
25
+ isMover?: boolean;
26
+ isHolder?: boolean;
27
+ toolType?: string;
28
+ childIds?: string[];
29
+ }
30
+ export interface InspectorSimStatus {
31
+ simTime: number;
32
+ realTime: number;
33
+ speed: number;
34
+ paused: boolean;
35
+ carrierCount: number;
36
+ }
37
+ export interface ContractInspector {
38
+ /** Scene 의 모든 component 를 평탄화한 list — 각자 contract markers + parent path. */
39
+ collectComponents(): InspectorComponentSummary[];
40
+ /** ID 로 단일 컴포넌트 조회 — 더 풍부한 정보 (e.g. pickupFrames, slots). */
41
+ getComponent(id: string): (InspectorComponentSummary & {
42
+ pickupFrames?: any[];
43
+ slots?: any[];
44
+ acceptanceWorldQuat?: {
45
+ x: number;
46
+ y: number;
47
+ z: number;
48
+ w: number;
49
+ };
50
+ deliveryWorldPosition?: {
51
+ x: number;
52
+ y: number;
53
+ z: number;
54
+ };
55
+ }) | null;
56
+ /** Sim clock 상태. */
57
+ simStatus(): InspectorSimStatus;
58
+ /** TransferLog snapshot (read-only). */
59
+ transferLog(): {
60
+ entries: ReturnType<typeof transferLog.toJSON>;
61
+ stats: ReturnType<typeof transferLog.stats>;
62
+ };
63
+ /**
64
+ * Phase K — ReservationTable snapshot. Atlas 의 Reservations / Conflicts /
65
+ * Heat 모드가 활용. all reservations + per-resource grouped + 현재 sim time.
66
+ */
67
+ reservations(): {
68
+ simTime: number;
69
+ all: Reservation[];
70
+ byResource: Record<string, Reservation[]>;
71
+ byReserver: Record<string, Reservation[]>;
72
+ };
73
+ /**
74
+ * Phase K — 충돌 누적 로그 + 통계. Atlas 의 Conflicts mode 가 활용.
75
+ */
76
+ conflicts(): {
77
+ simTime: number;
78
+ log: readonly any[];
79
+ total: number;
80
+ rejected: number;
81
+ preempted: number;
82
+ byResource: Record<string, number>;
83
+ byReserver: Record<string, number>;
84
+ };
85
+ /** Inspector 의 self-version (extension 의 호환성 검사용). */
86
+ readonly version: string;
87
+ }
88
+ /**
89
+ * ContractInspector 인스턴스 빌드 — root 컴포넌트 (rootModel) 를 받아 inspector
90
+ * 객체 반환. install(rootModel) 로 window.__SCENE_INSPECTOR__ 에 연결.
91
+ */
92
+ export declare function buildContractInspector(rootModel: any): ContractInspector;
93
+ /**
94
+ * Inspector 를 window.__SCENE_INSPECTOR__ 에 설치. browser 환경에서만.
95
+ * Chrome extension 의 content script 가 이걸 query.
96
+ *
97
+ * usage:
98
+ * import { installContractInspector } from '@hatiolab/things-scene'
99
+ * const scene = create(model, { isViewMode: true })
100
+ * installContractInspector(scene) // 또는 scene.rootModel
101
+ */
102
+ export declare function installContractInspector(rootModel: any): ContractInspector;
103
+ //# sourceMappingURL=contract-inspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-inspector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/contract-inspector.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAGrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEzD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC7C,QAAQ,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KACzD,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,iBAAiB,IAAI,yBAAyB,EAAE,CAAA;IAEhD,6DAA6D;IAC7D,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,yBAAyB,GAAG;QACrD,YAAY,CAAC,EAAE,GAAG,EAAE,CAAA;QACpB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;QACb,mBAAmB,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QACpE,qBAAqB,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAC5D,CAAC,GAAG,IAAI,CAAA;IAET,oBAAoB;IACpB,SAAS,IAAI,kBAAkB,CAAA;IAE/B,wCAAwC;IACxC,WAAW,IAAI;QACb,OAAO,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;QAC9C,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAA;KAC5C,CAAA;IAED;;;OAGG;IACH,YAAY,IAAI;QACd,OAAO,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,WAAW,EAAE,CAAA;QAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;QACzC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;KAC1C,CAAA;IAED;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,SAAS,GAAG,EAAE,CAAA;QACnB,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACnC,CAAA;IAED,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAyFD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,GAAG,GAAG,iBAAiB,CA6IxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,GAAG,GAAG,iBAAiB,CAM1E"}
@@ -151,6 +151,50 @@ declare class SceneInspector {
151
151
  private _safeBounds;
152
152
  private _safeClone;
153
153
  private _safeValue;
154
+ /** TransferLog 의 entries + stats snapshot. */
155
+ transferLog(): {
156
+ entries: any[];
157
+ stats: {
158
+ total: number;
159
+ committed: number;
160
+ rolledBack: number;
161
+ rejectionRate: number;
162
+ avgTransferDurationMs: number;
163
+ byPhase: Record<string, number>;
164
+ };
165
+ } | null;
166
+ /** ReservationTable 의 active reservations + groupings. */
167
+ reservations(): {
168
+ simTime: number;
169
+ all: any[];
170
+ byResource: Record<string, any[]>;
171
+ byReserver: Record<string, any[]>;
172
+ } | null;
173
+ /** Conflict 누적 + outcome 통계. */
174
+ conflicts(): {
175
+ simTime: number;
176
+ log: any[];
177
+ total: number;
178
+ rejected: number;
179
+ preempted: number;
180
+ byResource: Record<string, number>;
181
+ byReserver: Record<string, number>;
182
+ } | null;
183
+ /**
184
+ * 단일 component 의 contract 요약 — Phase H/G2 의 markers.
185
+ * existing getComponentInfo 보다 contract 측면에 특화.
186
+ */
187
+ contractSummary(componentId: string, sceneIndex?: number): {
188
+ type: string;
189
+ id: string;
190
+ isCarriable?: boolean;
191
+ isPickable?: boolean;
192
+ isMover?: boolean;
193
+ isHolder?: boolean;
194
+ toolType?: string;
195
+ pickupFrames?: any[];
196
+ slots?: any[];
197
+ } | null;
154
198
  }
155
199
  export declare const inspector: SceneInspector;
156
200
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/inspector.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE9E,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAG7B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,WAAW,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,cAAM,cAAc;IAClB,OAAO,CAAC,OAAO,CAAqB;IAEpC;;;OAGG;IACH,aAAa,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;IAO3D,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,eAAe,CAAmD;IAC1E;;;OAGG;IACH,wBAAwB,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;IAEhG;;;OAGG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,SAAI,GAAG,OAAO;IAwBxE,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAM1B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAU5B;;OAEG;IACH,SAAS,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EAAE;IAkBxF;;OAEG;IACH,gBAAgB,CAAC,UAAU,SAAI,GAAG,iBAAiB,EAAE;IAarD;;;OAGG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,iBAAiB,EAAE;IAmBtE;;;OAGG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,aAAa,GAAG,IAAI;IAsC3E;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO;IAmB7D;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,SAAI,GAAG,OAAO;IAyB3F;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO;IAkBpD;;;OAGG;IACH,cAAc,CAAC,UAAU,SAAI,GAAG,GAAG;IAiBnC;;;OAGG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO;IAkB1D;;OAEG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,GAAG;IAetD;;OAEG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,GAAG;IAevD;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,iBAAiB,EAAE;IAgCpE;;;OAGG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,MAAM,EAAE;IAiB/D;;;OAGG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,UAAU,GAAG,IAAI;IAkDrE,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,UAAU;IAkBlB,8CAA8C;IAC9C,WAAW,IAAI;QACb,OAAO,EAAE,GAAG,EAAE,CAAA;QACd,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,MAAM,CAAC;YAAC,qBAAqB,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAA;KACvJ,GAAG,IAAI;IAYR,0DAA0D;IAC1D,YAAY,IAAI;QACd,OAAO,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,GAAG,EAAE,CAAA;QACV,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;KAClC,GAAG,IAAI;IA0BR,gCAAgC;IAChC,SAAS,IAAI;QACX,OAAO,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,GAAG,EAAE,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACnC,GAAG,IAAI;IA8BR;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG;QACpD,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,GAAG,EAAE,CAAA;QACpB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;KACd,GAAG,IAAI;CAiCT;AAED,eAAO,MAAM,SAAS,gBAAuB,CAAA"}
@@ -4,9 +4,16 @@ import type { Properties } from './types.js';
4
4
  * Component의 3D 표현을 담당하는 객체가 구현해야 하는 계약.
5
5
  * 실제 구현은 src/threed/real-object.ts에서 제공.
6
6
  *
7
- * Three.js 의존성 없음 THREE 관련 멤버는 IThreeRealObject(src/threed/interfaces.ts)에서 확장.
7
+ * Three.js 직접 import 의존성은 없지만, 모든 구현(RealObject<T extends THREE.Object3D>)
8
+ * object3d 를 갖기 때문에 인터페이스에도 노출. 타입은 any — 명시 타입이 필요한
9
+ * 곳은 IThreeRealObject(src/threed/interfaces.ts) 또는 구체 구현 클래스로 좁혀 사용.
8
10
  */
9
11
  export interface IRealObject {
12
+ /**
13
+ * THREE.Object3D 인스턴스. THREE 의존성 회피를 위해 any 로 노출.
14
+ * 명시 THREE.Object3D 타입이 필요하면 IThreeRealObject 로 narrow.
15
+ */
16
+ object3d?: any;
10
17
  /** 3D 오브젝트 업데이트 (build + dimension + transform + 외관) */
11
18
  update(): void;
12
19
  /** 리소스 해제 */
@@ -1 +1 @@
1
- {"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/interfaces/real-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAE1B,wDAAwD;IACxD,MAAM,IAAI,IAAI,CAAA;IACd,aAAa;IACb,OAAO,IAAI,IAAI,CAAA;IAGf,0CAA0C;IAC1C,eAAe,IAAI,IAAI,CAAA;IACvB,oDAAoD;IACpD,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,cAAc,IAAI,IAAI,CAAA;IAGtB,gBAAgB;IAChB,WAAW,IAAI,IAAI,CAAA;IACnB,eAAe;IACf,YAAY,IAAI,IAAI,CAAA;IACpB,iBAAiB;IACjB,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,iBAAiB,IAAI,IAAI,CAAA;IACzB,gBAAgB;IAChB,UAAU,IAAI,IAAI,CAAA;IAGlB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IAGrD,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB"}
1
+ {"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/interfaces/real-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAA;IAGd,wDAAwD;IACxD,MAAM,IAAI,IAAI,CAAA;IACd,aAAa;IACb,OAAO,IAAI,IAAI,CAAA;IAGf,0CAA0C;IAC1C,eAAe,IAAI,IAAI,CAAA;IACvB,oDAAoD;IACpD,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,cAAc,IAAI,IAAI,CAAA;IAGtB,gBAAgB;IAChB,WAAW,IAAI,IAAI,CAAA;IACnB,eAAe;IACf,YAAY,IAAI,IAAI,CAAA;IACpB,iBAAiB;IACjB,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,iBAAiB,IAAI,IAAI,CAAA;IACzB,gBAAgB;IAChB,UAAU,IAAI,IAAI,CAAA;IAGlB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IAGrD,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB"}
@@ -8,8 +8,27 @@ export type Class = {
8
8
  export type Properties = {
9
9
  [key: string]: any;
10
10
  };
11
- export type State = Properties;
12
11
  export type Style = Properties;
12
+ /**
13
+ * Component state — 임의 필드를 갖는 동적 객체.
14
+ *
15
+ * 컴포넌트별로 자기 state 형태를 선언하고 싶으면 이 인터페이스를 extends 하여
16
+ * 필드를 추가하고, 컴포넌트 클래스에서 `declare state: MyState` 로 좁히면 된다:
17
+ *
18
+ * interface MyState extends State {
19
+ * mySpecificField: number
20
+ * myStatus: 'idle' | 'busy'
21
+ * }
22
+ * class MyComponent extends RectPath(Shape) {
23
+ * declare state: MyState // 타입 narrowing — 런타임 영향 없음
24
+ * }
25
+ *
26
+ * 기존 `state.foo` 접근 코드는 인덱스 시그니처로 호환된다.
27
+ * 추후 단계적으로 공통 필드(left/top/width/height/...)를 명시적으로 추가할 수 있다.
28
+ */
29
+ export interface State {
30
+ [key: string]: any;
31
+ }
13
32
  /**
14
33
  * 좌표, 위치, 크기 관련 타입
15
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interfaces/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interfaces/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { Pose6DOF } from './pose6dof.js';
2
+ /**
3
+ * Component 의 parent-local pose 를 읽는다.
4
+ *
5
+ * 정의: component 가 부모의 좌표계 안에서 차지하는 위치+자세.
6
+ * 3D pipeline 의 RealObject.center / RealObject.rotation 과 동일한 의미축.
7
+ *
8
+ * 좌표 매핑 (state → Pose6DOF):
9
+ * pos.x = component.center.x + tx - parent.width/2 (parent-centered 3D X)
10
+ * pos.y = cz (3D vertical Y, cz 공식)
11
+ * pos.z = component.center.y + ty - parent.height/2 (parent-centered 3D Z)
12
+ * rot = Euler(state.rotationX, -state.rotation, state.rotationY, 'XYZ')
13
+ *
14
+ * 컴포넌트가 RealObject 를 안 가지면 cz=0 으로 평면 처리.
15
+ */
16
+ export declare function getPose(component: any): Pose6DOF;
17
+ /**
18
+ * Component 의 world pose 를 읽는다.
19
+ *
20
+ * 우선순위:
21
+ * 1. _realObject.object3d.matrixWorld 가 있으면 거기서 분해 (정확)
22
+ * 2. 부모 chain 을 따라가며 getPose() 합성 (fallback, 2D-only 환경)
23
+ *
24
+ * 호출 전에 `obj3d.updateWorldMatrix(true, false)` 보장 책임은 호출자.
25
+ */
26
+ export declare function getWorldPose(component: any): Pose6DOF;
27
+ /**
28
+ * Component 에 parent-local pose 를 단일 atomic setState 로 적용.
29
+ *
30
+ * 한 번의 호출이 left/top/zPos/rotation/rotationX/rotationY 를 동시에 갱신 →
31
+ * onchange 가 한 번만 fire → pipeline 이 obj3d 를 한 번 다시 계산. 부분 상태가
32
+ * frame 사이에 노출되지 않는다 (Phase G 의 핵심 invariant).
33
+ *
34
+ * 좌표 역매핑 (Pose6DOF → state):
35
+ * center.x = pos.x + parent.width/2 - tx
36
+ * center.y = pos.z + parent.height/2 - ty
37
+ * zPos = pos.y - tz - syncZPosOffset + parent.geometricOffsetY
38
+ * Euler decompose 'XYZ' → (rotationX = e.x, rotation = -e.y, rotationY = e.z)
39
+ *
40
+ * 기존 syncFromObject3D 의 로직과 동일 — 그것을 명시적 API 로 노출.
41
+ */
42
+ export declare function setPose(component: any, pose: Pose6DOF): void;
43
+ /**
44
+ * Component 에 world pose 를 적용. 부모의 world pose 의 inverse 로 곱해서
45
+ * parent-local 로 변환 후 setPose.
46
+ *
47
+ * 부모가 root 거나 parent.worldPose 를 못 구하면 setPose 와 동일 (world =
48
+ * parent-local 로 가정).
49
+ */
50
+ export declare function setWorldPose(component: any, worldPose: Pose6DOF): void;
51
+ //# sourceMappingURL=component-pose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-pose.d.ts","sourceRoot":"","sources":["../../src/math/component-pose.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAOxC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,GAAG,GAAG,QAAQ,CA0BhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,GAAG,GAAG,QAAQ,CAgBrD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAuC5D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI,CAStE"}
@@ -0,0 +1,3 @@
1
+ export { Pose6DOF, type PoseLike } from './pose6dof.js';
2
+ export { getPose, getWorldPose, setPose, setWorldPose } from './component-pose.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA"}