@series-inc/rundot-3d-engine 0.6.7 → 0.6.9

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/README.md CHANGED
@@ -1,80 +1,80 @@
1
- # Run.3DEngine
2
-
3
- A Three.js-based game engine with ECS architecture, physics, navigation, and comprehensive game systems.
4
-
5
- ## Features
6
-
7
- - **ECS Architecture**: Component-based GameObject system
8
- - **Physics**: Rapier3D integration with RigidBody components
9
- - **Navigation**: Dynamic navigation system with A* pathfinding
10
- - **Animation**: Advanced animation system with blending and retargeting
11
- - **Audio**: 2D/3D audio system with music management
12
- - **UI**: Comprehensive UI system with utilities
13
- - **Camera**: Follow camera, free camera with smooth transitions
14
- - **Asset Loading**: FBX, GLB, OBJ loaders with skeleton caching
15
- - **Particles**: Flexible particle system
16
- - **Input**: Cross-platform input management with mobile support
17
-
18
- ## Installation
19
-
20
- ### As npm workspace dependency
21
- ```json
22
- {
23
- "dependencies": {
24
- "@series-inc/rundot-3d-engine": "^0.2.0"
25
- }
26
- }
27
- ```
28
-
29
- ### As git submodule
30
- ```bash
31
- git submodule add https://github.com/series-ai/Run.3DEngine.git rundot-3D-engine
32
- git submodule update --init --recursive
33
- ```
34
-
35
- ## Usage
36
-
37
- ```typescript
38
- import { VenusGame, GameObject, Component } from "@series-inc/rundot-3d-engine"
39
- import { PhysicsSystem, UISystem } from "@series-inc/rundot-3d-engine/systems"
40
-
41
- class MyGame extends VenusGame {
42
- async onCreate(): Promise<void> {
43
- // Initialize game
44
- }
45
-
46
- async onStart(): Promise<void> {
47
- // Start game logic
48
- }
49
- }
50
- ```
51
-
52
- ## Dependencies
53
-
54
- - **three** ^0.180.0
55
- - **@dimforge/rapier3d** ^0.11.2
56
- - **@series-inc/rundot-game-sdk** 5.0.4
57
- - **@series-inc/stowkit-reader** ^0.1.42
58
- - **@series-inc/stowkit-three-loader** ^0.1.40
59
-
60
- ## Development
61
-
62
- ```bash
63
- # Install dependencies
64
- npm install
65
-
66
- # Build
67
- npm run build
68
-
69
- # Watch mode
70
- npm run dev
71
-
72
- # Lint
73
- npm run lint
74
- ```
75
-
76
- ## License
77
-
78
- See LICENSE file in root repository.
79
-
80
-
1
+ # Run.3DEngine
2
+
3
+ A Three.js-based game engine with ECS architecture, physics, navigation, and comprehensive game systems.
4
+
5
+ ## Features
6
+
7
+ - **ECS Architecture**: Component-based GameObject system
8
+ - **Physics**: Rapier3D integration with RigidBody components
9
+ - **Navigation**: Dynamic navigation system with A* pathfinding
10
+ - **Animation**: Advanced animation system with blending and retargeting
11
+ - **Audio**: 2D/3D audio system with music management
12
+ - **UI**: Comprehensive UI system with utilities
13
+ - **Camera**: Follow camera, free camera with smooth transitions
14
+ - **Asset Loading**: FBX, GLB, OBJ loaders with skeleton caching
15
+ - **Particles**: Flexible particle system
16
+ - **Input**: Cross-platform input management with mobile support
17
+
18
+ ## Installation
19
+
20
+ ### As npm workspace dependency
21
+ ```json
22
+ {
23
+ "dependencies": {
24
+ "@series-inc/rundot-3d-engine": "^0.2.0"
25
+ }
26
+ }
27
+ ```
28
+
29
+ ### As git submodule
30
+ ```bash
31
+ git submodule add https://github.com/series-ai/Run.3DEngine.git rundot-3D-engine
32
+ git submodule update --init --recursive
33
+ ```
34
+
35
+ ## Usage
36
+
37
+ ```typescript
38
+ import { VenusGame, GameObject, Component } from "@series-inc/rundot-3d-engine"
39
+ import { PhysicsSystem, UISystem } from "@series-inc/rundot-3d-engine/systems"
40
+
41
+ class MyGame extends VenusGame {
42
+ async onCreate(): Promise<void> {
43
+ // Initialize game
44
+ }
45
+
46
+ async onStart(): Promise<void> {
47
+ // Start game logic
48
+ }
49
+ }
50
+ ```
51
+
52
+ ## Dependencies
53
+
54
+ - **three** ^0.180.0
55
+ - **@dimforge/rapier3d** ^0.11.2
56
+ - **@series-inc/rundot-game-sdk** 5.0.4
57
+ - **@series-inc/stowkit-reader** ^0.1.42
58
+ - **@series-inc/stowkit-three-loader** ^0.1.40
59
+
60
+ ## Development
61
+
62
+ ```bash
63
+ # Install dependencies
64
+ npm install
65
+
66
+ # Build
67
+ npm run build
68
+
69
+ # Watch mode
70
+ npm run dev
71
+
72
+ # Lint
73
+ npm run lint
74
+ ```
75
+
76
+ ## License
77
+
78
+ See LICENSE file in root repository.
79
+
80
+
@@ -5701,6 +5701,28 @@ var StowKitSystem = class _StowKitSystem {
5701
5701
  );
5702
5702
  return results;
5703
5703
  }
5704
+ /**
5705
+ * Pre-decode audio clips so they're ready before the loading screen hides.
5706
+ * Decoded audio is cached in IndexedDB — subsequent loads are near-instant.
5707
+ */
5708
+ async preloadAudio(audioNames) {
5709
+ const start = performance.now();
5710
+ const results = /* @__PURE__ */ new Map();
5711
+ await Promise.allSettled(
5712
+ audioNames.map(async (name) => {
5713
+ try {
5714
+ const audio = await this.getAudio(name);
5715
+ results.set(name, audio);
5716
+ } catch (e) {
5717
+ console.warn(`[StowKitSystem] Failed to preload audio "${name}":`, e);
5718
+ }
5719
+ })
5720
+ );
5721
+ console.log(
5722
+ `[StowKitSystem] Preloaded ${results.size}/${audioNames.length} audio clips in ${(performance.now() - start).toFixed(0)}ms`
5723
+ );
5724
+ return results;
5725
+ }
5704
5726
  // ============================================
5705
5727
  // Pack Access
5706
5728
  // ============================================
@@ -6220,4 +6242,4 @@ export {
6220
6242
  PrefabLoader,
6221
6243
  StowKitSystem
6222
6244
  };
6223
- //# sourceMappingURL=chunk-SCNHMGS3.js.map
6245
+ //# sourceMappingURL=chunk-UDJVZHS6.js.map