@zylem/game-lib 0.6.4 → 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 (122) hide show
  1. package/README.md +3 -1
  2. package/dist/actions.d.ts +255 -8
  3. package/dist/actions.js +1 -936
  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 -14
  27. package/dist/core.js +24 -12424
  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-vj-HTjzU.d.ts → entity-DNkYKfdp.d.ts} +452 -578
  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/{camera-4XO5gbQH.d.ts → zylem-stage-runtime-Cs-UDEVU.d.ts} +201 -329
  55. package/package.json +52 -63
  56. package/dist/actions.js.map +0 -1
  57. package/dist/behavior/jumper-2d.d.ts +0 -114
  58. package/dist/behavior/jumper-2d.js +0 -711
  59. package/dist/behavior/jumper-2d.js.map +0 -1
  60. package/dist/behavior/platformer-3d.d.ts +0 -296
  61. package/dist/behavior/platformer-3d.js +0 -761
  62. package/dist/behavior/platformer-3d.js.map +0 -1
  63. package/dist/behavior/ricochet-2d.d.ts +0 -275
  64. package/dist/behavior/ricochet-2d.js +0 -425
  65. package/dist/behavior/ricochet-2d.js.map +0 -1
  66. package/dist/behavior/ricochet-3d.d.ts +0 -117
  67. package/dist/behavior/ricochet-3d.js +0 -443
  68. package/dist/behavior/ricochet-3d.js.map +0 -1
  69. package/dist/behavior/screen-visibility.d.ts +0 -79
  70. package/dist/behavior/screen-visibility.js +0 -358
  71. package/dist/behavior/screen-visibility.js.map +0 -1
  72. package/dist/behavior/screen-wrap.d.ts +0 -87
  73. package/dist/behavior/screen-wrap.js +0 -246
  74. package/dist/behavior/screen-wrap.js.map +0 -1
  75. package/dist/behavior/shooter-2d.d.ts +0 -79
  76. package/dist/behavior/shooter-2d.js +0 -180
  77. package/dist/behavior/shooter-2d.js.map +0 -1
  78. package/dist/behavior/thruster.d.ts +0 -11
  79. package/dist/behavior/thruster.js +0 -292
  80. package/dist/behavior/thruster.js.map +0 -1
  81. package/dist/behavior/top-down-movement.d.ts +0 -56
  82. package/dist/behavior/top-down-movement.js +0 -125
  83. package/dist/behavior/top-down-movement.js.map +0 -1
  84. package/dist/behavior/world-boundary-2d.d.ts +0 -142
  85. package/dist/behavior/world-boundary-2d.js +0 -235
  86. package/dist/behavior/world-boundary-2d.js.map +0 -1
  87. package/dist/behavior/world-boundary-3d.d.ts +0 -76
  88. package/dist/behavior/world-boundary-3d.js +0 -274
  89. package/dist/behavior/world-boundary-3d.js.map +0 -1
  90. package/dist/behavior-descriptor-BXnVR8Ki.d.ts +0 -159
  91. package/dist/blueprints-DmbK2dki.d.ts +0 -26
  92. package/dist/camera.d.ts +0 -6
  93. package/dist/camera.js +0 -1993
  94. package/dist/camera.js.map +0 -1
  95. package/dist/composition-BASvMKrW.d.ts +0 -218
  96. package/dist/core-CARRaS55.d.ts +0 -541
  97. package/dist/core.js.map +0 -1
  98. package/dist/entities-ChFirVL9.d.ts +0 -410
  99. package/dist/entities.d.ts +0 -9
  100. package/dist/entities.js +0 -4986
  101. package/dist/entities.js.map +0 -1
  102. package/dist/entity-Bq_eNEDI.d.ts +0 -28
  103. package/dist/entity-types-DAu8sGJH.d.ts +0 -26
  104. package/dist/global-change-2JvMaz44.d.ts +0 -25
  105. package/dist/main.d.ts +0 -1353
  106. package/dist/main.js +0 -19525
  107. package/dist/main.js.map +0 -1
  108. package/dist/physics-pose-DCc4oE44.d.ts +0 -25
  109. package/dist/physics-protocol-BDD3P5W2.d.ts +0 -200
  110. package/dist/physics-worker.d.ts +0 -21
  111. package/dist/physics-worker.js +0 -306
  112. package/dist/physics-worker.js.map +0 -1
  113. package/dist/physics.d.ts +0 -205
  114. package/dist/physics.js +0 -577
  115. package/dist/physics.js.map +0 -1
  116. package/dist/stage-types-C19IhuzA.d.ts +0 -731
  117. package/dist/stage.d.ts +0 -52
  118. package/dist/stage.js +0 -8479
  119. package/dist/stage.js.map +0 -1
  120. package/dist/sync-state-machine-CZyspBpj.d.ts +0 -16
  121. package/dist/thruster-23lzoPZd.d.ts +0 -180
  122. package/dist/world-DfgxoNMt.d.ts +0 -105
@@ -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 };