react-three-game 0.0.108 → 0.0.109
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 +5 -5
- package/dist/editor.d.ts +22 -0
- package/dist/editor.js +15 -0
- package/dist/plugins/crashcat/CrashcatPhysicsComponent.js +1 -1
- package/dist/plugins/crashcat/CrashcatRuntime.js +1 -1
- package/dist/tools/prefabeditor/EditorContext.d.ts +36 -0
- package/dist/tools/prefabeditor/EditorContext.js +17 -0
- package/dist/tools/prefabeditor/EditorTree.js +1 -1
- package/dist/tools/prefabeditor/EditorTreeMenus.js +1 -1
- package/dist/tools/prefabeditor/EditorUI.js +1 -1
- package/dist/tools/prefabeditor/PrefabEditor.d.ts +4 -37
- package/dist/tools/prefabeditor/PrefabEditor.js +15 -30
- package/dist/tools/prefabeditor/PrefabRoot.d.ts +3 -27
- package/dist/tools/prefabeditor/PrefabRoot.js +79 -60
- package/dist/tools/prefabeditor/SceneContext.d.ts +28 -0
- package/dist/tools/prefabeditor/SceneContext.js +14 -0
- package/dist/tools/prefabeditor/assetRuntime.d.ts +4 -0
- package/dist/tools/prefabeditor/components/ComponentRegistry.d.ts +1 -1
- package/dist/tools/prefabeditor/components/ModelComponent.js +1 -1
- package/dist/tools/prefabeditor/components/PrefabRefComponent.js +4 -4
- package/dist/tools/prefabeditor/components/TransformComponent.js +1 -1
- package/dist/tools/prefabeditor/components/index.d.ts +1 -0
- package/dist/tools/prefabeditor/components/index.js +8 -0
- package/dist/tools/prefabeditor/components/runtime.d.ts +4 -0
- package/dist/tools/prefabeditor/components/runtime.js +372 -0
- package/dist/tools/prefabeditor/prefabStore.d.ts +1 -1
- package/dist/tools/prefabeditor/prefabStore.js +5 -1
- package/dist/tools/prefabeditor/runtimeUtils.d.ts +10 -0
- package/dist/tools/prefabeditor/runtimeUtils.js +30 -0
- package/dist/tools/prefabeditor/utils.d.ts +1 -9
- package/dist/tools/prefabeditor/utils.js +3 -28
- package/dist/viewer.d.ts +22 -0
- package/dist/viewer.js +14 -0
- package/package.json +10 -8
- package/dist/index.d.ts +0 -40
- package/dist/index.js +0 -32
|
@@ -8,21 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { findComponent } from "./types";
|
|
11
|
+
import { composeTransform } from "./runtimeUtils";
|
|
11
12
|
import { GLTFExporter } from "three/examples/jsm/exporters/GLTFExporter.js";
|
|
12
|
-
import { Box3,
|
|
13
|
-
export
|
|
14
|
-
return (path.startsWith("data:") ||
|
|
15
|
-
path.startsWith("http://") ||
|
|
16
|
-
path.startsWith("https://"));
|
|
17
|
-
}
|
|
18
|
-
export function withBasePath(basePath, path) {
|
|
19
|
-
if (!path)
|
|
20
|
-
return (basePath !== null && basePath !== void 0 ? basePath : "").replace(/\/$/, "");
|
|
21
|
-
if (isExternalPath(path))
|
|
22
|
-
return path;
|
|
23
|
-
const normalizedBasePath = (basePath !== null && basePath !== void 0 ? basePath : "").replace(/\/$/, "");
|
|
24
|
-
return path.startsWith("/") ? `${normalizedBasePath}${path}` : `${normalizedBasePath}/${path}`;
|
|
25
|
-
}
|
|
13
|
+
import { Box3, Matrix4, PerspectiveCamera, Quaternion, Vector3, } from "three";
|
|
14
|
+
export { composeTransform, decompose, isExternalPath, withBasePath } from "./runtimeUtils";
|
|
26
15
|
/** Save scene JSON, showing a Save As dialog when supported */
|
|
27
16
|
export function saveJson(data, filename) {
|
|
28
17
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -172,20 +161,6 @@ export function focusCameraOnObject(object, camera, target, update) {
|
|
|
172
161
|
target.copy(center);
|
|
173
162
|
update === null || update === void 0 ? void 0 : update();
|
|
174
163
|
}
|
|
175
|
-
export function decompose(m) {
|
|
176
|
-
const p = new Vector3(), q = new Quaternion(), s = new Vector3();
|
|
177
|
-
m.decompose(p, q, s);
|
|
178
|
-
const e = new Euler().setFromQuaternion(q);
|
|
179
|
-
return {
|
|
180
|
-
position: [p.x, p.y, p.z],
|
|
181
|
-
rotation: [e.x, e.y, e.z],
|
|
182
|
-
scale: [s.x, s.y, s.z],
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
/** Build a local Matrix4 from position/rotation/scale arrays. */
|
|
186
|
-
export function composeTransform(position = [0, 0, 0], rotation = [0, 0, 0], scale = [1, 1, 1]) {
|
|
187
|
-
return new Matrix4().compose(new Vector3(...position), new Quaternion().setFromEuler(new Euler(...rotation)), new Vector3(...scale));
|
|
188
|
-
}
|
|
189
164
|
/** Compute the parent world matrix for a node using the normalized store data */
|
|
190
165
|
export function computeParentWorldMatrix(state, targetId) {
|
|
191
166
|
var _a;
|
package/dist/viewer.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { registerRuntimeComponents } from "./tools/prefabeditor/components/runtime";
|
|
2
|
+
export { registerRuntimeComponents };
|
|
3
|
+
export { default as GameCanvas } from "./shared/GameCanvas";
|
|
4
|
+
export type { GameCanvasProps } from "./shared/GameCanvas";
|
|
5
|
+
export { ground } from "./helpers";
|
|
6
|
+
export type { GroundOptions, Vec3 } from "./helpers";
|
|
7
|
+
export { sound as soundManager } from "./helpers/SoundManager";
|
|
8
|
+
export { default as PrefabRoot } from "./tools/prefabeditor/PrefabRoot";
|
|
9
|
+
export type { PrefabRootProps } from "./tools/prefabeditor/PrefabRoot";
|
|
10
|
+
export { PrefabEditorMode, SceneContext, useScene } from "./tools/prefabeditor/SceneContext";
|
|
11
|
+
export type { PrefabNode, Scene } from "./tools/prefabeditor/SceneContext";
|
|
12
|
+
export type { AssetRuntime, NodeApi, LiveRef } from "./tools/prefabeditor/assetRuntime";
|
|
13
|
+
export { useAssetRuntime, useNode, useNodeHandle, useNodeObject } from "./tools/prefabeditor/assetRuntime";
|
|
14
|
+
export { gameEvents, useClickEvent, useGameEvent } from "./tools/prefabeditor/GameEvents";
|
|
15
|
+
export type { ClickEventPayload, ContactEventPayload, GameEventHandler, GameEventMap } from "./tools/prefabeditor/GameEvents";
|
|
16
|
+
export { registerComponent } from "./tools/prefabeditor/components/ComponentRegistry";
|
|
17
|
+
export type { Component, ComponentViewProps } from "./tools/prefabeditor/components/ComponentRegistry";
|
|
18
|
+
export { denormalizePrefab, createModelNode, createImageNode } from "./tools/prefabeditor/prefab";
|
|
19
|
+
export type { Prefab, GameObject, ComponentData } from "./tools/prefabeditor/types";
|
|
20
|
+
export { findComponent, findComponentEntry, hasComponent } from "./tools/prefabeditor/types";
|
|
21
|
+
export { loadModel, loadSound, loadTexture } from "./tools/dragdrop/modelLoader";
|
|
22
|
+
export type { LoadedModel, LoadedModels, ModelLoadResult, LoadedSound, LoadedSounds, SoundLoadResult, LoadedTexture, LoadedTextures, TextureLoadResult, ProgressCallback, } from "./tools/dragdrop/modelLoader";
|
package/dist/viewer.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { registerRuntimeComponents } from "./tools/prefabeditor/components/runtime";
|
|
2
|
+
registerRuntimeComponents();
|
|
3
|
+
export { registerRuntimeComponents };
|
|
4
|
+
export { default as GameCanvas } from "./shared/GameCanvas";
|
|
5
|
+
export { ground } from "./helpers";
|
|
6
|
+
export { sound as soundManager } from "./helpers/SoundManager";
|
|
7
|
+
export { default as PrefabRoot } from "./tools/prefabeditor/PrefabRoot";
|
|
8
|
+
export { PrefabEditorMode, SceneContext, useScene } from "./tools/prefabeditor/SceneContext";
|
|
9
|
+
export { useAssetRuntime, useNode, useNodeHandle, useNodeObject } from "./tools/prefabeditor/assetRuntime";
|
|
10
|
+
export { gameEvents, useClickEvent, useGameEvent } from "./tools/prefabeditor/GameEvents";
|
|
11
|
+
export { registerComponent } from "./tools/prefabeditor/components/ComponentRegistry";
|
|
12
|
+
export { denormalizePrefab, createModelNode, createImageNode } from "./tools/prefabeditor/prefab";
|
|
13
|
+
export { findComponent, findComponentEntry, hasComponent } from "./tools/prefabeditor/types";
|
|
14
|
+
export { loadModel, loadSound, loadTexture } from "./tools/dragdrop/modelLoader";
|
package/package.json
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-three-game",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.109",
|
|
4
4
|
"description": "high performance 3D game engine built in React",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"module": "dist/index.js",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
5
|
"exports": {
|
|
9
|
-
"
|
|
10
|
-
"types": "./dist/
|
|
11
|
-
"import": "./dist/
|
|
12
|
-
"default": "./dist/
|
|
6
|
+
"./viewer": {
|
|
7
|
+
"types": "./dist/viewer.d.ts",
|
|
8
|
+
"import": "./dist/viewer.js",
|
|
9
|
+
"default": "./dist/viewer.js"
|
|
10
|
+
},
|
|
11
|
+
"./editor": {
|
|
12
|
+
"types": "./dist/editor.d.ts",
|
|
13
|
+
"import": "./dist/editor.js",
|
|
14
|
+
"default": "./dist/editor.js"
|
|
13
15
|
},
|
|
14
16
|
"./plugins": {
|
|
15
17
|
"types": "./dist/plugins/index.d.ts",
|
package/dist/index.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
export { default as GameCanvas } from './shared/GameCanvas';
|
|
2
|
-
export type { GameCanvasProps } from './shared/GameCanvas';
|
|
3
|
-
export { ground } from './helpers';
|
|
4
|
-
export type { GroundOptions, Vec3 } from './helpers';
|
|
5
|
-
export { sound as soundManager } from './helpers/SoundManager';
|
|
6
|
-
export { default as PrefabEditor } from './tools/prefabeditor/PrefabEditor';
|
|
7
|
-
export { PrefabEditorMode } from './tools/prefabeditor/PrefabRoot';
|
|
8
|
-
export { default as PrefabRoot } from './tools/prefabeditor/PrefabRoot';
|
|
9
|
-
export { useEditorContext, useEditorRef } from './tools/prefabeditor/PrefabEditor';
|
|
10
|
-
export type { EditorContextType } from './tools/prefabeditor/PrefabEditor';
|
|
11
|
-
export { usePrefabStore, usePrefabStoreApi } from './tools/prefabeditor/prefabStore';
|
|
12
|
-
export type { PrefabStoreApi, PrefabStoreState } from './tools/prefabeditor/prefabStore';
|
|
13
|
-
export { denormalizePrefab } from './tools/prefabeditor/prefab';
|
|
14
|
-
export { gameEvents, useClickEvent, useGameEvent } from './tools/prefabeditor/GameEvents';
|
|
15
|
-
export type { ClickEventPayload, ContactEventPayload, GameEventHandler, GameEventMap } from './tools/prefabeditor/GameEvents';
|
|
16
|
-
export { registerComponent } from './tools/prefabeditor/components/ComponentRegistry';
|
|
17
|
-
export { FieldRenderer, FieldGroup, ListEditor, Label, Vector3Input, Vector3Field, NumberField, ColorInput, ColorField, StringInput, StringField, BooleanInput, BooleanField, SelectInput, SelectField, } from './tools/prefabeditor/components/Input';
|
|
18
|
-
export { loadJson, saveJson, exportGLB, exportGLBData, regenerateIds, computeParentWorldMatrix, } from './tools/prefabeditor/utils';
|
|
19
|
-
export type { ExportGLBOptions } from './tools/prefabeditor/utils';
|
|
20
|
-
export { createModelNode, createImageNode, } from './tools/prefabeditor/prefab';
|
|
21
|
-
export { decomposeModelToPrefabNodes } from './tools/prefabeditor/modelPrefab';
|
|
22
|
-
export type { DecomposeModelOptions } from './tools/prefabeditor/modelPrefab';
|
|
23
|
-
export type { PrefabEditorProps, PrefabNode, PrefabEditorRef, } from './tools/prefabeditor/PrefabEditor';
|
|
24
|
-
export type { PrefabRootProps } from './tools/prefabeditor/PrefabRoot';
|
|
25
|
-
export type { AssetRuntime, NodeApi, LiveRef } from './tools/prefabeditor/assetRuntime';
|
|
26
|
-
export { useAssetRuntime, useNode, useNodeHandle, useNodeObject } from './tools/prefabeditor/assetRuntime';
|
|
27
|
-
export type { Scene } from './tools/prefabeditor/PrefabRoot';
|
|
28
|
-
export { useScene } from './tools/prefabeditor/PrefabRoot';
|
|
29
|
-
export type { Component, ComponentViewProps } from './tools/prefabeditor/components/ComponentRegistry';
|
|
30
|
-
export type { FieldDefinition, FieldType } from './tools/prefabeditor/components/Input';
|
|
31
|
-
export { MaterialOverridesProvider, useMaterialOverrides } from './tools/prefabeditor/components/MaterialComponent';
|
|
32
|
-
export type { MaterialOverrides } from './tools/prefabeditor/components/MaterialComponent';
|
|
33
|
-
export type { Prefab, GameObject, ComponentData } from './tools/prefabeditor/types';
|
|
34
|
-
export { findComponent, findComponentEntry, hasComponent } from './tools/prefabeditor/types';
|
|
35
|
-
export { float, positionLocal, sin, time, uniform, vec3, } from 'three/tsl';
|
|
36
|
-
export { loadFiles } from './tools/dragdrop/DragDropLoader';
|
|
37
|
-
export type { AssetLoadOptions } from './tools/dragdrop/DragDropLoader';
|
|
38
|
-
export { loadModel, loadSound, loadTexture } from './tools/dragdrop/modelLoader';
|
|
39
|
-
export type { LoadedModel, LoadedModels, ModelLoadResult, LoadedSound, LoadedSounds, SoundLoadResult, LoadedTexture, LoadedTextures, TextureLoadResult, ProgressCallback, } from './tools/dragdrop/modelLoader';
|
|
40
|
-
export { ModelListViewer, SoundListViewer, ModelPicker, SoundPicker, TextureListViewer, TexturePicker, SingleModelViewer, SingleSoundViewer, SingleTextureViewer, SharedCanvas, } from './tools/assetviewer/page';
|
package/dist/index.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
// Core
|
|
2
|
-
export { default as GameCanvas } from './shared/GameCanvas';
|
|
3
|
-
// Helpers
|
|
4
|
-
export { ground } from './helpers';
|
|
5
|
-
export { sound as soundManager } from './helpers/SoundManager';
|
|
6
|
-
// Prefab Editor
|
|
7
|
-
export { default as PrefabEditor } from './tools/prefabeditor/PrefabEditor';
|
|
8
|
-
export { PrefabEditorMode } from './tools/prefabeditor/PrefabRoot';
|
|
9
|
-
export { default as PrefabRoot } from './tools/prefabeditor/PrefabRoot';
|
|
10
|
-
export { useEditorContext, useEditorRef } from './tools/prefabeditor/PrefabEditor';
|
|
11
|
-
export { usePrefabStore, usePrefabStoreApi } from './tools/prefabeditor/prefabStore';
|
|
12
|
-
// Prefab Editor - Data API
|
|
13
|
-
export { denormalizePrefab } from './tools/prefabeditor/prefab';
|
|
14
|
-
export { gameEvents, useClickEvent, useGameEvent } from './tools/prefabeditor/GameEvents';
|
|
15
|
-
// Prefab Editor - Component Registry
|
|
16
|
-
export { registerComponent } from './tools/prefabeditor/components/ComponentRegistry';
|
|
17
|
-
// Prefab Editor - Input Components
|
|
18
|
-
export { FieldRenderer, FieldGroup, ListEditor, Label, Vector3Input, Vector3Field, NumberField, ColorInput, ColorField, StringInput, StringField, BooleanInput, BooleanField, SelectInput, SelectField, } from './tools/prefabeditor/components/Input';
|
|
19
|
-
// Prefab Editor - Utils
|
|
20
|
-
export { loadJson, saveJson, exportGLB, exportGLBData, regenerateIds, computeParentWorldMatrix, } from './tools/prefabeditor/utils';
|
|
21
|
-
export { createModelNode, createImageNode, } from './tools/prefabeditor/prefab';
|
|
22
|
-
export { decomposeModelToPrefabNodes } from './tools/prefabeditor/modelPrefab';
|
|
23
|
-
export { useAssetRuntime, useNode, useNodeHandle, useNodeObject } from './tools/prefabeditor/assetRuntime';
|
|
24
|
-
export { useScene } from './tools/prefabeditor/PrefabRoot';
|
|
25
|
-
export { MaterialOverridesProvider, useMaterialOverrides } from './tools/prefabeditor/components/MaterialComponent';
|
|
26
|
-
export { findComponent, findComponentEntry, hasComponent } from './tools/prefabeditor/types';
|
|
27
|
-
export { float, positionLocal, sin, time, uniform, vec3, } from 'three/tsl';
|
|
28
|
-
// Asset Loading
|
|
29
|
-
export { loadFiles } from './tools/dragdrop/DragDropLoader';
|
|
30
|
-
export { loadModel, loadSound, loadTexture } from './tools/dragdrop/modelLoader';
|
|
31
|
-
// Asset Viewer
|
|
32
|
-
export { ModelListViewer, SoundListViewer, ModelPicker, SoundPicker, TextureListViewer, TexturePicker, SingleModelViewer, SingleSoundViewer, SingleTextureViewer, SharedCanvas, } from './tools/assetviewer/page';
|