@hatiolab/things-scene 10.0.0-beta.90 → 10.0.0-beta.92

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 (106) 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 +7 -3
  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 +7 -3
  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/interfaces/layout.d.ts +35 -1
  59. package/dist-types/interfaces/layout.d.ts.map +1 -1
  60. package/dist-types/interfaces/real-object.d.ts +8 -1
  61. package/dist-types/interfaces/real-object.d.ts.map +1 -1
  62. package/dist-types/interfaces/types.d.ts +20 -1
  63. package/dist-types/interfaces/types.d.ts.map +1 -1
  64. package/dist-types/layout/absolute.d.ts +2 -2
  65. package/dist-types/layout/card.d.ts +2 -2
  66. package/dist-types/layout/linear-horizontal.d.ts +2 -2
  67. package/dist-types/layout/linear-vertical.d.ts +2 -2
  68. package/dist-types/layout/table.d.ts +3 -3
  69. package/dist-types/placement/index.d.ts +3 -0
  70. package/dist-types/placement/index.d.ts.map +1 -0
  71. package/dist-types/placement/placement.d.ts +53 -0
  72. package/dist-types/placement/placement.d.ts.map +1 -0
  73. package/dist-types/things-scene/index.d.ts +4 -1
  74. package/dist-types/things-scene/index.d.ts.map +1 -1
  75. package/dist-types/threed/factories/backdrop.d.ts +78 -70
  76. package/dist-types/threed/factories/backdrop.d.ts.map +1 -1
  77. package/dist-types/threed/factories/banner.d.ts +39 -35
  78. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  79. package/dist-types/threed/factories/camera.d.ts +39 -35
  80. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  81. package/dist-types/threed/factories/cube.d.ts +39 -35
  82. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  83. package/dist-types/threed/factories/decal.d.ts +78 -70
  84. package/dist-types/threed/factories/decal.d.ts.map +1 -1
  85. package/dist-types/threed/factories/gltf-object.d.ts +77 -69
  86. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  87. package/dist-types/threed/factories/sprite.d.ts +39 -35
  88. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  89. package/dist-types/threed/factories/wall.d.ts +39 -35
  90. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  91. package/dist-types/threed/real-object.d.ts +29 -1
  92. package/dist-types/threed/real-object.d.ts.map +1 -1
  93. package/dist-types/transfer/container-capacity.d.ts +229 -1
  94. package/dist-types/transfer/container-capacity.d.ts.map +1 -1
  95. package/dist-types/transition/transition-effect.d.ts +7 -1
  96. package/dist-types/transition/transition-effect.d.ts.map +1 -1
  97. package/dist-types/types/component.d.ts +6 -177
  98. package/dist-types/types/component.d.ts.map +1 -1
  99. package/dist-types/types/event.d.ts +57 -0
  100. package/dist-types/types/event.d.ts.map +1 -1
  101. package/package.json +1 -1
  102. package/things-scene-min.js +11 -11
  103. package/things-scene-min.js.map +1 -1
  104. package/things-scene-transfer.mjs +1 -1
  105. package/things-scene.mjs +3 -3
  106. 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"}
@@ -1,5 +1,7 @@
1
+ import type Component from '../components/component.js';
2
+ import type Container from '../components/container.js';
1
3
  /**
2
- * 레이아웃 인터페이스
4
+ * 레이아웃 인터페이스 (구현체용)
3
5
  */
4
6
  export interface LAYOUT {
5
7
  reflow(container: any, component?: any): void;
@@ -9,6 +11,38 @@ export interface LAYOUT {
9
11
  keyNavigate?(container: any, component: any, e: KeyboardEvent): any | undefined;
10
12
  joinType?: boolean;
11
13
  }
14
+ /**
15
+ * 레이아웃 인터페이스 (Public API — 외부 타입 어노테이션용)
16
+ *
17
+ * A layout strategy defines how a container arranges its child components.
18
+ * Only components with `position: 'static'` should be affected by layout.
19
+ */
20
+ export interface Layout {
21
+ /**
22
+ * Recalculates the positions and sizes of child components.
23
+ */
24
+ reflow(container: Container, component?: Component): void;
25
+ /**
26
+ * Returns components that are eligible for interaction.
27
+ */
28
+ capturables(container: Container): Component[];
29
+ /**
30
+ * Returns components that should be rendered.
31
+ */
32
+ drawables(container: Container): Component[];
33
+ /**
34
+ * Determines whether the given component is "stuck" in its layout position.
35
+ */
36
+ isStuck(component: Component): boolean;
37
+ /**
38
+ * (Optional) Key navigation handler for keyboard interaction within the layout.
39
+ */
40
+ keyNavigate?(container: Container, component: Component, e: KeyboardEvent): Component | undefined;
41
+ /**
42
+ * (Optional) Whether the layout joins component types.
43
+ */
44
+ joinType?: boolean;
45
+ }
12
46
  /**
13
47
  * 레이아웃 레지스트리 인터페이스
14
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/interfaces/layout.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAC7C,WAAW,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAClC,SAAS,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAChC,OAAO,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAA;IAChC,WAAW,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,GAAG,GAAG,GAAG,SAAS,CAAA;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,IAAI,IAAI;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACnC"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/interfaces/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAC7C,WAAW,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAClC,SAAS,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAChC,OAAO,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAA;IAChC,WAAW,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,GAAG,GAAG,GAAG,SAAS,CAAA;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IAEzD;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;IAE9C;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;IAE5C;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAA;IAEtC;;OAEG;IACH,WAAW,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;IAEjG;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,IAAI,IAAI;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACnC"}
@@ -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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"}
@@ -2,8 +2,8 @@ import type { LAYOUT } from '../interfaces/layout.js';
2
2
  import type { Component, Container } from '../types/component.js';
3
3
  declare class AbsoluteLayout implements LAYOUT {
4
4
  reflow(container: Container, component?: Component): void;
5
- capturables(container: Container): Component[];
6
- drawables(container: Container): Component[];
5
+ capturables(container: Container): import("../index.js").Component[];
6
+ drawables(container: Container): import("../index.js").Component[];
7
7
  isStuck(component: Component): boolean;
8
8
  ABSOLUTE: boolean;
9
9
  }
@@ -2,8 +2,8 @@ import type { LAYOUT } from '../interfaces/layout.js';
2
2
  import type { Component, Container } from '../types/component.js';
3
3
  declare class CardLayout implements LAYOUT {
4
4
  reflow(container: Container): void;
5
- capturables(container: Container): Component[];
6
- drawables(container: Container): Component[];
5
+ capturables(container: Container): import("../index.js").Component[];
6
+ drawables(container: Container): import("../index.js").Component[];
7
7
  isStuck(component: Component): boolean;
8
8
  }
9
9
  declare const cardLayout: CardLayout;
@@ -2,8 +2,8 @@ import type { LAYOUT } from '../interfaces/layout.js';
2
2
  import type { Component, Container } from '../types/component.js';
3
3
  declare class LinearHorizontal implements LAYOUT {
4
4
  reflow(container: Container): void;
5
- capturables(container: Container): Component[];
6
- drawables(container: Container): Component[];
5
+ capturables(container: Container): import("../index.js").Component[];
6
+ drawables(container: Container): import("../index.js").Component[];
7
7
  isStuck(component: Component): boolean;
8
8
  }
9
9
  declare const linearHorizontal: LinearHorizontal;
@@ -2,8 +2,8 @@ import type { LAYOUT } from '../interfaces/layout.js';
2
2
  import type { Component, Container } from '../types/component.js';
3
3
  declare class LinearVertical implements LAYOUT {
4
4
  reflow(container: Container): void;
5
- capturables(container: Container): Component[];
6
- drawables(container: Container): Component[];
5
+ capturables(container: Container): import("../index.js").Component[];
6
+ drawables(container: Container): import("../index.js").Component[];
7
7
  isStuck(component: Component): boolean;
8
8
  }
9
9
  declare const linearVertical: LinearVertical;
@@ -2,10 +2,10 @@ import type { LAYOUT } from '../interfaces/layout.js';
2
2
  import type { Component, Container } from '../types/component.js';
3
3
  declare class TableLayout implements LAYOUT {
4
4
  reflow(container: Container): void;
5
- capturables(container: Container): Component[];
6
- drawables(container: Container): Component[];
5
+ capturables(container: Container): import("../index.js").Component[];
6
+ drawables(container: Container): import("../index.js").Component[];
7
7
  isStuck(component: Component): boolean;
8
- keyNavigate(container: Container, component: Component, e: KeyboardEvent): Component | undefined;
8
+ keyNavigate(container: Container, component: Component, e: KeyboardEvent): import("../index.js").Component | undefined;
9
9
  joinType: boolean;
10
10
  }
11
11
  declare const tableLayout: TableLayout;
@@ -0,0 +1,3 @@
1
+ export type { Placement, PlacementPolicy } from './placement.js';
2
+ export { DEFAULT_PLACEMENT, isStateDriven } from './placement.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/placement/index.ts"],"names":[],"mappings":"AAMA,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * 컴포넌트의 placement 결정 정책.
3
+ *
4
+ * - **state-driven** (default): state.left/top/zPos/rotation/... 이 obj3d 에 반영.
5
+ * 현재 things-scene 의 모든 컴포넌트가 묵시적으로 따르는 정책.
6
+ *
7
+ * - **carried**: 다른 holder 의 attach frame 에 부착. holder 의 movement 를
8
+ * scene-graph 통해 자동 추종. carrier policy (world-preserve / belt-aligned /
9
+ * world-fixed 등) 는 holder 가 결정. 예: AGV 위 박스, sorter carrier 위 파레트.
10
+ *
11
+ * - **animated**: animation system 이 일시적으로 obj3d 를 override. animation
12
+ * 종료 시 다른 정책으로 복귀.
13
+ *
14
+ * - **fixed**: world 좌표 고정 (parent 변경 무관). HUD / screenFixed 컴포넌트.
15
+ *
16
+ * - **transitioning**: reparent 중 TransitionEffect 가 보간 제어. transition
17
+ * 완료 시 keepSuppressed 면 carried 또는 manual, 아니면 state-driven 으로 복귀.
18
+ *
19
+ * - **manual**: 컴포넌트 코드가 직접 obj3d.position/quaternion 을 매 frame
20
+ * 조작. framework 는 개입 안 함. 예: cross-belt-line 의 _tickSim, IK
21
+ * smoothing, URDF physics.
22
+ */
23
+ export type PlacementPolicy = 'state-driven' | 'carried' | 'animated' | 'fixed' | 'transitioning' | 'manual';
24
+ /**
25
+ * Placement 선언. 컴포넌트의 RealObject 가 이 객체를 반환하면 framework 가
26
+ * 정책에 따라 동작.
27
+ *
28
+ * Step 1 에선 policy 만 정의. 후속 step 에서 정책별 metadata (예: carried 의
29
+ * carryPolicy 'world-preserve' / 'belt-aligned', transitioning 의 transition 객체)
30
+ * 를 추가.
31
+ */
32
+ export interface Placement {
33
+ policy: PlacementPolicy;
34
+ /**
35
+ * 정책별 metadata. 선언 시점에 정책에 따라 추가 정보를 담음.
36
+ * Step 1 에선 미사용. 향후 정책 별로 타입 좁히기 (discriminated union) 적용.
37
+ */
38
+ meta?: Record<string, unknown>;
39
+ }
40
+ /** 기본 placement = 현재 동작 = state pipeline 이 obj3d 를 결정. */
41
+ export declare const DEFAULT_PLACEMENT: Placement;
42
+ /**
43
+ * Placement 정책이 state pipeline 적용을 허용하는가.
44
+ *
45
+ * - state-driven: ✓ 적용
46
+ * - 그 외: framework 가 obj3d 를 건드리지 않음 (다른 시스템 또는 컴포넌트가 책임).
47
+ *
48
+ * 현재 RealObject 의 `suppressTransform` 플래그와 의미가 겹침. 마이그레이션
49
+ * 단계 (Step 2~7) 에서 suppressTransform 이 점진적으로 `placement.policy !==
50
+ * 'state-driven'` 으로 흡수됨. 호환성 위해 두 메커니즘 일정 기간 병존.
51
+ */
52
+ export declare function isStateDriven(placement: Placement): boolean;
53
+ //# sourceMappingURL=placement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placement.d.ts","sourceRoot":"","sources":["../../src/placement/placement.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,SAAS,GACT,UAAU,GACV,OAAO,GACP,eAAe,GACf,QAAQ,CAAA;AAEZ;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,eAAe,CAAA;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,EAAE,SAAsC,CAAA;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAE3D"}
@@ -16,12 +16,12 @@ export declare namespace Model {
16
16
  }
17
17
  export { default as Layer } from '../layer/layer.js';
18
18
  export { default as EventMap } from '../event-map/event-map.js';
19
+ export type { ComponentEventMap } from '../types/event.js';
19
20
  export * from '../const.js';
20
21
  export * from '../animation/index.js';
21
22
  export * from '../components/index.js';
22
23
  export * from '../layout/index.js';
23
24
  export * from '../types/index.js';
24
- export type { Component } from '../types/component.js';
25
25
  export type { POINT, SCALE, TRANSLATE, POSITION, LOCATION, ROTATION, DIMENSION, BOUNDS, DELTA, FITMODE, ComponentNature, Anchor, LinkEndConfig, ControlHandler, Control, Decorator, PopupOptions, ChangeFunction, Class, Properties, State, Style } from '../interfaces/types.js';
26
26
  export type { ReferenceProvider, DataSubscriptionProvider, PersistentDataStorage } from '../interfaces/providers.js';
27
27
  export type { SceneRenderContext, DrawOptions, StyleOptions, FillStyle, StrokeStyle, TextStyle, Shadow, IFillDrawer, IStrokeDrawer, ITextDrawer, ILineTipDrawer, IImageDrawer } from '../interfaces/rendering.js';
@@ -30,6 +30,8 @@ export type { LAYOUT, LayoutRegistry } from '../interfaces/layout.js';
30
30
  export type { IRealObject } from '../interfaces/real-object.js';
31
31
  export type { Vec3, Size3, Bounds3, SlotArrangement, GridShape, SlotDef, SlotAssignment, TransferOptions, StaticPolicy, DynamicPolicy, PendingPolicy, ConnectionPolicy, Port, TransferEventType, TransferEvent, CarrierAttachPoint, ArrangementStrategy, Transferable, NavigationTarget, NavigationOptions, Movable, ArticulatedCapability, MissionStatus, VehicleMission, MissionExecutor, SensorPoint, SpawnPoint, SinkPoint, SimulationClock } from '../transfer/index.js';
32
32
  export { FixedSlotStrategy, CenteringSlotStrategy, ContainerCapacity, TRANSFER_SLOT_KEY, globalSimClock } from '../transfer/index.js';
33
+ export { frameClock } from '../clock/index.js';
34
+ export type { FrameClock, TickHandler, Unsubscribe, SubscribeOptions, SubscriptionInfo, FrameClockSnapshot, ExternalAnimationInfo, ExternalAnimationHandle } from '../clock/index.js';
33
35
  export { default as ReferenceMap } from '../core/reference-map.js';
34
36
  export { default as ScriptLoader } from '../core/script-loader.js';
35
37
  export * from '../core/logger.js';
@@ -45,6 +47,7 @@ export type { LagMonitorConfig, LagTrend, LagLevel, LagStats } from '../diagnost
45
47
  export { LoadingOverlay } from '../diagnostics/loading-overlay.js';
46
48
  export { default as ScenePopup } from '../layer/action/popup.js';
47
49
  export { default as TransitionEffect } from '../transition/transition-effect.js';
50
+ export * from '../placement/index.js';
48
51
  export * from '../search/index.js';
49
52
  export * from '../threed/index.js';
50
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/things-scene/index.ts"],"names":[],"mappings":"AAIA,OAAO,mBAAmB,CAAA;AAE1B,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAC1C,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAEzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,yBAAiB,KAAK,CAAC;IACd,MAAM,OAAO,iBAAW,CAAA;IACxB,MAAM,SAAS,mBAAa,CAAA;IAC5B,MAAM,MAAM,gBAAU,CAAA;IACtB,MAAM,KAAK,eAAS,CAAA;CAC5B;AAED,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAE/D,cAAc,aAAa,CAAA;AAE3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AAGjC,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAGtD,YAAY,EACV,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EACxE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EACzE,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACpH,YAAY,EACV,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EACxF,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EACtE,MAAM,4BAA4B,CAAA;AACnC,YAAY,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAA;AACxE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACrE,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG/D,YAAY,EACV,IAAI,EACJ,KAAK,EACL,OAAO,EACP,eAAe,EACf,SAAS,EACT,OAAO,EACP,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EAChB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErI,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAElE,cAAc,mBAAmB,CAAA;AAEjC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACnE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAElE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAGhF,cAAc,oBAAoB,CAAA;AAGlC,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/things-scene/index.ts"],"names":[],"mappings":"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"}