@hatiolab/things-scene 10.0.0-beta.91 → 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 (97) 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/interfaces/real-object.d.ts +8 -1
  59. package/dist-types/interfaces/real-object.d.ts.map +1 -1
  60. package/dist-types/interfaces/types.d.ts +20 -1
  61. package/dist-types/interfaces/types.d.ts.map +1 -1
  62. package/dist-types/placement/index.d.ts +3 -0
  63. package/dist-types/placement/index.d.ts.map +1 -0
  64. package/dist-types/placement/placement.d.ts +53 -0
  65. package/dist-types/placement/placement.d.ts.map +1 -0
  66. package/dist-types/things-scene/index.d.ts +4 -0
  67. package/dist-types/things-scene/index.d.ts.map +1 -1
  68. package/dist-types/threed/factories/backdrop.d.ts +14 -6
  69. package/dist-types/threed/factories/backdrop.d.ts.map +1 -1
  70. package/dist-types/threed/factories/banner.d.ts +7 -3
  71. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  72. package/dist-types/threed/factories/camera.d.ts +7 -3
  73. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  74. package/dist-types/threed/factories/cube.d.ts +7 -3
  75. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  76. package/dist-types/threed/factories/decal.d.ts +14 -6
  77. package/dist-types/threed/factories/decal.d.ts.map +1 -1
  78. package/dist-types/threed/factories/gltf-object.d.ts +13 -5
  79. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  80. package/dist-types/threed/factories/sprite.d.ts +7 -3
  81. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  82. package/dist-types/threed/factories/wall.d.ts +7 -3
  83. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  84. package/dist-types/threed/real-object.d.ts +29 -1
  85. package/dist-types/threed/real-object.d.ts.map +1 -1
  86. package/dist-types/transfer/container-capacity.d.ts +229 -1
  87. package/dist-types/transfer/container-capacity.d.ts.map +1 -1
  88. package/dist-types/transition/transition-effect.d.ts +7 -1
  89. package/dist-types/transition/transition-effect.d.ts.map +1 -1
  90. package/dist-types/types/event.d.ts +57 -0
  91. package/dist-types/types/event.d.ts.map +1 -1
  92. package/package.json +1 -1
  93. package/things-scene-min.js +11 -11
  94. package/things-scene-min.js.map +1 -1
  95. package/things-scene-transfer.mjs +1 -1
  96. package/things-scene.mjs +3 -3
  97. package/things-scene.mjs.map +1 -1
@@ -1 +1 @@
1
- class t{positionAt(t,e,s){return 0!==t?null:e.localPosition??{x:0,y:0,z:0}}capacity(t){return 1}}const e=new t;class s{constructor(t){this.owner=t}positionAt(t,e,s,n){if(0!==t)return null;const i=this.owner?.state?.width??0,r=this.owner?.state?.height??0,o=n?.state?.width??0,a=n?.state?.height??0;return{x:Math.max(0,(i-o)/2),y:Math.max(0,(r-a)/2),z:0}}capacity(t){return t.maxCount??1}}const n="_transferSlotId";function i(t){return class extends t{get slots(){return[]}get arrangementStrategy(){return e}canReceive(t){return null!==this.findSlot(t)}findSlot(t){const e=this.slots;if(!e.length)return null;for(const s of e){if(s.allowedTypes?.length){const e=t?.state?.type??t?.type;if(!e||!s.allowedTypes.includes(e))continue}const e=s.maxCount??this.arrangementStrategy.capacity(s);if(!(this._countOccupied(s.id)>=e))return s}return null}async receive(t,e={}){const s=this.findSlot(t);if(!s)return void this.trigger?.("transfer-rejected",{type:"transfer-rejected",component:t,container:this,reason:"no-slot"});const i=this._countOccupied(s.id),r=this.arrangementStrategy.positionAt(i,s,i,t);t[n]=s.id;const{animated:o=!1,duration:a,ease:c}=e;this.reparent?.(t,{animated:o,duration:a,ease:c}),!o&&t._realObject&&(t._realObject.suppressTransform=!1);{const e=this._realObject?.receivingSurfaceY??0,n={};if(r&&(n.left=r.x,n.top=r.y),0!==e)n.zPos=0;else if(s.localPosition&&Number.isFinite(s.localPosition.z)){const t=this._realObject?.geometricOffsetY??0;n.zPos=s.localPosition.z+t}Object.keys(n).length&&t.setState?.(n)}this.trigger?.("transfer-received",{type:"transfer-received",component:t,container:this,slotId:s.id})}async dispatch(t,e,s={}){e.canReceive(t)?(delete t[n],await e.receive(t,s),this.trigger?.("transfer-dispatched",{type:"transfer-dispatched",component:t,container:this,target:e})):this.trigger?.("transfer-rejected",{type:"transfer-rejected",component:t,container:this,reason:"target-full"})}route(t){return null}resolveRoute(t,e){}rejectRoute(t,e="rejected"){this.trigger?.("transfer-rejected",{type:"transfer-rejected",component:t,container:this,reason:e})}attachPointFor(t){const e=t?.[n];if(!e)return null;const s=this.slots.find(t=>t.id===e);return s?{position:s.localPosition??{x:0,y:0,z:0},rotation:s.localRotation??{x:0,y:0,z:0},slotId:s.id}:null}_countOccupied(t){const e=this.components;return e?e.filter(e=>e[n]===t).length:0}}}const r=new class{constructor(){this._now=0,this._speed=1,this._paused=!1,this._listeners=new Set}get now(){return this._now}get speed(){return this._speed}set speed(t){this._speed=Math.max(0,t),this._speed>0&&(this._paused=!1)}get isPaused(){return this._paused}pause(){this._paused=!0}resume(){this._paused=!1}tick(t){if(this._paused||0===this._speed)return 0;const e=Math.min(t,200)*this._speed;return this._now+=e,this._notify(e),e}step(t){t<=0||(this._now+=t,this._notify(t))}onTick(t){return this._listeners.add(t),()=>this._listeners.delete(t)}_notify(t){this._listeners.forEach(e=>e(t))}};export{s as CenteringSlotStrategy,i as ContainerCapacity,t as FixedSlotStrategy,n as TRANSFER_SLOT_KEY,e as fixedSlotStrategy,r as globalSimClock};
1
+ class t{positionAt(t,e,s){return 0!==t?null:e.localPosition??{x:0,y:0,z:0}}capacity(t){return 1}}const e=new t;class s{constructor(t){this.owner=t}positionAt(t,e,s,n){if(0!==t)return null;const i=this.owner?.state?.width??0,r=this.owner?.state?.height??0,o=n?.state?.width??0,a=n?.state?.height??0;return{x:Math.max(0,(i-o)/2),y:Math.max(0,(r-a)/2),z:0}}capacity(t){return t.maxCount??1}}const n="_transferSlotId";function i(t){return class extends t{get slots(){return[]}get arrangementStrategy(){return e}canReceive(t){return null!==this.findSlot(t)}findSlot(t){const e=this.slots;if(!e.length)return null;for(const s of e){if(s.allowedTypes?.length){const e=t?.state?.type??t?.type;if(!e||!s.allowedTypes.includes(e))continue}const e=s.maxCount??this.arrangementStrategy.capacity(s);if(!(this._countOccupied(s.id)>=e))return s}return null}async receive(t,e={}){const s=this.findSlot(t);if(!s)return void this.trigger("transfer-rejected",{type:"transfer-rejected",component:t,container:this,reason:"no-slot"});const i=this._countOccupied(s.id),r=this.arrangementStrategy.positionAt(i,s,i,t);t[n]=s.id;const{animated:o=!1,duration:a,ease:c}=e;this.reparent?.(t,{animated:o,duration:a,ease:c}),!o&&t._realObject&&(t._realObject.suppressTransform=!1);{const e=this._realObject?.receivingSurfaceY??0,n={};if(r&&(n.left=r.x,n.top=r.y),0!==e)n.zPos=0;else if(s.localPosition&&Number.isFinite(s.localPosition.z)){const t=this._realObject?.geometricOffsetY??0;n.zPos=s.localPosition.z+t}Object.keys(n).length&&t.setState?.(n)}this.trigger("transfer-received",{type:"transfer-received",component:t,container:this,slotId:s.id})}async dispatch(t,e,s={}){e.canReceive(t)?(delete t[n],await e.receive(t,s),this.trigger("transfer-dispatched",{type:"transfer-dispatched",component:t,container:this,target:e})):this.trigger("transfer-rejected",{type:"transfer-rejected",component:t,container:this,reason:"target-full"})}route(t){return null}resolveRoute(t,e){}rejectRoute(t,e="rejected"){this.trigger("transfer-rejected",{type:"transfer-rejected",component:t,container:this,reason:e})}attachPointFor(t){const e=t?.[n];if(!e)return null;const s=this.slots.find(t=>t.id===e);return s?{position:s.localPosition??{x:0,y:0,z:0},rotation:s.localRotation??{x:0,y:0,z:0},slotId:s.id}:null}_countOccupied(t){const e=this.components;return e?e.filter(e=>e[n]===t).length:0}}}const r=new class{constructor(){this._now=0,this._speed=1,this._paused=!1,this._listeners=new Set}get now(){return this._now}get speed(){return this._speed}set speed(t){this._speed=Math.max(0,t),this._speed>0&&(this._paused=!1)}get isPaused(){return this._paused}pause(){this._paused=!0}resume(){this._paused=!1}tick(t){if(this._paused||0===this._speed)return 0;const e=Math.min(t,200)*this._speed;return this._now+=e,this._notify(e),e}step(t){t<=0||(this._now+=t,this._notify(t))}onTick(t){return this._listeners.add(t),()=>this._listeners.delete(t)}_notify(t){this._listeners.forEach(e=>e(t))}};export{s as CenteringSlotStrategy,i as ContainerCapacity,t as FixedSlotStrategy,n as TRANSFER_SLOT_KEY,e as fixedSlotStrategy,r as globalSimClock};