@zylem/game-lib 0.6.3 → 0.7.0

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/README.md +3 -1
  2. package/dist/actions.d.ts +255 -8
  3. package/dist/actions.js +1 -772
  4. package/dist/audio.d.ts +13 -0
  5. package/dist/audio.js +1 -0
  6. package/dist/base-node-life-cycle-CnJ-7zX-.d.ts +143 -0
  7. package/dist/behavior.d.ts +3 -0
  8. package/dist/behavior.js +1 -0
  9. package/dist/chunk-4QLJUQSJ.js +1 -0
  10. package/dist/chunk-73VZQZUL.js +1 -0
  11. package/dist/chunk-A34ZG3L4.js +1 -0
  12. package/dist/chunk-CDPY4VOQ.js +1 -0
  13. package/dist/chunk-DR6XXZE7.js +19 -0
  14. package/dist/chunk-FM5TBEPO.js +1 -0
  15. package/dist/chunk-G2IIMSUH.js +1 -0
  16. package/dist/chunk-MSC2BEO5.js +1 -0
  17. package/dist/chunk-NIH5CONO.js +1 -0
  18. package/dist/chunk-ONWXGBWB.js +1 -0
  19. package/dist/chunk-QEDQDR27.js +1 -0
  20. package/dist/chunk-QXVH6POE.js +1 -0
  21. package/dist/chunk-RXDTAWI2.js +29 -0
  22. package/dist/chunk-WKHW2QO2.js +1 -0
  23. package/dist/chunk-XRP4JJXL.js +1 -0
  24. package/dist/chunk-YHEWKN7N.js +1 -0
  25. package/dist/chunk-YHKXQ2ZN.js +1 -0
  26. package/dist/core.d.ts +206 -13
  27. package/dist/core.js +24 -9160
  28. package/dist/debug.d.ts +24 -0
  29. package/dist/debug.js +1 -0
  30. package/dist/default-controls-BGc61yYl.d.ts +111 -0
  31. package/dist/entity-DNkYKfdp.d.ts +1043 -0
  32. package/dist/entity-type-map-C94h2TDW.d.ts +781 -0
  33. package/dist/entity.d.ts +265 -0
  34. package/dist/entity.js +1 -0
  35. package/dist/events.d.ts +172 -0
  36. package/dist/events.js +1 -0
  37. package/dist/game-Cuj5gy7U.d.ts +1590 -0
  38. package/dist/game-default-PZLLHYL7.js +1 -0
  39. package/dist/game-interfaces-tfpM5NBk.d.ts +90 -0
  40. package/dist/globals.d.ts +104 -0
  41. package/dist/globals.js +1 -0
  42. package/dist/graphics.d.ts +83 -0
  43. package/dist/graphics.js +1 -0
  44. package/dist/input-ui.d.ts +34 -0
  45. package/dist/input-ui.js +1 -0
  46. package/dist/input.d.ts +72 -0
  47. package/dist/input.js +1 -0
  48. package/dist/material-Wz83vTTp.d.ts +151 -0
  49. package/dist/runtime.d.ts +433 -0
  50. package/dist/runtime.js +1 -0
  51. package/dist/web-components.d.ts +67 -0
  52. package/dist/web-components.js +9 -0
  53. package/dist/world-C9zdyl5d.d.ts +103 -0
  54. package/dist/zylem-stage-runtime-Cs-UDEVU.d.ts +777 -0
  55. package/package.json +54 -41
  56. package/dist/actions.js.map +0 -1
  57. package/dist/behavior/platformer-3d.d.ts +0 -296
  58. package/dist/behavior/platformer-3d.js +0 -518
  59. package/dist/behavior/platformer-3d.js.map +0 -1
  60. package/dist/behavior/ricochet-2d.d.ts +0 -274
  61. package/dist/behavior/ricochet-2d.js +0 -394
  62. package/dist/behavior/ricochet-2d.js.map +0 -1
  63. package/dist/behavior/screen-wrap.d.ts +0 -86
  64. package/dist/behavior/screen-wrap.js +0 -195
  65. package/dist/behavior/screen-wrap.js.map +0 -1
  66. package/dist/behavior/thruster.d.ts +0 -10
  67. package/dist/behavior/thruster.js +0 -234
  68. package/dist/behavior/thruster.js.map +0 -1
  69. package/dist/behavior/world-boundary-2d.d.ts +0 -141
  70. package/dist/behavior/world-boundary-2d.js +0 -181
  71. package/dist/behavior/world-boundary-2d.js.map +0 -1
  72. package/dist/behavior-descriptor-BWNWmIjv.d.ts +0 -142
  73. package/dist/blueprints-BWGz8fII.d.ts +0 -26
  74. package/dist/camera-B5e4c78l.d.ts +0 -468
  75. package/dist/camera.d.ts +0 -6
  76. package/dist/camera.js +0 -1406
  77. package/dist/camera.js.map +0 -1
  78. package/dist/composition-DrzFrbqI.d.ts +0 -218
  79. package/dist/core-DAkskq6Y.d.ts +0 -498
  80. package/dist/core.js.map +0 -1
  81. package/dist/entities-DC9ce_vx.d.ts +0 -416
  82. package/dist/entities.d.ts +0 -9
  83. package/dist/entities.js +0 -4069
  84. package/dist/entities.js.map +0 -1
  85. package/dist/entity-BpbZqg19.d.ts +0 -1100
  86. package/dist/entity-Bq_eNEDI.d.ts +0 -28
  87. package/dist/entity-types-DAu8sGJH.d.ts +0 -26
  88. package/dist/global-change-Dc8uCKi2.d.ts +0 -25
  89. package/dist/main.d.ts +0 -654
  90. package/dist/main.js +0 -13355
  91. package/dist/main.js.map +0 -1
  92. package/dist/stage-types-BFsm3qsZ.d.ts +0 -567
  93. package/dist/stage.d.ts +0 -51
  94. package/dist/stage.js +0 -5738
  95. package/dist/stage.js.map +0 -1
  96. package/dist/thruster-DhRaJnoL.d.ts +0 -172
  97. package/dist/world-Be5m1XC1.d.ts +0 -31
@@ -0,0 +1,103 @@
1
+ import { Group, Mesh, Vector3 } from 'three';
2
+ import RAPIER, { RigidBody, Collider, KinematicCharacterController, World } from '@dimforge/rapier3d-compat';
3
+ import { V as Vec3Components } from './material-Wz83vTTp.js';
4
+ import { f as UpdateContext } from './base-node-life-cycle-CnJ-7zX-.js';
5
+ import { G as GameEntity } from './entity-DNkYKfdp.js';
6
+
7
+ type LifecycleFunction<T> = (params?: any) => void;
8
+ interface Entity<T = any> {
9
+ setup: (entity: T) => void;
10
+ destroy: () => void;
11
+ update: LifecycleFunction<T>;
12
+ type: string;
13
+ _collision?: (entity: any, other: any, globals?: any) => void;
14
+ _destroy?: (globals?: any) => void;
15
+ name?: string;
16
+ tag?: Set<string>;
17
+ }
18
+ interface StageEntity extends Entity {
19
+ uuid: string;
20
+ body: RigidBody;
21
+ group: Group;
22
+ mesh: Mesh;
23
+ instanceId: number;
24
+ collider: Collider;
25
+ controlledRotation: boolean;
26
+ /** When true, a Rapier KinematicCharacterController is allocated on this entity. Opt-in; default false. */
27
+ useCharacterController?: boolean;
28
+ characterController: KinematicCharacterController;
29
+ name: string;
30
+ markedForRemoval: boolean;
31
+ }
32
+
33
+ /**
34
+ * Interface for entities that handle collision events.
35
+ */
36
+ interface CollisionHandlerDelegate {
37
+ handlePostCollision(params: any): boolean;
38
+ handleIntersectionEvent(params: any): void;
39
+ }
40
+ /**
41
+ * Physics world wrapper.
42
+ *
43
+ * Owns a single Rapier world that lives on the main thread and is advanced
44
+ * with a fixed-timestep accumulator. The off-thread JS Web Worker physics
45
+ * path that previously sat alongside this implementation has been removed;
46
+ * the long-term off-main-thread story is the wasm runtime adapter, which
47
+ * sits behind {@link StageRuntimeAdapter} rather than inside this class.
48
+ */
49
+ declare class ZylemWorld implements Entity<ZylemWorld> {
50
+ type: string;
51
+ world: World;
52
+ collisionMap: Map<string, GameEntity<any>>;
53
+ collisionBehaviorMap: Map<string, GameEntity<any>>;
54
+ _removalMap: Map<string, GameEntity<any>>;
55
+ private activeCollisionPairs;
56
+ private currentCollisionTimeMs;
57
+ /** Fixed timestep in seconds used for each physics step. */
58
+ readonly fixedTimestep: number;
59
+ /** Unprocessed time carried over between frames. */
60
+ private accumulator;
61
+ /** Maximum number of physics steps allowed per frame to prevent spiral-of-death. */
62
+ private static readonly MAX_STEPS_PER_FRAME;
63
+ /**
64
+ * Interpolation alpha (0..1) representing the fraction of an unprocessed
65
+ * timestep remaining after the last physics step. Can be used to interpolate
66
+ * rendering transforms between the previous and current physics state.
67
+ */
68
+ interpolationAlpha: number;
69
+ private readonly trackedDirectBodies;
70
+ static loadPhysics(gravity: Vector3 | Vec3Components): Promise<RAPIER.World>;
71
+ /**
72
+ * @param world The Rapier physics world instance.
73
+ * @param physicsRate Physics update rate in Hz (default 60).
74
+ */
75
+ constructor(world: World, physicsRate?: number);
76
+ addEntity(entity: any): void;
77
+ setForRemoval(entity: any): void;
78
+ destroyEntity(entity: GameEntity<any>): void;
79
+ setup(): void;
80
+ /**
81
+ * Advance the physics simulation using the fixed-timestep accumulator.
82
+ */
83
+ update(params: UpdateContext<any>): void;
84
+ private addEntityDirect;
85
+ private destroyEntityDirect;
86
+ private updateDirect;
87
+ private captureDirectBodyPreviousPoses;
88
+ private captureDirectBodyCurrentPoses;
89
+ private patchDirectBodyPoseTracking;
90
+ updatePostCollisionBehaviors(delta: number): void;
91
+ private processPendingRemovals;
92
+ private removeEntityFromTracking;
93
+ private pruneActiveCollisionPairs;
94
+ private collectCollisionPairsFromWorld;
95
+ private entityHasCollisionPhaseListener;
96
+ private processCollisionPairs;
97
+ private dispatchCollisionPhase;
98
+ private dispatchIntersectionDelegates;
99
+ destroy(): void;
100
+ private clearEntityPhysicsState;
101
+ }
102
+
103
+ export { type CollisionHandlerDelegate as C, type Entity as E, type LifecycleFunction as L, type StageEntity as S, ZylemWorld as Z };