@zylem/game-lib 0.3.14 → 0.3.16

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 (104) hide show
  1. package/README.md +17 -14
  2. package/dist/.vite/manifest.json +595 -2
  3. package/dist/actions.d.ts +4 -0
  4. package/dist/actions.js +10 -0
  5. package/dist/behaviors.d.ts +3 -0
  6. package/dist/behaviors.js +8 -0
  7. package/dist/camera.d.ts +3 -0
  8. package/dist/camera.js +6 -0
  9. package/dist/core.d.ts +5 -0
  10. package/dist/core.js +11 -0
  11. package/dist/entities.d.ts +8 -0
  12. package/dist/entities.js +19 -0
  13. package/dist/lib/actions/behaviors/actions.js +35 -0
  14. package/dist/lib/actions/behaviors/boundaries/boundary.d.ts +1 -1
  15. package/dist/lib/actions/behaviors/boundaries/boundary.js +40 -0
  16. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.js +100 -0
  17. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.js +37 -0
  18. package/dist/lib/actions/behaviors/ricochet/ricochet.d.ts +2 -0
  19. package/dist/lib/actions/behaviors/ricochet/ricochet.js +6 -0
  20. package/dist/lib/actions/capabilities/moveable.js +108 -0
  21. package/dist/lib/actions/capabilities/rotatable.js +82 -0
  22. package/dist/lib/actions/capabilities/transformable.js +9 -0
  23. package/dist/lib/actions/global-change.d.ts +10 -0
  24. package/dist/lib/actions/global-change.js +40 -0
  25. package/dist/lib/camera/camera.js +19 -0
  26. package/dist/lib/camera/fixed-2d.js +30 -0
  27. package/dist/lib/camera/perspective.js +10 -0
  28. package/dist/lib/camera/third-person.js +42 -0
  29. package/dist/lib/camera/zylem-camera.js +145 -0
  30. package/dist/lib/collision/collision-builder.d.ts +0 -2
  31. package/dist/lib/collision/collision-builder.js +46 -0
  32. package/dist/lib/collision/collision-delegate.js +6 -0
  33. package/dist/lib/collision/collision-group.d.ts +0 -17
  34. package/dist/lib/collision/utils.js +24 -0
  35. package/dist/lib/collision/world.js +77 -0
  36. package/dist/lib/core/base-node.js +58 -0
  37. package/dist/lib/core/entity-asset-loader.js +57 -0
  38. package/dist/lib/core/lazy-loader.d.ts +0 -2
  39. package/dist/lib/core/lifecycle-base.js +20 -0
  40. package/dist/lib/core/preset-shader.d.ts +2 -1
  41. package/dist/lib/core/preset-shader.js +30 -0
  42. package/dist/lib/core/three-addons/Timer.js +103 -0
  43. package/dist/lib/core/utility.js +20 -0
  44. package/dist/lib/core/vessel.js +23 -0
  45. package/dist/lib/debug/console/console-state.js +11 -0
  46. package/dist/lib/debug/debug-state.js +40 -0
  47. package/dist/lib/entities/actor.js +125 -0
  48. package/dist/lib/entities/box.js +68 -0
  49. package/dist/lib/entities/builder.js +79 -0
  50. package/dist/lib/entities/create.js +31 -0
  51. package/dist/lib/entities/delegates/animation.js +58 -0
  52. package/dist/lib/entities/delegates/debug.js +72 -0
  53. package/dist/lib/entities/delegates/loader.js +19 -0
  54. package/dist/lib/entities/destroy.js +15 -0
  55. package/dist/lib/entities/entity.d.ts +0 -2
  56. package/dist/lib/entities/entity.js +116 -0
  57. package/dist/lib/entities/plane.js +81 -0
  58. package/dist/lib/entities/rect.js +160 -0
  59. package/dist/lib/entities/sphere.js +68 -0
  60. package/dist/lib/entities/sprite.js +118 -0
  61. package/dist/lib/entities/text.js +111 -0
  62. package/dist/lib/entities/zone.js +103 -0
  63. package/dist/lib/game/game-state.js +17 -0
  64. package/dist/lib/game/game.js +157 -0
  65. package/dist/lib/game/zylem-game.d.ts +2 -0
  66. package/dist/lib/game/zylem-game.js +107 -0
  67. package/dist/lib/graphics/geometries/XZPlaneGeometry.js +34 -0
  68. package/dist/lib/graphics/material.js +64 -0
  69. package/dist/lib/graphics/mesh.js +14 -0
  70. package/dist/lib/graphics/render-pass.js +56 -0
  71. package/dist/lib/graphics/shaders/fragment/debug.glsl.js +23 -0
  72. package/dist/lib/graphics/shaders/fragment/fire.glsl.js +52 -0
  73. package/dist/lib/graphics/shaders/fragment/standard.glsl.js +11 -0
  74. package/dist/lib/graphics/shaders/fragment/stars.glsl.js +44 -0
  75. package/dist/lib/graphics/shaders/vertex/debug.glsl.js +15 -0
  76. package/dist/lib/graphics/shaders/vertex/object-shader.glsl.js +11 -0
  77. package/dist/lib/graphics/shaders/vertex/standard.glsl.js +9 -0
  78. package/dist/lib/graphics/zylem-scene.d.ts +2 -2
  79. package/dist/lib/graphics/zylem-scene.js +89 -0
  80. package/dist/lib/input/gamepad-provider.js +58 -0
  81. package/dist/lib/input/input-manager.js +70 -0
  82. package/dist/lib/input/keyboard-provider.js +120 -0
  83. package/dist/lib/stage/debug-entity-cursor.js +53 -0
  84. package/dist/lib/stage/entity-spawner.js +27 -0
  85. package/dist/lib/stage/stage-debug-delegate.js +100 -0
  86. package/dist/lib/stage/stage-state.d.ts +5 -1
  87. package/dist/lib/stage/stage-state.js +36 -0
  88. package/dist/lib/stage/stage.d.ts +0 -1
  89. package/dist/lib/stage/stage.js +58 -0
  90. package/dist/lib/stage/zylem-stage.d.ts +1 -3
  91. package/dist/lib/stage/zylem-stage.js +279 -0
  92. package/dist/lib/systems/transformable.system.js +43 -0
  93. package/dist/main.d.ts +5 -15
  94. package/dist/main.js +54 -35581
  95. package/dist/stage.d.ts +3 -0
  96. package/dist/stage.js +6 -0
  97. package/package.json +51 -17
  98. package/dist/assets/bounce.wav +0 -0
  99. package/dist/assets/coin-sound.mp3 +0 -0
  100. package/dist/lib/actions/behaviors/index.d.ts +0 -1
  101. package/dist/lib/collision/physics.d.ts +0 -4
  102. package/dist/lib/entities/object.d.ts +0 -1
  103. package/dist/lib/interfaces/game.d.ts +0 -19
  104. package/dist/main.cjs +0 -3980
@@ -0,0 +1,3 @@
1
+ export { stage } from './lib/stage/stage';
2
+ export { entitySpawner } from './lib/stage/entity-spawner';
3
+ export type { StageOptions } from './lib/stage/zylem-stage';
package/dist/stage.js ADDED
@@ -0,0 +1,6 @@
1
+ import { stage as t } from "./lib/stage/stage.js";
2
+ import { entitySpawner as p } from "./lib/stage/entity-spawner.js";
3
+ export {
4
+ p as entitySpawner,
5
+ t as stage
6
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zylem/game-lib",
3
- "version": "0.3.14",
3
+ "version": "0.3.16",
4
4
  "type": "module",
5
5
  "description": "A powerful and easy-to-use framework for creating simple 3D digital interactive applications using TypeScript.",
6
6
  "license": "MIT",
@@ -18,8 +18,33 @@
18
18
  ],
19
19
  "exports": {
20
20
  ".": {
21
+ "types": "./dist/main.d.ts",
21
22
  "import": "./dist/main.js",
22
23
  "require": null
24
+ },
25
+ "./core": {
26
+ "types": "./dist/core.d.ts",
27
+ "import": "./dist/core.js"
28
+ },
29
+ "./camera": {
30
+ "types": "./dist/camera.d.ts",
31
+ "import": "./dist/camera.js"
32
+ },
33
+ "./stage": {
34
+ "types": "./dist/stage.d.ts",
35
+ "import": "./dist/stage.js"
36
+ },
37
+ "./entities": {
38
+ "types": "./dist/entities.d.ts",
39
+ "import": "./dist/entities.js"
40
+ },
41
+ "./actions": {
42
+ "types": "./dist/actions.d.ts",
43
+ "import": "./dist/actions.js"
44
+ },
45
+ "./behaviors": {
46
+ "types": "./dist/behaviors.d.ts",
47
+ "import": "./dist/behaviors.js"
23
48
  }
24
49
  },
25
50
  "keywords": [
@@ -36,6 +61,7 @@
36
61
  "main": "./dist/main.js",
37
62
  "module": "./dist/main.js",
38
63
  "types": "./dist/main.d.ts",
64
+ "sideEffects": false,
39
65
  "files": [
40
66
  "dist"
41
67
  ],
@@ -60,13 +86,13 @@
60
86
  "dependencies": {
61
87
  "@dimforge/rapier3d": "^0.11.2",
62
88
  "@dimforge/rapier3d-compat": "^0.11.2",
63
- "@kobalte/core": "^0.13.10",
89
+ "@kobalte/core": "^0.13.11",
64
90
  "@types/dat.gui": "^0.7.13",
65
91
  "@types/howler": "^2.2.12",
66
92
  "@zylem/assets": "^0.1.0",
67
93
  "bitecs": "^0.3.40",
68
94
  "dat.gui": "^0.7.9",
69
- "es-toolkit": "^1.39.8",
95
+ "es-toolkit": "^1.39.10",
70
96
  "function-bind": "^1.1.2",
71
97
  "has": "^1.0.4",
72
98
  "howler": "^2.2.4",
@@ -77,50 +103,58 @@
77
103
  "path-parse": "^1.0.7",
78
104
  "picocolors": "^1.1.1",
79
105
  "resolve": "^1.22.10",
80
- "solid-js": "^1.9.7",
106
+ "solid-js": "^1.9.9",
81
107
  "source-map-js": "^1.2.1",
82
108
  "stats.js": "^0.17.0",
83
109
  "supports-preserve-symlinks-flag": "^1.0.0",
84
- "three": "0.172.0",
110
+ "three": "0.180.0",
85
111
  "three-addons": "^1.2.0",
86
112
  "three-full": "^28.0.2",
87
113
  "three-instanced-uniforms-mesh": "^0.52.4",
88
114
  "three-spritetext": "^1.10.0",
89
115
  "tsimp": "^2.0.12",
90
- "uuid": "^11.1.0",
91
- "valtio": "^2.1.5"
116
+ "valtio": "^2.1.7"
117
+ },
118
+ "peerDependencies": {
119
+ "three": "^0.180.0",
120
+ "@dimforge/rapier3d-compat": "^0.11.2",
121
+ "howler": "^2.2.4",
122
+ "valtio": "^2.1.7",
123
+ "nanoid": "^5.1.5",
124
+ "bitecs": "^0.3.40"
92
125
  },
93
126
  "devDependencies": {
94
127
  "@ava/typescript": "^5.0.0",
95
128
  "@babel/preset-typescript": "^7.27.1",
96
129
  "@rollup/plugin-typescript": "^11.1.6",
97
- "@rollup/pluginutils": "^5.2.0",
98
- "@types/node": "^20.19.7",
130
+ "@rollup/pluginutils": "^5.3.0",
131
+ "@types/node": "^20.19.13",
132
+ "@types/stats.js": "^0.17.4",
99
133
  "@types/three": "0.171.0",
100
- "@typescript-eslint/eslint-plugin": "^8.37.0",
101
- "@typescript-eslint/parser": "^8.37.0",
134
+ "@typescript-eslint/eslint-plugin": "^8.42.0",
135
+ "@typescript-eslint/parser": "^8.42.0",
102
136
  "@vitest/coverage-istanbul": "^2.1.9",
103
137
  "@vitest/coverage-v8": "^2.1.9",
104
138
  "babel-plugin-inline-import": "^3.0.0",
105
- "esbuild": "^0.25.6",
106
- "eslint": "^9.31.0",
139
+ "esbuild": "^0.25.9",
140
+ "eslint": "^9.35.0",
107
141
  "eslint-plugin-import": "^2.32.0",
108
142
  "happy-dom": "^18.0.1",
109
143
  "jest": "^29.7.0",
110
144
  "madge": "^8.0.0",
111
145
  "prettier": "2.6.2",
112
- "rollup": "^4.45.0",
113
- "rollup-plugin-dts": "^6.2.1",
146
+ "rollup": "^4.50.0",
147
+ "rollup-plugin-dts": "^6.2.3",
114
148
  "rollup-plugin-esbuild": "^6.2.1",
115
149
  "rollup-plugin-typescript-paths": "^1.5.0",
116
150
  "rollup-plugin-visualizer": "^5.14.0",
117
151
  "tslib": "^2.8.1",
118
152
  "typedoc": "^0.25.13",
119
- "typescript": "^5.8.3",
153
+ "typescript": "^5.9.2",
120
154
  "vite": "7.0.4",
121
155
  "vite-plugin-checker": "^0.5.6",
122
156
  "vite-plugin-glsl": "^1.5.1",
123
- "vite-plugin-solid": "^2.11.7",
157
+ "vite-plugin-solid": "^2.11.8",
124
158
  "vitest": "^3.2.4"
125
159
  },
126
160
  "packageManager": "pnpm@10.14.0+sha512.ad27a79641b49c3e481a16a805baa71817a04bbe06a38d17e60e2eaee83f6a146c6a688125f5792e48dd5ba30e7da52a5cda4c3992b9ccf333f9ce223af84748"
Binary file
Binary file
@@ -1 +0,0 @@
1
- export * from './ricochet/ricochet';
@@ -1,4 +0,0 @@
1
- import { Vec3 } from '../core/vector';
2
- export interface PhysicsOptions {
3
- gravity: Vec3;
4
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,19 +0,0 @@
1
- import ZylemGame from '~/lib/game/zylem-game';
2
- import { ZylemScene } from '~/lib/graphics/zylem-scene';
3
- import { ZylemCamera } from '~/lib/camera/zylem-camera';
4
- import { ZylemWorld } from '~/lib/collision/world';
5
- export type GameRatio = '16:9' | '9:16' | '4:3' | '3:4' | '1:1';
6
- type Concrete<Type> = {
7
- [Property in keyof Type]-?: Type[Property];
8
- };
9
- export type Conditions<T> = {
10
- bindings: string[];
11
- callback: (globals: Concrete<T>, game: ZylemGame) => void;
12
- };
13
- export interface SetupCallbackOptions {
14
- scene: ZylemScene;
15
- world?: ZylemWorld;
16
- camera?: ZylemCamera;
17
- }
18
- export type SetupCallback = (options: SetupCallbackOptions) => void;
19
- export {};