@pascal-app/viewer 0.9.1 → 0.9.2
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/dist/components/error-boundary.d.ts +6 -0
- package/dist/components/error-boundary.d.ts.map +1 -1
- package/dist/components/error-boundary.js +6 -0
- package/dist/components/renderers/node-renderer.d.ts +5 -1
- package/dist/components/renderers/node-renderer.d.ts.map +1 -1
- package/dist/components/renderers/node-renderer.js +5 -2
- package/dist/components/renderers/parametric-node-renderer.d.ts.map +1 -1
- package/dist/components/renderers/parametric-node-renderer.js +7 -4
- package/dist/components/viewer/bvh-ecctrl.d.ts +77 -0
- package/dist/components/viewer/bvh-ecctrl.d.ts.map +1 -0
- package/dist/components/viewer/bvh-ecctrl.js +552 -0
- package/dist/components/viewer/frame-limiter.d.ts.map +1 -1
- package/dist/components/viewer/frame-limiter.js +39 -4
- package/dist/components/viewer/glb-interactive.d.ts +41 -0
- package/dist/components/viewer/glb-interactive.d.ts.map +1 -0
- package/dist/components/viewer/glb-interactive.js +394 -0
- package/dist/components/viewer/glb-reference-nodes.d.ts +29 -0
- package/dist/components/viewer/glb-reference-nodes.d.ts.map +1 -0
- package/dist/components/viewer/glb-reference-nodes.js +80 -0
- package/dist/components/viewer/glb-replace-instances.d.ts +18 -0
- package/dist/components/viewer/glb-replace-instances.d.ts.map +1 -0
- package/dist/components/viewer/glb-replace-instances.js +61 -0
- package/dist/components/viewer/glb-scene.d.ts +54 -0
- package/dist/components/viewer/glb-scene.d.ts.map +1 -0
- package/dist/components/viewer/glb-scene.js +920 -0
- package/dist/components/viewer/glb-walkthrough-controller.d.ts +12 -0
- package/dist/components/viewer/glb-walkthrough-controller.d.ts.map +1 -0
- package/dist/components/viewer/glb-walkthrough-controller.js +357 -0
- package/dist/components/viewer/index.d.ts +19 -2
- package/dist/components/viewer/index.d.ts.map +1 -1
- package/dist/components/viewer/index.js +104 -12
- package/dist/components/viewer/lights.d.ts.map +1 -1
- package/dist/components/viewer/lights.js +36 -5
- package/dist/components/viewer/perf-monitor.d.ts.map +1 -1
- package/dist/components/viewer/perf-monitor.js +17 -2
- package/dist/components/viewer/post-processing.d.ts +7 -1
- package/dist/components/viewer/post-processing.d.ts.map +1 -1
- package/dist/components/viewer/post-processing.js +179 -24
- package/dist/components/viewer/registered-systems.d.ts.map +1 -1
- package/dist/components/viewer/registered-systems.js +6 -4
- package/dist/components/viewer/scene-bvh.d.ts +2 -1
- package/dist/components/viewer/scene-bvh.d.ts.map +1 -1
- package/dist/components/viewer/scene-bvh.js +3 -0
- package/dist/components/viewer/scene-bvh.test.d.ts +2 -0
- package/dist/components/viewer/scene-bvh.test.d.ts.map +1 -0
- package/dist/components/viewer/scene-bvh.test.js +13 -0
- package/dist/components/viewer/scene-environment.d.ts +2 -0
- package/dist/components/viewer/scene-environment.d.ts.map +1 -0
- package/dist/components/viewer/scene-environment.js +79 -0
- package/dist/components/viewer/selection-manager.d.ts.map +1 -1
- package/dist/components/viewer/selection-manager.js +18 -10
- package/dist/components/viewer/walkthrough-controls.d.ts +1 -0
- package/dist/components/viewer/walkthrough-controls.d.ts.map +1 -1
- package/dist/components/viewer/walkthrough-controls.js +20 -0
- package/dist/hooks/use-gltf-ktx2.d.ts.map +1 -1
- package/dist/hooks/use-gltf-ktx2.js +3 -22
- package/dist/hooks/use-node-events.d.ts +1 -1
- package/dist/hooks/use-node-events.d.ts.map +1 -1
- package/dist/hooks/use-node-events.js +22 -14
- package/dist/index.d.ts +19 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -8
- package/dist/lib/backdrop.d.ts +33 -0
- package/dist/lib/backdrop.d.ts.map +1 -0
- package/dist/lib/backdrop.js +92 -0
- package/dist/lib/box-uv.d.ts +13 -0
- package/dist/lib/box-uv.d.ts.map +1 -0
- package/dist/lib/box-uv.js +32 -0
- package/dist/lib/csg-utils.d.ts +3 -9
- package/dist/lib/csg-utils.d.ts.map +1 -1
- package/dist/lib/csg-utils.js +65 -5
- package/dist/lib/csg-utils.test.d.ts +2 -0
- package/dist/lib/csg-utils.test.d.ts.map +1 -0
- package/dist/lib/csg-utils.test.js +45 -0
- package/dist/lib/edge-style.d.ts +1 -0
- package/dist/lib/edge-style.d.ts.map +1 -1
- package/dist/lib/edge-style.js +26 -6
- package/dist/lib/ink-edges.d.ts +1 -1
- package/dist/lib/ink-edges.d.ts.map +1 -1
- package/dist/lib/ink-edges.js +13 -7
- package/dist/lib/ktx2-loader.d.ts +43 -0
- package/dist/lib/ktx2-loader.d.ts.map +1 -0
- package/dist/lib/ktx2-loader.js +136 -0
- package/dist/lib/layers.d.ts +10 -0
- package/dist/lib/layers.d.ts.map +1 -1
- package/dist/lib/layers.js +10 -0
- package/dist/lib/materials.d.ts +14 -1
- package/dist/lib/materials.d.ts.map +1 -1
- package/dist/lib/materials.js +103 -26
- package/dist/lib/scene-themes.d.ts +1 -0
- package/dist/lib/scene-themes.d.ts.map +1 -1
- package/dist/lib/scene-themes.js +25 -16
- package/dist/lib/shadow-only.d.ts +4 -0
- package/dist/lib/shadow-only.d.ts.map +1 -0
- package/dist/lib/shadow-only.js +36 -0
- package/dist/lib/tsl-compat.d.ts +12 -0
- package/dist/lib/tsl-compat.d.ts.map +1 -0
- package/dist/lib/tsl-compat.js +13 -0
- package/dist/store/use-viewer.d.ts +60 -18
- package/dist/store/use-viewer.d.ts.map +1 -1
- package/dist/store/use-viewer.js +175 -3
- package/dist/store/use-viewer.test.d.ts +2 -0
- package/dist/store/use-viewer.test.d.ts.map +1 -0
- package/dist/store/use-viewer.test.js +42 -0
- package/dist/systems/ceiling/ceiling-system.d.ts.map +1 -1
- package/dist/systems/ceiling/ceiling-system.js +4 -1
- package/dist/systems/door/door-animation.test.d.ts +2 -0
- package/dist/systems/door/door-animation.test.d.ts.map +1 -0
- package/dist/systems/door/door-animation.test.js +51 -0
- package/dist/systems/door/door-floor-alignment.test.d.ts +2 -0
- package/dist/systems/door/door-floor-alignment.test.d.ts.map +1 -0
- package/dist/systems/door/door-floor-alignment.test.js +50 -0
- package/dist/systems/door/door-system.d.ts +24 -0
- package/dist/systems/door/door-system.d.ts.map +1 -1
- package/dist/systems/door/door-system.js +494 -161
- package/dist/systems/fence/fence-system.d.ts +17 -0
- package/dist/systems/fence/fence-system.d.ts.map +1 -1
- package/dist/systems/fence/fence-system.js +221 -53
- package/dist/systems/geometry/geometry-system.d.ts +7 -0
- package/dist/systems/geometry/geometry-system.d.ts.map +1 -1
- package/dist/systems/geometry/geometry-system.js +95 -26
- package/dist/systems/geometry/geometry-system.test.d.ts +2 -0
- package/dist/systems/geometry/geometry-system.test.d.ts.map +1 -0
- package/dist/systems/geometry/geometry-system.test.js +30 -0
- package/dist/systems/interactive/control-widget.d.ts +10 -0
- package/dist/systems/interactive/control-widget.d.ts.map +1 -0
- package/dist/systems/interactive/control-widget.js +35 -0
- package/dist/systems/interactive/interactive-system.d.ts.map +1 -1
- package/dist/systems/interactive/interactive-system.js +55 -56
- package/dist/systems/item/item-system.d.ts.map +1 -1
- package/dist/systems/item/item-system.js +20 -6
- package/dist/systems/level/level-system.d.ts.map +1 -1
- package/dist/systems/level/level-system.js +28 -4
- package/dist/systems/level/level-utils.d.ts +0 -3
- package/dist/systems/level/level-utils.d.ts.map +1 -1
- package/dist/systems/level/level-utils.js +2 -41
- package/dist/systems/roof/roof-materials.d.ts.map +1 -1
- package/dist/systems/roof/roof-materials.js +29 -8
- package/dist/systems/roof/roof-system.d.ts +21 -8
- package/dist/systems/roof/roof-system.d.ts.map +1 -1
- package/dist/systems/roof/roof-system.js +1079 -221
- package/dist/systems/slab/slab-system.d.ts +5 -3
- package/dist/systems/slab/slab-system.d.ts.map +1 -1
- package/dist/systems/slab/slab-system.js +41 -23
- package/dist/systems/slab/slab-system.test.js +3 -2
- package/dist/systems/stair/stair-system.js +6 -3
- package/dist/systems/wall/opening-cutout-geometry.d.ts +31 -0
- package/dist/systems/wall/opening-cutout-geometry.d.ts.map +1 -0
- package/dist/systems/wall/opening-cutout-geometry.js +167 -0
- package/dist/systems/wall/opening-cutout-geometry.test.d.ts +2 -0
- package/dist/systems/wall/opening-cutout-geometry.test.d.ts.map +1 -0
- package/dist/systems/wall/opening-cutout-geometry.test.js +172 -0
- package/dist/systems/wall/wall-cutout.d.ts.map +1 -1
- package/dist/systems/wall/wall-cutout.js +46 -17
- package/dist/systems/wall/wall-materials.d.ts +11 -7
- package/dist/systems/wall/wall-materials.d.ts.map +1 -1
- package/dist/systems/wall/wall-materials.js +244 -35
- package/dist/systems/wall/wall-opening-cutout.test.d.ts +2 -0
- package/dist/systems/wall/wall-opening-cutout.test.d.ts.map +1 -0
- package/dist/systems/wall/wall-opening-cutout.test.js +59 -0
- package/dist/systems/wall/wall-support-extension.test.d.ts +2 -0
- package/dist/systems/wall/wall-support-extension.test.d.ts.map +1 -0
- package/dist/systems/wall/wall-support-extension.test.js +48 -0
- package/dist/systems/wall/wall-system.d.ts +2 -2
- package/dist/systems/wall/wall-system.d.ts.map +1 -1
- package/dist/systems/wall/wall-system.js +329 -174
- package/dist/systems/window/window-animation-system.d.ts +12 -0
- package/dist/systems/window/window-animation-system.d.ts.map +1 -1
- package/dist/systems/window/window-animation-system.js +16 -5
- package/dist/systems/window/window-system.d.ts +7 -0
- package/dist/systems/window/window-system.d.ts.map +1 -1
- package/dist/systems/window/window-system.js +240 -14
- package/package.json +4 -4
- package/dist/components/viewer/ground-occluder.d.ts +0 -2
- package/dist/components/viewer/ground-occluder.d.ts.map +0 -1
- package/dist/components/viewer/ground-occluder.js +0 -67
|
@@ -5,6 +5,11 @@ interface ErrorBoundaryProps {
|
|
|
5
5
|
fallback: ReactNode;
|
|
6
6
|
/** Tag for log lines so we can tell which boundary swallowed an error. */
|
|
7
7
|
scope?: string;
|
|
8
|
+
/** Notified once per caught error — lets the host schedule a retry. */
|
|
9
|
+
onError?: (error: Error) => void;
|
|
10
|
+
/** Changing this key clears a caught error and re-mounts `children` — the
|
|
11
|
+
* retry half of `onError` (bump it after clearing whatever failed). */
|
|
12
|
+
resetKey?: unknown;
|
|
8
13
|
}
|
|
9
14
|
export declare class ErrorBoundary extends Component<ErrorBoundaryProps, {
|
|
10
15
|
hasError: boolean;
|
|
@@ -16,6 +21,7 @@ export declare class ErrorBoundary extends Component<ErrorBoundaryProps, {
|
|
|
16
21
|
hasError: boolean;
|
|
17
22
|
};
|
|
18
23
|
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
24
|
+
componentDidUpdate(prevProps: ErrorBoundaryProps): void;
|
|
19
25
|
render(): ReactNode;
|
|
20
26
|
}
|
|
21
27
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../src/components/error-boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../src/components/error-boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uEAAuE;IACvE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC;2EACuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;IACrF,KAAK;;MAAsB;IAC3B,MAAM,CAAC,wBAAwB;;;IAG/B,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS;IAQ/C,kBAAkB,CAAC,SAAS,EAAE,kBAAkB;IAKhD,MAAM;CAGP"}
|
|
@@ -6,6 +6,12 @@ export class ErrorBoundary extends Component {
|
|
|
6
6
|
}
|
|
7
7
|
componentDidCatch(error, info) {
|
|
8
8
|
console.error(`[viewer] ErrorBoundary caught${this.props.scope ? ` (${this.props.scope})` : ''}:`, error, info.componentStack);
|
|
9
|
+
this.props.onError?.(error);
|
|
10
|
+
}
|
|
11
|
+
componentDidUpdate(prevProps) {
|
|
12
|
+
if (this.state.hasError && prevProps.resetKey !== this.props.resetKey) {
|
|
13
|
+
this.setState({ hasError: false });
|
|
14
|
+
}
|
|
9
15
|
}
|
|
10
16
|
render() {
|
|
11
17
|
return this.state.hasError ? this.props.fallback : this.props.children;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import { type AnyNode } from '@pascal-app/core';
|
|
1
|
+
import { type AnyNode, type RendererSource } from '@pascal-app/core';
|
|
2
|
+
import { type ComponentType } from 'react';
|
|
3
|
+
export declare function getRegistryRenderer(source: RendererSource<AnyNode>): ComponentType<{
|
|
4
|
+
node: AnyNode;
|
|
5
|
+
}> | null;
|
|
2
6
|
export declare const NodeRenderer: ({ nodeId }: {
|
|
3
7
|
nodeId: AnyNode["id"];
|
|
4
8
|
}) => import("react").JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-renderer.d.ts","sourceRoot":"","sources":["../../../src/components/renderers/node-renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"node-renderer.d.ts","sourceRoot":"","sources":["../../../src/components/renderers/node-renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,OAAO,CAAA;AAO1D,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,GAC9B,aAAa,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,IAAI,CASzC;AAED,eAAO,MAAM,YAAY,GAAI,YAAY;IAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,uCA0BjE,CAAA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { nodeRegistry, useScene } from '@pascal-app/core';
|
|
3
|
+
import { isNodeKindEnabled, nodeRegistry, useScene, } from '@pascal-app/core';
|
|
4
4
|
import { lazy, Suspense } from 'react';
|
|
5
5
|
import { ParametricNodeRenderer } from './parametric-node-renderer';
|
|
6
6
|
// Cache lazy components by their RendererSource so React.lazy isn't re-invoked
|
|
7
7
|
// on every render — that would create a new Suspense boundary each time.
|
|
8
8
|
const lazyCache = new WeakMap();
|
|
9
|
-
function getRegistryRenderer(source) {
|
|
9
|
+
export function getRegistryRenderer(source) {
|
|
10
10
|
const cached = lazyCache.get(source);
|
|
11
11
|
if (cached)
|
|
12
12
|
return cached;
|
|
@@ -20,8 +20,11 @@ function getRegistryRenderer(source) {
|
|
|
20
20
|
}
|
|
21
21
|
export const NodeRenderer = ({ nodeId }) => {
|
|
22
22
|
const node = useScene((state) => state.nodes[nodeId]);
|
|
23
|
+
const installedPlugins = useScene((state) => state.installedPlugins);
|
|
23
24
|
if (!node)
|
|
24
25
|
return null;
|
|
26
|
+
if (!isNodeKindEnabled(node.type, installedPlugins))
|
|
27
|
+
return null;
|
|
25
28
|
const def = nodeRegistry.get(node.type);
|
|
26
29
|
if (!def)
|
|
27
30
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parametric-node-renderer.d.ts","sourceRoot":"","sources":["../../../src/components/renderers/parametric-node-renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,OAAO,EAMb,MAAM,kBAAkB,CAAA;AAwCzB,eAAO,MAAM,sBAAsB,GAAI,UAAU;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"parametric-node-renderer.d.ts","sourceRoot":"","sources":["../../../src/components/renderers/parametric-node-renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,OAAO,EAMb,MAAM,kBAAkB,CAAA;AAwCzB,eAAO,MAAM,sBAAsB,GAAI,UAAU;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,gCAgDjE,CAAA"}
|
|
@@ -24,11 +24,14 @@ export const ParametricNodeRenderer = ({ node }) => {
|
|
|
24
24
|
}, [node.id]);
|
|
25
25
|
const position = liveTransform?.position ?? overridePosition ?? n.position ?? [0, 0, 0];
|
|
26
26
|
const rawRotation = overrideRotation ?? n.rotation;
|
|
27
|
+
const baseRotation = typeof rawRotation === 'number' ? [0, rawRotation, 0] : (rawRotation ?? [0, 0, 0]);
|
|
28
|
+
// The live transform carries only the plan-view Y rotation; keep the
|
|
29
|
+
// node's own X/Z so 3D-oriented kinds (e.g. a duct-fitting riser at
|
|
30
|
+
// X=π/2) don't visually flatten to horizontal mid-drag. Matches the
|
|
31
|
+
// move tool's commit, which also replaces only the Y component.
|
|
27
32
|
const rotation = liveTransform?.rotation !== undefined
|
|
28
|
-
? [0, liveTransform.rotation,
|
|
29
|
-
:
|
|
30
|
-
? [0, rawRotation, 0]
|
|
31
|
-
: (rawRotation ?? [0, 0, 0]);
|
|
33
|
+
? [baseRotation[0], liveTransform.rotation, baseRotation[2]]
|
|
34
|
+
: baseRotation;
|
|
32
35
|
return (_jsx("group", { position: position, ref: ref, rotation: rotation, visible: n.visible !== false, ...handlers, children: Array.isArray(n.children) &&
|
|
33
36
|
n.children.map((childId) => (_jsx(NodeRenderer, { nodeId: childId }, `${node.id}:${childId}`))) }));
|
|
34
37
|
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import '@react-three/fiber';
|
|
2
|
+
import { type ThreeElements } from '@react-three/fiber';
|
|
3
|
+
import type { ReactNode } from 'react';
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
export type MovementInput = {
|
|
6
|
+
forward?: boolean;
|
|
7
|
+
backward?: boolean;
|
|
8
|
+
leftward?: boolean;
|
|
9
|
+
rightward?: boolean;
|
|
10
|
+
joystick?: {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
};
|
|
14
|
+
run?: boolean;
|
|
15
|
+
jump?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type CharacterAnimationStatus = 'IDLE' | 'WALK' | 'RUN' | 'JUMP_START' | 'JUMP_IDLE' | 'JUMP_FALL' | 'JUMP_LAND';
|
|
18
|
+
export type FloatCheckType = 'RAYCAST' | 'SHAPECAST' | 'BOTH';
|
|
19
|
+
export interface BVHEcctrlApi {
|
|
20
|
+
group: THREE.Group | null;
|
|
21
|
+
model: THREE.Group | null;
|
|
22
|
+
resetLinVel: () => void;
|
|
23
|
+
addLinVel: (v: THREE.Vector3) => void;
|
|
24
|
+
setLinVel: (v: THREE.Vector3) => void;
|
|
25
|
+
setMovement: (input: MovementInput) => void;
|
|
26
|
+
}
|
|
27
|
+
export interface EcctrlProps extends Omit<ThreeElements['group'], 'ref'> {
|
|
28
|
+
children?: ReactNode;
|
|
29
|
+
debug?: boolean;
|
|
30
|
+
colliderMeshes?: THREE.Mesh[];
|
|
31
|
+
colliderCapsuleArgs?: [
|
|
32
|
+
radius: number,
|
|
33
|
+
length: number,
|
|
34
|
+
capSegments: number,
|
|
35
|
+
radialSegments: number
|
|
36
|
+
];
|
|
37
|
+
paused?: boolean;
|
|
38
|
+
delay?: number;
|
|
39
|
+
gravity?: number;
|
|
40
|
+
fallGravityFactor?: number;
|
|
41
|
+
maxFallSpeed?: number;
|
|
42
|
+
mass?: number;
|
|
43
|
+
sleepTimeout?: number;
|
|
44
|
+
slowMotionFactor?: number;
|
|
45
|
+
turnSpeed?: number;
|
|
46
|
+
maxWalkSpeed?: number;
|
|
47
|
+
maxRunSpeed?: number;
|
|
48
|
+
acceleration?: number;
|
|
49
|
+
deceleration?: number;
|
|
50
|
+
counterAccFactor?: number;
|
|
51
|
+
airDragFactor?: number;
|
|
52
|
+
jumpVel?: number;
|
|
53
|
+
floatCheckType?: FloatCheckType;
|
|
54
|
+
maxSlope?: number;
|
|
55
|
+
floatHeight?: number;
|
|
56
|
+
floatPullBackHeight?: number;
|
|
57
|
+
floatSensorRadius?: number;
|
|
58
|
+
floatSpringK?: number;
|
|
59
|
+
floatDampingC?: number;
|
|
60
|
+
collisionCheckIteration?: number;
|
|
61
|
+
collisionPushBackDamping?: number;
|
|
62
|
+
collisionPushBackThreshold?: number;
|
|
63
|
+
}
|
|
64
|
+
type CharacterStatus = {
|
|
65
|
+
position: THREE.Vector3;
|
|
66
|
+
linvel: THREE.Vector3;
|
|
67
|
+
quaternion: THREE.Quaternion;
|
|
68
|
+
inputDir: THREE.Vector3;
|
|
69
|
+
movingDir: THREE.Vector3;
|
|
70
|
+
isOnGround: boolean;
|
|
71
|
+
isOnMovingPlatform: boolean;
|
|
72
|
+
animationStatus: CharacterAnimationStatus;
|
|
73
|
+
};
|
|
74
|
+
export declare const characterStatus: CharacterStatus;
|
|
75
|
+
declare const BVHEcctrl: import("react").ForwardRefExoticComponent<EcctrlProps & import("react").RefAttributes<BVHEcctrlApi>>;
|
|
76
|
+
export default BVHEcctrl;
|
|
77
|
+
//# sourceMappingURL=bvh-ecctrl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bvh-ecctrl.d.ts","sourceRoot":"","sources":["../../../src/components/viewer/bvh-ecctrl.tsx"],"names":[],"mappings":"AACA,OAAO,oBAAoB,CAAA;AAE3B,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,oBAAoB,CAAA;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACnC,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,MAAM,MAAM,wBAAwB,GAChC,MAAM,GACN,MAAM,GACN,KAAK,GACL,YAAY,GACZ,WAAW,GACX,WAAW,GACX,WAAW,CAAA;AAEf,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAA;AAE7D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,CAAA;IACrC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,CAAA;IACrC,WAAW,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;CAC5C;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IACtE,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;IAC7B,mBAAmB,CAAC,EAAE;QACpB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,MAAM;QACnB,cAAc,EAAE,MAAM;KACvB,CAAA;IACD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AAED,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAA;IACvB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAA;IACrB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAA;IAC5B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAA;IACvB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,eAAe,EAAE,wBAAwB,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,eAS7B,CAAA;AAED,QAAA,MAAM,SAAS,sGAqvBd,CAAA;AAID,eAAe,SAAS,CAAA"}
|