@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 +80 -80
- package/dist/{chunk-SCNHMGS3.js → chunk-UDJVZHS6.js} +23 -1
- package/dist/{chunk-SCNHMGS3.js.map → chunk-UDJVZHS6.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/systems/index.d.ts +5 -0
- package/dist/systems/index.js +1 -1
- package/docs/systems/NavigationSystem.md +274 -274
- package/docs/systems/SplineSystem.md +270 -270
- package/package.json +95 -95
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-
|
|
6245
|
+
//# sourceMappingURL=chunk-UDJVZHS6.js.map
|