@hatiolab/things-scene 10.0.0-beta.88 → 10.0.0-beta.89
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.
- package/dist-types/components/container-abstract.d.ts +8 -0
- package/dist-types/components/container-abstract.d.ts.map +1 -1
- package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
- package/dist-types/things-scene/index.d.ts +2 -0
- package/dist-types/things-scene/index.d.ts.map +1 -1
- package/dist-types/threed/html/elements.d.ts.map +1 -1
- package/dist-types/threed/real-object.d.ts +9 -0
- package/dist-types/threed/real-object.d.ts.map +1 -1
- package/dist-types/transfer/centering-slot-strategy.d.ts +8 -0
- package/dist-types/transfer/centering-slot-strategy.d.ts.map +1 -0
- package/dist-types/transfer/container-capacity.d.ts +42 -0
- package/dist-types/transfer/container-capacity.d.ts.map +1 -0
- package/dist-types/transfer/fixed-slot-strategy.d.ts +8 -0
- package/dist-types/transfer/fixed-slot-strategy.d.ts.map +1 -0
- package/dist-types/transfer/index.d.ts +7 -0
- package/dist-types/transfer/index.d.ts.map +1 -0
- package/dist-types/transfer/simulation-clock.d.ts +45 -0
- package/dist-types/transfer/simulation-clock.d.ts.map +1 -0
- package/dist-types/transfer/types.d.ts +285 -0
- package/dist-types/transfer/types.d.ts.map +1 -0
- package/dist-types/transition/transition-effect.d.ts +7 -0
- package/dist-types/transition/transition-effect.d.ts.map +1 -1
- package/package.json +11 -1
- package/things-scene-min.js +4 -4
- package/things-scene-min.js.map +1 -1
- package/things-scene-transfer.mjs +1 -0
- package/things-scene.mjs +3 -3
- package/things-scene.mjs.map +1 -1
|
@@ -505,6 +505,14 @@ export default class ContainerAbstract extends ContainerAbstract_base {
|
|
|
505
505
|
animated?: boolean;
|
|
506
506
|
duration?: number;
|
|
507
507
|
ease?: string;
|
|
508
|
+
/**
|
|
509
|
+
* Custom 3D parent to attach the component's object3d to.
|
|
510
|
+
* Defaults to this container's own _realObject.object3d.
|
|
511
|
+
* Use this when the target container has a sub-group (e.g. a bodyGroup
|
|
512
|
+
* rotated for orientation) that items should attach to rather than the
|
|
513
|
+
* container root.
|
|
514
|
+
*/
|
|
515
|
+
toParent3D?: any;
|
|
508
516
|
}): void;
|
|
509
517
|
addComponent(component: any, options?: boolean | {
|
|
510
518
|
ghost?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-abstract.d.ts","sourceRoot":"","sources":["../../src/components/container-abstract.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,SAAS,MAAM,gBAAgB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMtC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,sBAA+B;IACpE,WAAW,EAAE,SAAS,EAAE,CAAA;gBAEpB,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG;IAOrC,aAAa,CAAC,UAAU,KAAA;IAIxB,IAAI,cAAc,YAEjB;IAED,IAAI,YAAY,YAEf;IAED,OAAO;IAMP,WAAW,IAAI,IAAI,IAAI,SAAS;IAIhC,WAAW,CAAC,SAAS,KAAA;IAIrB,IAAI,eAAe,YAElB;IAED,IAAI,UAAU,gBAEb;IAID,IAAI,SAAS,YAEZ;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,MAAM;IASN,IAAI,SAAS,QAQZ;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,
|
|
1
|
+
{"version":3,"file":"container-abstract.d.ts","sourceRoot":"","sources":["../../src/components/container-abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"move-handle.d.ts","sourceRoot":"","sources":["../../../src/components/mixins/move-handle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAE5C,KAAK,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"move-handle.d.ts","sourceRoot":"","sources":["../../../src/components/mixins/move-handle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAE5C,KAAK,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAYpD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,SAAS,WAAW,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;kBAZzC,GAAG,EAAE;kBAcxB,OAAO;8BAEH,OAAO;4BAIT,wBAAwB;mCAYjB,wBAAwB;oBA2BvC,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+BhC"}
|
|
@@ -27,6 +27,8 @@ export type { SceneRenderContext, DrawOptions, StyleOptions, FillStyle, StrokeSt
|
|
|
27
27
|
export type { LinkEnd } from '../decorator/decorators/link-decorator.js';
|
|
28
28
|
export type { LAYOUT, LayoutRegistry } from '../interfaces/layout.js';
|
|
29
29
|
export type { IRealObject } from '../interfaces/real-object.js';
|
|
30
|
+
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';
|
|
31
|
+
export { FixedSlotStrategy, CenteringSlotStrategy, ContainerCapacity, TRANSFER_SLOT_KEY, globalSimClock } from '../transfer/index.js';
|
|
30
32
|
export { default as ReferenceMap } from '../core/reference-map.js';
|
|
31
33
|
export { default as ScriptLoader } from '../core/script-loader.js';
|
|
32
34
|
export * from '../core/logger.js';
|
|
@@ -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,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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/things-scene/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/threed/html/elements.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/threed/html/elements.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,WAAW,QAAsB,CAAA;AAE9C,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAS7E"}
|
|
@@ -51,6 +51,15 @@ export declare abstract class RealObject<T extends THREE.Object3D = THREE.Object
|
|
|
51
51
|
get cx(): number;
|
|
52
52
|
get cy(): number;
|
|
53
53
|
get cz(): number;
|
|
54
|
+
/**
|
|
55
|
+
* 이 컨테이너가 아이템을 받는 표면의 Y (자신의 object3d local space 기준).
|
|
56
|
+
* 서브클래스에서 오버라이드하면 ContainerCapacity.receive()가 수용된 아이템의
|
|
57
|
+
* zPos를 0으로 설정하고, cz 계산 시 이 값만큼 자동으로 보정된다.
|
|
58
|
+
* 결과: 수용된 아이템의 zPos=0 이 "이 표면 위에 놓임"을 의미하게 됨.
|
|
59
|
+
*
|
|
60
|
+
* 반환값: object3d local Y에서 표면의 위치. 0 = 표면 없음(기본값).
|
|
61
|
+
*/
|
|
62
|
+
get receivingSurfaceY(): number;
|
|
54
63
|
/**
|
|
55
64
|
* 실제 사용되는 zPos 값. depth의 effectiveDepth와 짝을 이루는 NaN-safe getter.
|
|
56
65
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/threed/real-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,wBAAwB,CAAA;AAK/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAU5E,8BAAsB,UAAU,CAAC,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAE,YAAW,WAAW;IAChG,SAAS,CAAC,UAAU,EAAE,SAAS,CAAA;IAC/B,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAQ;IACnC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,iBAAiB,UAAQ;IACnC,OAAO,CAAC,SAAS,CAAC,CAAQ;IAEnB,QAAQ,EAAE,CAAC,CAAA;IAUlB,OAAO,CAAC,gBAAgB,CAIvB;IAED,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO;gBAIlE,SAAS,EAAE,SAAS;IAOhC,MAAM;IAaN,SAAS,CAAC,mBAAmB,IAAI,CAAC;IAIlC,KAAK;IAOL,gBAAgB;IAMhB,OAAO,CAAC,YAAY;IAWpB,4DAA4D;IAC5D,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,oCAAoC;IACpC,IAAI,iBAAiB,IAAI,MAAM,EAAE,GAAG,IAAI,CAEvC;IAED,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,IAAI,cAAc,IAAI,yBAAyB,GAAG,SAAS,CAS1D;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAK3B;IAED,OAAO;IAMP,KAAK;IAqBL,iBAAiB,UAAQ;IAEzB;;OAEG;IACH,eAAe;IAqBf,IAAI,QAAQ;;;;MAOX;IAED,IAAI,QAAQ;;;;MAQX;IAED,IAAI,KAAK;;;;MAUR;IAED,IAAI,EAAE,WAML;IAED,IAAI,EAAE,WAML;IAED,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/threed/real-object.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ArrangementStrategy, SlotDef, Vec3 } from './types.js';
|
|
2
|
+
export declare class CenteringSlotStrategy implements ArrangementStrategy {
|
|
3
|
+
private readonly owner;
|
|
4
|
+
constructor(owner: any);
|
|
5
|
+
positionAt(index: number, slotDef: SlotDef, _occupantCount: number, component?: any): Vec3 | null;
|
|
6
|
+
capacity(slotDef: SlotDef): number;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=centering-slot-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"centering-slot-strategy.d.ts","sourceRoot":"","sources":["../../src/transfer/centering-slot-strategy.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEpE,qBAAa,qBAAsB,YAAW,mBAAmB;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,GAAG;IAEvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IAejG,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;CAGnC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { SlotDef, TransferOptions, Transferable, CarrierAttachPoint, ArrangementStrategy } from './types.js';
|
|
2
|
+
/** Key used to store the current slot assignment on a child component. */
|
|
3
|
+
export declare const TRANSFER_SLOT_KEY = "_transferSlotId";
|
|
4
|
+
type Constructor<T = object> = new (...args: any[]) => T;
|
|
5
|
+
/**
|
|
6
|
+
* Mixin that adds Transferable capacity to any ContainerAbstract subclass.
|
|
7
|
+
*
|
|
8
|
+
* The mixed-in class provides concrete implementations of all Transferable methods.
|
|
9
|
+
* Subclasses must implement `get slots(): SlotDef[]`; everything else has sensible defaults.
|
|
10
|
+
*/
|
|
11
|
+
export declare function ContainerCapacity<TBase extends Constructor>(Base: TBase): {
|
|
12
|
+
new (...args: any[]): {
|
|
13
|
+
/** Declare the slot topology of this container. */
|
|
14
|
+
get slots(): SlotDef[];
|
|
15
|
+
/**
|
|
16
|
+
* ArrangementStrategy used when `slots` is empty or slotDef has no arrangement.
|
|
17
|
+
* Override in subclass to supply richer strategies (Stack, Queue, Grid, etc.).
|
|
18
|
+
*/
|
|
19
|
+
get arrangementStrategy(): ArrangementStrategy;
|
|
20
|
+
canReceive(component: any): boolean;
|
|
21
|
+
findSlot(component: any): SlotDef | null;
|
|
22
|
+
receive(component: any, options?: TransferOptions): Promise<void>;
|
|
23
|
+
dispatch(component: any, target: Transferable, options?: TransferOptions): Promise<void>;
|
|
24
|
+
route(_component: any): Transferable | null | Promise<Transferable | null>;
|
|
25
|
+
/**
|
|
26
|
+
* WCS resolves a pending route by providing the confirmed target.
|
|
27
|
+
* Subclasses that implement PendingPolicy must override this to
|
|
28
|
+
* unblock the waiting promise in route().
|
|
29
|
+
*/
|
|
30
|
+
resolveRoute(_component: any, _target: Transferable): void;
|
|
31
|
+
/**
|
|
32
|
+
* WCS rejects or times out a pending route.
|
|
33
|
+
* Fires 'transfer-rejected'; subclasses may trigger fallback routing.
|
|
34
|
+
*/
|
|
35
|
+
rejectRoute(component: any, reason?: string): void;
|
|
36
|
+
attachPointFor(component: any): CarrierAttachPoint | null;
|
|
37
|
+
/** Count children currently assigned to `slotId`. */
|
|
38
|
+
_countOccupied(slotId: string): number;
|
|
39
|
+
};
|
|
40
|
+
} & TBase;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=container-capacity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-capacity.d.ts","sourceRoot":"","sources":["../../src/transfer/container-capacity.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAGjH,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,oBAAoB,CAAA;AAElD,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAExD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK;kBAR3B,GAAG,EAAE;QAa9C,mDAAmD;qBACtC,OAAO,EAAE;QAItB;;;WAGG;mCACwB,mBAAmB;8BAMxB,GAAG,GAAG,OAAO;4BAKf,GAAG,GAAG,OAAO,GAAG,IAAI;2BAsBf,GAAG,YAAW,eAAe,GAAQ,OAAO,CAAC,IAAI,CAAC;4BA+DjD,GAAG,UAAU,YAAY,YAAW,eAAe,GAAQ,OAAO,CAAC,IAAI,CAAC;0BAuBhF,GAAG,GAAG,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;QAI1E;;;;WAIG;iCACsB,GAAG,WAAW,YAAY,GAAG,IAAI;QAI1D;;;WAGG;+BACoB,GAAG,oBAAwB,IAAI;kCAS5B,GAAG,GAAG,kBAAkB,GAAG,IAAI;QAgBzD,qDAAqD;+BAC9B,MAAM,GAAG,MAAM;;UAMzC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ArrangementStrategy, SlotDef, Vec3 } from './types.js';
|
|
2
|
+
export declare class FixedSlotStrategy implements ArrangementStrategy {
|
|
3
|
+
positionAt(index: number, slotDef: SlotDef, _occupantCount: number): Vec3 | null;
|
|
4
|
+
capacity(_slotDef: SlotDef): number;
|
|
5
|
+
}
|
|
6
|
+
/** Singleton — FixedSlotStrategy is stateless. */
|
|
7
|
+
export declare const fixedSlotStrategy: FixedSlotStrategy;
|
|
8
|
+
//# sourceMappingURL=fixed-slot-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixed-slot-strategy.d.ts","sourceRoot":"","sources":["../../src/transfer/fixed-slot-strategy.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEpE,qBAAa,iBAAkB,YAAW,mBAAmB;IAC3D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKhF,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM;CAGpC;AAED,kDAAkD;AAClD,eAAO,MAAM,iBAAiB,mBAA0B,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
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 } from './types.js';
|
|
2
|
+
export { FixedSlotStrategy, fixedSlotStrategy } from './fixed-slot-strategy.js';
|
|
3
|
+
export { CenteringSlotStrategy } from './centering-slot-strategy.js';
|
|
4
|
+
export { ContainerCapacity, TRANSFER_SLOT_KEY } from './container-capacity.js';
|
|
5
|
+
export type { SimulationClock } from './simulation-clock.js';
|
|
6
|
+
export { globalSimClock } from './simulation-clock.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAIA,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,EACV,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC9E,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export interface SimulationClock {
|
|
2
|
+
/**
|
|
3
|
+
* Simulated time elapsed since clock creation (ms).
|
|
4
|
+
* Advances only when speed > 0 and the clock is running.
|
|
5
|
+
*/
|
|
6
|
+
readonly now: number;
|
|
7
|
+
/**
|
|
8
|
+
* Time scale factor.
|
|
9
|
+
* 1.0 = real-time
|
|
10
|
+
* 2.0 = double speed
|
|
11
|
+
* 0 = paused (tick() returns 0, now stays fixed)
|
|
12
|
+
* Setting speed resumes a paused clock.
|
|
13
|
+
*/
|
|
14
|
+
speed: number;
|
|
15
|
+
readonly isPaused: boolean;
|
|
16
|
+
pause(): void;
|
|
17
|
+
resume(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Called from a requestAnimationFrame loop with the real wall-clock delta.
|
|
20
|
+
* Returns the scaled simulation delta that components should use for physics.
|
|
21
|
+
*
|
|
22
|
+
* If paused (speed === 0), returns 0 and does not advance `now`.
|
|
23
|
+
* Clamps realDeltaMs to 200 ms to prevent spiral-of-death on tab resume.
|
|
24
|
+
*/
|
|
25
|
+
tick(realDeltaMs: number): number;
|
|
26
|
+
/**
|
|
27
|
+
* Advance the clock by exactly `dt` simulation milliseconds, bypassing speed.
|
|
28
|
+
* Intended for unit tests and deterministic replay — do NOT call from RAF.
|
|
29
|
+
*/
|
|
30
|
+
step(dt: number): void;
|
|
31
|
+
/** Register a listener called after each tick / step with the scaled delta. */
|
|
32
|
+
onTick(listener: (dt: number) => void): () => void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The scene-wide SimulationClock instance.
|
|
36
|
+
*
|
|
37
|
+
* ConveyanceContainer, Mover and all time-dependent mixins call:
|
|
38
|
+
* const dt = globalSimClock.tick(realDeltaMs)
|
|
39
|
+
*
|
|
40
|
+
* Tests use:
|
|
41
|
+
* globalSimClock.step(100) // advance 100 ms deterministically
|
|
42
|
+
* globalSimClock.speed = 5 // run at 5× for the next tick
|
|
43
|
+
*/
|
|
44
|
+
export declare const globalSimClock: SimulationClock;
|
|
45
|
+
//# sourceMappingURL=simulation-clock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulation-clock.d.ts","sourceRoot":"","sources":["../../src/transfer/simulation-clock.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IAEpB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAE1B,KAAK,IAAI,IAAI,CAAA;IACb,MAAM,IAAI,IAAI,CAAA;IAEd;;;;;;OAMG;IACH,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;IAEjC;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtB,+EAA+E;IAC/E,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACnD;AAyDD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,eAAwC,CAAA"}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
export type Vec3 = {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
z: number;
|
|
5
|
+
};
|
|
6
|
+
export type Size3 = {
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
depth: number;
|
|
10
|
+
};
|
|
11
|
+
export type Bounds3 = Vec3 & Size3;
|
|
12
|
+
/**
|
|
13
|
+
* How items are arranged within a slot.
|
|
14
|
+
* 'single' — one item, fixed position (fork tip, TCP, simple cell)
|
|
15
|
+
* 'stack-y' — items stacked along +Y (crane forks, pallet stack)
|
|
16
|
+
* 'queue-z' — items queued along +Z / belt axis (conveyor)
|
|
17
|
+
* 'grid-xz' — items arranged in an XZ grid (AGV deck, pallet)
|
|
18
|
+
*/
|
|
19
|
+
export type SlotArrangement = 'single' | 'stack-y' | 'queue-z' | 'grid-xz';
|
|
20
|
+
/** Optional grid dimensions for 'grid-xz' arrangement. */
|
|
21
|
+
export type GridShape = {
|
|
22
|
+
cols: number;
|
|
23
|
+
rows: number;
|
|
24
|
+
};
|
|
25
|
+
/** Describes one logical slot within a Transferable container. */
|
|
26
|
+
export interface SlotDef {
|
|
27
|
+
id: string;
|
|
28
|
+
/** Local position of the slot origin within the container (scene units). */
|
|
29
|
+
localPosition?: Vec3;
|
|
30
|
+
localRotation?: Vec3;
|
|
31
|
+
/** Component types that may occupy this slot. Empty = any type allowed. */
|
|
32
|
+
allowedTypes?: string[];
|
|
33
|
+
/** Maximum occupant count (default 1). */
|
|
34
|
+
maxCount?: number;
|
|
35
|
+
arrangement?: SlotArrangement;
|
|
36
|
+
gridShape?: GridShape;
|
|
37
|
+
}
|
|
38
|
+
/** Runtime assignment — which slot a component currently occupies. */
|
|
39
|
+
export interface SlotAssignment {
|
|
40
|
+
slotId: string;
|
|
41
|
+
index: number;
|
|
42
|
+
}
|
|
43
|
+
export interface TransferOptions {
|
|
44
|
+
slotId?: string;
|
|
45
|
+
animated?: boolean;
|
|
46
|
+
duration?: number;
|
|
47
|
+
ease?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Pre-wired to a fixed component reference; resolved at design time.
|
|
51
|
+
* Used for static conveyors and fixed-route connections.
|
|
52
|
+
*/
|
|
53
|
+
export interface StaticPolicy {
|
|
54
|
+
kind: 'static';
|
|
55
|
+
targetRef: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Target resolved at runtime by evaluating an expression against the board model.
|
|
59
|
+
* Used for dynamic routing (sorter lane logic, WCS-driven divert).
|
|
60
|
+
*/
|
|
61
|
+
export interface DynamicPolicy {
|
|
62
|
+
kind: 'dynamic';
|
|
63
|
+
resolverExpr: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Transfer is suspended until an external signal (WCS/MES event) resolves.
|
|
67
|
+
* The component waits at the port; a timeout fires fallback after `timeoutMs`.
|
|
68
|
+
*/
|
|
69
|
+
export interface PendingPolicy {
|
|
70
|
+
kind: 'pending';
|
|
71
|
+
timeoutMs?: number;
|
|
72
|
+
fallbackRef?: string;
|
|
73
|
+
}
|
|
74
|
+
export type ConnectionPolicy = StaticPolicy | DynamicPolicy | PendingPolicy;
|
|
75
|
+
/** Directional connection point on a Transferable component. */
|
|
76
|
+
export interface Port {
|
|
77
|
+
id: string;
|
|
78
|
+
direction: 'input' | 'output';
|
|
79
|
+
slotId?: string;
|
|
80
|
+
policy?: ConnectionPolicy;
|
|
81
|
+
}
|
|
82
|
+
export type TransferEventType = 'transfer-received' | 'transfer-dispatched' | 'transfer-pending' | 'transfer-routed' | 'transfer-rejected';
|
|
83
|
+
export interface TransferEvent {
|
|
84
|
+
type: TransferEventType;
|
|
85
|
+
component: any;
|
|
86
|
+
container: any;
|
|
87
|
+
slotId?: string;
|
|
88
|
+
target?: any;
|
|
89
|
+
reason?: string;
|
|
90
|
+
}
|
|
91
|
+
/** The 3D attach frame that a carrier exposes for its payload. */
|
|
92
|
+
export interface CarrierAttachPoint {
|
|
93
|
+
position: Vec3;
|
|
94
|
+
rotation: Vec3;
|
|
95
|
+
slotId: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Determines WHERE within a slot a new item should be placed, and how
|
|
99
|
+
* existing items are laid out as occupancy changes.
|
|
100
|
+
*
|
|
101
|
+
* Implementations live in scene-base (FixedSlot, Stack, Queue, Grid, Shelf, Gravity).
|
|
102
|
+
* things-scene ships a minimal FixedSlotStrategy as the default.
|
|
103
|
+
*/
|
|
104
|
+
export interface ArrangementStrategy {
|
|
105
|
+
/**
|
|
106
|
+
* Returns the local position (left/top/z) for the item within the container.
|
|
107
|
+
* `component` is the item being placed — strategies may use its state.width/height
|
|
108
|
+
* to compute dimension-aware positions (e.g. centering).
|
|
109
|
+
* Returns null if no position should be applied (use current/world-preserved position).
|
|
110
|
+
*/
|
|
111
|
+
positionAt(index: number, slotDef: SlotDef, occupantCount: number, component?: any): Vec3 | null;
|
|
112
|
+
/** Maximum number of items this strategy can hold in one slot. */
|
|
113
|
+
capacity(slotDef: SlotDef): number;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* The central abstraction for anything that can receive and dispatch components.
|
|
117
|
+
*
|
|
118
|
+
* ALL domain-specific verbs (pick/place, induct/eject, store/retrieve, fetch/deposit)
|
|
119
|
+
* are aliases that ultimately delegate to `receive()` and `dispatch()`.
|
|
120
|
+
*
|
|
121
|
+
* Implementors must be ContainerAbstract subclasses so that `reparent()` is available.
|
|
122
|
+
*/
|
|
123
|
+
export interface Transferable {
|
|
124
|
+
/**
|
|
125
|
+
* Pure, synchronous capacity check.
|
|
126
|
+
* Must NOT mutate state — called on every drag-over frame.
|
|
127
|
+
*/
|
|
128
|
+
canReceive(component: any): boolean;
|
|
129
|
+
/** Returns the best available SlotDef for `component`, or null if none. */
|
|
130
|
+
findSlot(component: any): SlotDef | null;
|
|
131
|
+
/** Reparent `component` into this container. Fires 'transfer-received'. */
|
|
132
|
+
receive(component: any, options?: TransferOptions): Promise<void> | void;
|
|
133
|
+
/** Move `component` to `target.receive()`. Fires 'transfer-dispatched'. */
|
|
134
|
+
dispatch(component: any, target: Transferable, options?: TransferOptions): Promise<void> | void;
|
|
135
|
+
/**
|
|
136
|
+
* Determine the next target for `component`.
|
|
137
|
+
* Returns null → triggers 'transfer-pending' event.
|
|
138
|
+
* May be async for WCS-driven (pending) routing.
|
|
139
|
+
*/
|
|
140
|
+
route(component: any): Transferable | null | Promise<Transferable | null>;
|
|
141
|
+
/**
|
|
142
|
+
* WCS / MES resolves a previously pending route by providing the target.
|
|
143
|
+
* Call path: WCS event → scene.findById(id).resolveRoute(component, target)
|
|
144
|
+
*/
|
|
145
|
+
resolveRoute(component: any, target: Transferable): void;
|
|
146
|
+
/**
|
|
147
|
+
* WCS / MES rejects or times out a pending route.
|
|
148
|
+
* Triggers fallback ref (PendingPolicy.fallbackRef) or 'transfer-rejected'.
|
|
149
|
+
*/
|
|
150
|
+
rejectRoute(component: any, reason?: string): void;
|
|
151
|
+
/** Returns the 3D attach frame for a payload held in this container. */
|
|
152
|
+
attachPointFor(component: any): CarrierAttachPoint | null;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* The destination a Movable navigates toward.
|
|
156
|
+
* - component: dock beside another Transferable (e.g. conveyor input port)
|
|
157
|
+
* - point: absolute scene-unit coordinate
|
|
158
|
+
* - node: named node in a pre-defined graph (AGV / OHT)
|
|
159
|
+
*/
|
|
160
|
+
export type NavigationTarget = {
|
|
161
|
+
kind: 'component';
|
|
162
|
+
ref: Transferable;
|
|
163
|
+
} | {
|
|
164
|
+
kind: 'point';
|
|
165
|
+
pos: Vec3;
|
|
166
|
+
} | {
|
|
167
|
+
kind: 'node';
|
|
168
|
+
nodeId: string;
|
|
169
|
+
};
|
|
170
|
+
export interface NavigationOptions {
|
|
171
|
+
speed?: number;
|
|
172
|
+
arriveThreshold?: number;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Self-navigation capability for vehicles (Forklift, AGV, AMR, OHT).
|
|
176
|
+
* The vehicle's whole body moves to the destination, then Transfer happens.
|
|
177
|
+
*
|
|
178
|
+
* Contrast with ArticulatedCapability where only the internal mechanism moves.
|
|
179
|
+
*/
|
|
180
|
+
export interface Movable {
|
|
181
|
+
navigate(destination: NavigationTarget, options?: NavigationOptions): Promise<void>;
|
|
182
|
+
stop(): void;
|
|
183
|
+
readonly position: Vec3;
|
|
184
|
+
readonly isMoving: boolean;
|
|
185
|
+
/** Determines which NavigationStrategy is used. */
|
|
186
|
+
readonly navigationMode: 'graph' | 'free' | 'constrained';
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Capability for devices whose internal mechanism (arm, mast, fork carriage)
|
|
190
|
+
* extends to reach a pickup/dropoff point — without moving the device body.
|
|
191
|
+
*
|
|
192
|
+
* Used by: RobotArm (6-DOF IK), ASRSCrane (XY rail), BridgeCrane (XYZ gantry),
|
|
193
|
+
* Lift/Hoist (Y-axis), linear Manipulator.
|
|
194
|
+
*
|
|
195
|
+
* Contrast with Movable where the whole vehicle navigates to the destination.
|
|
196
|
+
*/
|
|
197
|
+
export interface ArticulatedCapability {
|
|
198
|
+
/**
|
|
199
|
+
* Extend the internal mechanism so the end-effector reaches `target`.
|
|
200
|
+
* Resolves when the end-effector arrives at the target position.
|
|
201
|
+
*/
|
|
202
|
+
reach(target: Transferable | Vec3, options?: TransferOptions): Promise<void>;
|
|
203
|
+
/**
|
|
204
|
+
* Retract the mechanism to its safe / home position.
|
|
205
|
+
* `home: true` returns to the configured homePosition / homeJoints state.
|
|
206
|
+
*/
|
|
207
|
+
retract(options?: {
|
|
208
|
+
home?: boolean;
|
|
209
|
+
duration?: number;
|
|
210
|
+
}): Promise<void>;
|
|
211
|
+
/** Current end-effector position (TCP, hook, fork tip) in scene coordinates. */
|
|
212
|
+
readonly endEffectorPosition: Vec3;
|
|
213
|
+
/** Kinematic workspace check — false means reach() would fail or collide. */
|
|
214
|
+
canReach(target: Transferable | Vec3): boolean;
|
|
215
|
+
}
|
|
216
|
+
export type MissionStatus = 'queued' | 'navigating-to-pickup' | 'picking' | 'navigating-to-dropoff' | 'placing' | 'done' | 'failed';
|
|
217
|
+
export interface VehicleMission {
|
|
218
|
+
readonly id: string;
|
|
219
|
+
readonly pickupTarget: Transferable;
|
|
220
|
+
readonly dropoffTarget: Transferable;
|
|
221
|
+
readonly priority: number;
|
|
222
|
+
/** Filled after a successful pick (receive). */
|
|
223
|
+
payload?: any;
|
|
224
|
+
status: MissionStatus;
|
|
225
|
+
/** simClock.now at mission start. */
|
|
226
|
+
readonly startedAt?: number;
|
|
227
|
+
readonly completedAt?: number;
|
|
228
|
+
readonly failReason?: string;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Manages an ordered queue of VehicleMissions for a single vehicle.
|
|
232
|
+
* Missions execute one at a time; the queue is drained in priority order.
|
|
233
|
+
*/
|
|
234
|
+
export interface MissionExecutor {
|
|
235
|
+
/** Add a mission to the queue. Resolves when the mission reaches 'done'. */
|
|
236
|
+
enqueue(mission: Omit<VehicleMission, 'id' | 'status'>): Promise<VehicleMission>;
|
|
237
|
+
/** Cancel a queued or in-progress mission by ID. */
|
|
238
|
+
cancel(missionId: string): void;
|
|
239
|
+
readonly currentMission: VehicleMission | null;
|
|
240
|
+
readonly missionQueue: readonly VehicleMission[];
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* A virtual sensor mounted on a Transferable container (conveyor, rack gate, etc.).
|
|
244
|
+
* When a component passes through its detection zone, it fires a scene event
|
|
245
|
+
* that WCS uses to make routing decisions (→ resolveRoute / rejectRoute).
|
|
246
|
+
*
|
|
247
|
+
* Common use: sorter entry sensor triggers PendingPolicy, WCS decides lane.
|
|
248
|
+
*/
|
|
249
|
+
export interface SensorPoint {
|
|
250
|
+
readonly id: string;
|
|
251
|
+
/** Local position within the parent container (scene units). */
|
|
252
|
+
readonly localPosition: Vec3;
|
|
253
|
+
readonly sensorType: 'presence' | 'identity' | 'weight';
|
|
254
|
+
/** Detection radius (scene units). Default: component bounding-box overlap. */
|
|
255
|
+
readonly detectionRadius?: number;
|
|
256
|
+
/** Called when a component enters the detection zone. */
|
|
257
|
+
onDetect(component: any): void;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* SpawnPoint: where cargo enters the simulation.
|
|
261
|
+
* Creates components and injects them into the connected Transferable chain.
|
|
262
|
+
* Examples: production line end, receiving dock, WCS inject command.
|
|
263
|
+
*/
|
|
264
|
+
export interface SpawnPoint extends Transferable {
|
|
265
|
+
/** Create a new component of `type` and route it into the system. */
|
|
266
|
+
spawn(type: string, initialState?: Record<string, any>): any;
|
|
267
|
+
/** Components generated per simulated minute. */
|
|
268
|
+
readonly spawnRate: number;
|
|
269
|
+
readonly spawnPattern: 'uniform' | 'burst' | 'schedule';
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* SinkPoint: where cargo leaves the simulation.
|
|
273
|
+
* Calling receive() on a SinkPoint removes the component from the scene
|
|
274
|
+
* and increments throughput counters.
|
|
275
|
+
* Examples: shipping dock, quality-pass exit, virtual out-gate.
|
|
276
|
+
*/
|
|
277
|
+
export interface SinkPoint extends Transferable {
|
|
278
|
+
/** Total components consumed since simulation start. */
|
|
279
|
+
readonly throughput: number;
|
|
280
|
+
/** Components per simulated hour (rolling average). */
|
|
281
|
+
readonly throughputPerHour: number;
|
|
282
|
+
/** simClock.now of the last received component. */
|
|
283
|
+
readonly lastReceivedAt: number;
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transfer/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ interface ReparentState {
|
|
|
27
27
|
duration: number;
|
|
28
28
|
startTime: number;
|
|
29
29
|
progress: number;
|
|
30
|
+
keepSuppressed?: boolean;
|
|
30
31
|
}
|
|
31
32
|
/**
|
|
32
33
|
* TransitionEffect — reparent 전환의 모든 것을 소유한다.
|
|
@@ -53,6 +54,12 @@ export default class TransitionEffect {
|
|
|
53
54
|
to3D?: State3D;
|
|
54
55
|
duration: number;
|
|
55
56
|
ease?: string;
|
|
57
|
+
/**
|
|
58
|
+
* When true, cleanup3D() will NOT reset suppressTransform to false and will
|
|
59
|
+
* NOT call realObj.update(). Use this when the caller's own tick loop takes
|
|
60
|
+
* over position control after the transition.
|
|
61
|
+
*/
|
|
62
|
+
keepSuppressed?: boolean;
|
|
56
63
|
}): void;
|
|
57
64
|
cancel(component: any): void;
|
|
58
65
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transition-effect.d.ts","sourceRoot":"","sources":["../../src/transition/transition-effect.ts"],"names":[],"mappings":"AAcA,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,OAAO;IACf,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,GAAG,CAAA;IACT,SAAS,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9C;AAED,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"transition-effect.d.ts","sourceRoot":"","sources":["../../src/transition/transition-effect.ts"],"names":[],"mappings":"AAcA,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,OAAO;IACf,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,GAAG,CAAA;IACT,SAAS,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9C;AAED,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,IAAI,CAAK;IAGjB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,IAAI,CAAwC;gBAExC,IAAI,EAAE,GAAG;IAMrB,aAAa,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IAItC,QAAQ,CAAC,SAAS,EAAE,GAAG,GAAG,aAAa,GAAG,IAAI;IAI9C,KAAK,CACH,SAAS,EAAE,GAAG,EACd,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,UAAU,CAAA;QACtB,OAAO,CAAC,EAAE,UAAU,CAAA;QACpB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb;;;;WAIG;QACH,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,GACA,IAAI;IAgDP,MAAM,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI;IAK5B;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,GAAG,IAAI;IAoCtD;;OAEG;IACH,SAAS,IAAI,IAAI;IAQjB;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACH,MAAM,IAAI,IAAI;IASd,OAAO,IAAI,IAAI;IAWf,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI;IAoDZ,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,SAAS;CAalB"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hatiolab/things-scene",
|
|
3
|
-
"version": "10.0.0-beta.
|
|
3
|
+
"version": "10.0.0-beta.89",
|
|
4
4
|
"description": "A high-performance 2D/3D scene graph library for building interactive visual editors, combining HTML5 Canvas and Three.js to enable facility visualization, data-driven animations, and real-time monitoring dashboards",
|
|
5
5
|
"main": "things-scene-min.js",
|
|
6
6
|
"module": "things-scene.mjs",
|
|
7
7
|
"browser": "things-scene.mjs",
|
|
8
8
|
"types": "dist-types/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist-types/index.d.ts",
|
|
12
|
+
"node": "./things-scene-transfer.mjs",
|
|
13
|
+
"import": "./things-scene.mjs",
|
|
14
|
+
"require": "./things-scene-min.js",
|
|
15
|
+
"default": "./things-scene-min.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
9
18
|
"files": [
|
|
10
19
|
"things-scene-min.js",
|
|
11
20
|
"things-scene-min.js.map",
|
|
12
21
|
"things-scene.mjs",
|
|
13
22
|
"things-scene.mjs.map",
|
|
23
|
+
"things-scene-transfer.mjs",
|
|
14
24
|
"dist-types/"
|
|
15
25
|
],
|
|
16
26
|
"sideEffects": false,
|