@glyphcss/react 0.0.1

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.
@@ -0,0 +1,189 @@
1
+ import { RenderMode, Vec3, GlyphcssAnimationTarget, GlyphcssAnimationMixer, GlyphcssAnimationClip, GlyphcssAnimationAction, ParseAnimationController } from '@glyphcss/core';
2
+ export { ApproximateMergeOptions, ArrowPolygonsOptions, AutoRotateConfig, AutoRotateOption, AxesHelperOptions, BASE_TILE, CAMERA_BACKFACE_CULL_EPS, CameraCullNormalGroup, CameraCullRotation, CameraHandle, CameraState, CameraStyleInput, CoverPlanarPolygonsOptions, CullInteriorOptions, DEFAULT_CAMERA_STATE, DEFAULT_PROJECTION, GltfParseOptions, GlyphcssAmbientLight, GlyphcssAnimationAction, GlyphcssAnimationClip, GlyphcssAnimationMixer, GlyphcssAnimationTarget, GlyphcssDirectionalLight, LoadMeshOptions, LoopMode, LoopOnce, LoopPingPong, LoopRepeat, MtlParseResult, NormalizeResult, ObjParseOptions, OctahedronPolygonsOptions, OptimizeMeshPolygonsOptions, ParseAnimationClip, ParseAnimationController, ParseResult, ParsedColor, Polygon, PolygonFace, RingPolygonsOptions, SceneBbox, SceneContext, SceneContextBuildArgs, SceneContextBuildResult, SolidTextureSampleOptions, TextureTriangle, VOXEL_CAMERA_CULL_AXIS_EPS, VOXEL_CAMERA_CULL_NORMAL_LIMIT, Vec2, Vec3, VoxParseOptions, arrowPolygons, axesHelperPolygons, bakeSolidTextureSampledPolygons, bakeSolidTextureSamples, buildSceneContext, cameraCullNormalGroups, cameraCullNormalGroupsFromPolygons, cameraCullNormalKey, cameraCullVisibleSignature, cameraFacingDepth, clampChannel, computeSceneBbox, computeShapeLighting, coverPlanarPolygons, createGlyphcssAnimationMixer, createIsometricCamera, cullInteriorPolygons, formatColor, inverseRotateVec3, isAxisAlignedSurfaceNormal, isVoxelCameraCullableNormalGroups, loadMesh, mergePolygons, normalFacesCamera, normalizeInvertMultiplier, normalizePolygons, octahedronPolygons, optimizeMeshPolygons, parseColor, parseGltf, parseHexColor, parseMtl, parseObj, parsePureColor, parseRgbColor, parseVox, polygonCssSurfaceNormal, polygonFaces, polygonFacesCamera, ringPolygons, rotateVec3, shadeColor } from '@glyphcss/core';
3
+ import * as react from 'react';
4
+ import { CSSProperties, ReactNode, MouseEventHandler, RefObject } from 'react';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { GlyphcssDirectionalLight, GlyphcssAmbientLight, GlyphcssTriangle, GlyphcssSceneHandle, GlyphcssMeshTransform, GlyphcssMeshHandle, GlyphcssCamera } from 'glyphcss';
7
+ export { injectGlyphcssBaseStyles } from 'glyphcss';
8
+
9
+ interface GlyphcssSceneProps {
10
+ /** Render mode: "wireframe" | "solid". Default "solid". */
11
+ mode?: RenderMode;
12
+ /** Named glyph palette. Defaults to "default". */
13
+ glyphPalette?: string;
14
+ /** Whether to emit color spans. Default true. */
15
+ useColors?: boolean;
16
+ /** Grid columns. Default 80. */
17
+ cols?: number;
18
+ /** Grid rows. Default 24. */
19
+ rows?: number;
20
+ /** Character cell aspect ratio (height/width). Default 2.0. */
21
+ cellAspect?: number;
22
+ directionalLight?: GlyphcssDirectionalLight;
23
+ ambientLight?: GlyphcssAmbientLight;
24
+ className?: string;
25
+ style?: CSSProperties;
26
+ children?: ReactNode;
27
+ }
28
+ declare function GlyphcssSceneInner({ mode, glyphPalette, useColors, cols, rows, cellAspect, directionalLight, ambientLight, className, style, children, }: GlyphcssSceneProps): react_jsx_runtime.JSX.Element;
29
+ declare const GlyphcssScene: react.MemoExoticComponent<typeof GlyphcssSceneInner>;
30
+
31
+ interface GlyphcssMeshProps {
32
+ id?: string;
33
+ triangles?: GlyphcssTriangle[];
34
+ position?: Vec3;
35
+ scale?: number | Vec3;
36
+ rotation?: Vec3;
37
+ className?: string;
38
+ style?: CSSProperties;
39
+ children?: ReactNode;
40
+ }
41
+ declare function GlyphcssMeshInner({ id, triangles: trianglesProp, position, scale, rotation, className, style, children, }: GlyphcssMeshProps): react_jsx_runtime.JSX.Element;
42
+ declare const GlyphcssMesh: react.MemoExoticComponent<typeof GlyphcssMeshInner>;
43
+
44
+ interface GlyphcssHotspotProps {
45
+ /** Stable identifier for this hotspot. */
46
+ id: string;
47
+ /** 3D world-space anchor. */
48
+ at: Vec3;
49
+ /** Hitbox size in character cells `[cols, rows]`. Default `[1, 1]`. */
50
+ size?: [number, number];
51
+ onClick?: MouseEventHandler<HTMLDivElement>;
52
+ className?: string;
53
+ "aria-label"?: string;
54
+ children?: ReactNode;
55
+ }
56
+ declare function GlyphcssHotspotInner({ id, at, size, onClick, className, children, }: GlyphcssHotspotProps): react_jsx_runtime.JSX.Element | null;
57
+ declare const GlyphcssHotspot: react.MemoExoticComponent<typeof GlyphcssHotspotInner>;
58
+
59
+ interface GlyphcssSceneContextValue {
60
+ sceneRef: React.MutableRefObject<GlyphcssSceneHandle | null>;
61
+ }
62
+ declare const GlyphcssSceneContext: react.Context<GlyphcssSceneContextValue | null>;
63
+ declare function useGlyphcssSceneContext(): GlyphcssSceneContextValue;
64
+
65
+ interface UseGlyphcssMeshOptions {
66
+ transform?: GlyphcssMeshTransform;
67
+ }
68
+ interface UseGlyphcssMeshResult {
69
+ meshRef: React.MutableRefObject<GlyphcssMeshHandle | null>;
70
+ loading: boolean;
71
+ }
72
+ /**
73
+ * useGlyphcssMesh — register a triangle list with the parent GlyphcssScene.
74
+ * Mirrors usePolyMesh but for the ASCII paint backend.
75
+ */
76
+ declare function useGlyphcssMesh(triangles: GlyphcssTriangle[], options?: UseGlyphcssMeshOptions): UseGlyphcssMeshResult;
77
+
78
+ declare function findGlyphcssMeshHandle(el: Element | null): GlyphcssMeshHandle | null;
79
+
80
+ interface GlyphcssPerspectiveCameraProps {
81
+ rotX?: number;
82
+ rotY?: number;
83
+ /** Perspective distance. Default 3. */
84
+ distance?: number;
85
+ /** Mesh scale in viewport fraction. Default 0.4. */
86
+ scale?: number;
87
+ /** Extra horizontal stretch on top of cellAspect. Default 1.0. */
88
+ stretch?: number;
89
+ /** Center of projection in normalized grid coords. Default [0.5, 0.5]. */
90
+ center?: [number, number];
91
+ children?: ReactNode;
92
+ }
93
+ declare function GlyphcssPerspectiveCameraInner({ rotX, rotY, distance, scale, stretch, center, children, }: GlyphcssPerspectiveCameraProps): react_jsx_runtime.JSX.Element;
94
+ declare const GlyphcssPerspectiveCamera: react.MemoExoticComponent<typeof GlyphcssPerspectiveCameraInner>;
95
+
96
+ interface GlyphcssOrthographicCameraProps {
97
+ rotX?: number;
98
+ rotY?: number;
99
+ /** Orthographic zoom (fraction of min(cols, rows)). Default 0.4. */
100
+ zoom?: number;
101
+ /** Center of projection in normalized grid coords. Default [0.5, 0.5]. */
102
+ center?: [number, number];
103
+ children?: ReactNode;
104
+ }
105
+ declare function GlyphcssOrthographicCameraInner({ rotX, rotY, zoom, center, children, }: GlyphcssOrthographicCameraProps): react_jsx_runtime.JSX.Element;
106
+ declare const GlyphcssOrthographicCamera: react.MemoExoticComponent<typeof GlyphcssOrthographicCameraInner>;
107
+
108
+ interface GlyphcssCameraContextValue {
109
+ cameraRef: React.MutableRefObject<GlyphcssCamera | null>;
110
+ /** Notify the scene to re-render after camera changes. */
111
+ rerender: () => void;
112
+ }
113
+ declare const GlyphcssCameraContext: react.Context<GlyphcssCameraContextValue | null>;
114
+ declare function useGlyphcssCamera(): GlyphcssCameraContextValue;
115
+
116
+ interface GlyphcssOrbitControlsProps {
117
+ /** Pointer-drag. Default true. */
118
+ drag?: boolean;
119
+ /** Wheel / pinch zoom. Default true. */
120
+ wheel?: boolean;
121
+ /** Drag-direction inversion. Default false. */
122
+ invert?: boolean | number;
123
+ /** Auto-rotate config. Default false. */
124
+ animate?: false | {
125
+ speed?: number;
126
+ axis?: "x" | "y";
127
+ pauseOnInteraction?: boolean;
128
+ };
129
+ }
130
+ declare function GlyphcssOrbitControls({ drag, wheel, invert, animate, }: GlyphcssOrbitControlsProps): null;
131
+
132
+ interface GlyphcssMapControlsProps {
133
+ drag?: boolean;
134
+ wheel?: boolean;
135
+ invert?: boolean | number;
136
+ animate?: false | {
137
+ speed?: number;
138
+ axis?: "x" | "y";
139
+ pauseOnInteraction?: boolean;
140
+ };
141
+ }
142
+ declare function GlyphcssMapControls({ drag, wheel, invert, animate, }: GlyphcssMapControlsProps): null;
143
+
144
+ interface GlyphcssFirstPersonControlsProps {
145
+ drag?: boolean;
146
+ keyboard?: boolean;
147
+ moveSpeed?: number;
148
+ lookSpeed?: number;
149
+ invert?: boolean | number;
150
+ }
151
+ declare function GlyphcssFirstPersonControls({ drag, keyboard, moveSpeed, lookSpeed, invert, }: GlyphcssFirstPersonControlsProps): null;
152
+
153
+ interface GlyphcssAxesHelperProps {
154
+ /** Length of each axis bar in world units. Default 1. */
155
+ size?: number;
156
+ }
157
+ declare function GlyphcssAxesHelperInner({ size }: GlyphcssAxesHelperProps): null;
158
+ declare const GlyphcssAxesHelper: react.MemoExoticComponent<typeof GlyphcssAxesHelperInner>;
159
+
160
+ interface GlyphcssDirectionalLightHelperProps {
161
+ /** Light source position in world space. Default [1, 1, 1]. */
162
+ position?: Vec3;
163
+ /** Glyph color. Default "#ffff00". */
164
+ color?: string;
165
+ /** Marker size in world units. Default 0.1. */
166
+ size?: number;
167
+ }
168
+ declare function GlyphcssDirectionalLightHelperInner({ position, color, size, }: GlyphcssDirectionalLightHelperProps): null;
169
+ declare const GlyphcssDirectionalLightHelper: react.MemoExoticComponent<typeof GlyphcssDirectionalLightHelperInner>;
170
+
171
+ interface UseGlyphcssAnimationResult {
172
+ /** Attach to a `GlyphcssAnimationTarget`-compatible handle when not using `root`. */
173
+ ref: RefObject<GlyphcssAnimationTarget | null>;
174
+ /** The active mixer, or null if inputs are not ready yet. */
175
+ mixer: GlyphcssAnimationMixer | null;
176
+ /** Resolved clip list (empty when `clips` is undefined). */
177
+ clips: GlyphcssAnimationClip[];
178
+ /** Clip names in input order. */
179
+ names: string[];
180
+ /**
181
+ * Lazy action proxy keyed by clip name. Accessing `actions["walk"]`
182
+ * instantiates the action if it does not exist yet. Returns null when the
183
+ * mixer is not ready.
184
+ */
185
+ actions: Record<string, GlyphcssAnimationAction | null>;
186
+ }
187
+ declare function useGlyphcssAnimation(clips: GlyphcssAnimationClip[] | undefined, controller: ParseAnimationController | undefined, root?: RefObject<GlyphcssAnimationTarget | null> | GlyphcssAnimationTarget | null): UseGlyphcssAnimationResult;
188
+
189
+ export { GlyphcssAxesHelper, type GlyphcssAxesHelperProps, GlyphcssPerspectiveCamera as GlyphcssCamera, GlyphcssCameraContext, type GlyphcssCameraContextValue, type GlyphcssPerspectiveCameraProps as GlyphcssCameraProps, GlyphcssDirectionalLightHelper, type GlyphcssDirectionalLightHelperProps, GlyphcssFirstPersonControls, type GlyphcssFirstPersonControlsProps, GlyphcssHotspot, type GlyphcssHotspotProps, GlyphcssMapControls, type GlyphcssMapControlsProps, GlyphcssMesh, type GlyphcssMeshProps, GlyphcssOrbitControls, type GlyphcssOrbitControlsProps, GlyphcssOrthographicCamera, type GlyphcssOrthographicCameraProps, GlyphcssPerspectiveCamera, type GlyphcssPerspectiveCameraProps, GlyphcssScene, GlyphcssSceneContext, type GlyphcssSceneContextValue, type GlyphcssSceneProps, type UseGlyphcssAnimationResult, type UseGlyphcssMeshOptions, type UseGlyphcssMeshResult, findGlyphcssMeshHandle, useGlyphcssAnimation, useGlyphcssCamera, useGlyphcssMesh, useGlyphcssSceneContext };
@@ -0,0 +1,189 @@
1
+ import { RenderMode, Vec3, GlyphcssAnimationTarget, GlyphcssAnimationMixer, GlyphcssAnimationClip, GlyphcssAnimationAction, ParseAnimationController } from '@glyphcss/core';
2
+ export { ApproximateMergeOptions, ArrowPolygonsOptions, AutoRotateConfig, AutoRotateOption, AxesHelperOptions, BASE_TILE, CAMERA_BACKFACE_CULL_EPS, CameraCullNormalGroup, CameraCullRotation, CameraHandle, CameraState, CameraStyleInput, CoverPlanarPolygonsOptions, CullInteriorOptions, DEFAULT_CAMERA_STATE, DEFAULT_PROJECTION, GltfParseOptions, GlyphcssAmbientLight, GlyphcssAnimationAction, GlyphcssAnimationClip, GlyphcssAnimationMixer, GlyphcssAnimationTarget, GlyphcssDirectionalLight, LoadMeshOptions, LoopMode, LoopOnce, LoopPingPong, LoopRepeat, MtlParseResult, NormalizeResult, ObjParseOptions, OctahedronPolygonsOptions, OptimizeMeshPolygonsOptions, ParseAnimationClip, ParseAnimationController, ParseResult, ParsedColor, Polygon, PolygonFace, RingPolygonsOptions, SceneBbox, SceneContext, SceneContextBuildArgs, SceneContextBuildResult, SolidTextureSampleOptions, TextureTriangle, VOXEL_CAMERA_CULL_AXIS_EPS, VOXEL_CAMERA_CULL_NORMAL_LIMIT, Vec2, Vec3, VoxParseOptions, arrowPolygons, axesHelperPolygons, bakeSolidTextureSampledPolygons, bakeSolidTextureSamples, buildSceneContext, cameraCullNormalGroups, cameraCullNormalGroupsFromPolygons, cameraCullNormalKey, cameraCullVisibleSignature, cameraFacingDepth, clampChannel, computeSceneBbox, computeShapeLighting, coverPlanarPolygons, createGlyphcssAnimationMixer, createIsometricCamera, cullInteriorPolygons, formatColor, inverseRotateVec3, isAxisAlignedSurfaceNormal, isVoxelCameraCullableNormalGroups, loadMesh, mergePolygons, normalFacesCamera, normalizeInvertMultiplier, normalizePolygons, octahedronPolygons, optimizeMeshPolygons, parseColor, parseGltf, parseHexColor, parseMtl, parseObj, parsePureColor, parseRgbColor, parseVox, polygonCssSurfaceNormal, polygonFaces, polygonFacesCamera, ringPolygons, rotateVec3, shadeColor } from '@glyphcss/core';
3
+ import * as react from 'react';
4
+ import { CSSProperties, ReactNode, MouseEventHandler, RefObject } from 'react';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { GlyphcssDirectionalLight, GlyphcssAmbientLight, GlyphcssTriangle, GlyphcssSceneHandle, GlyphcssMeshTransform, GlyphcssMeshHandle, GlyphcssCamera } from 'glyphcss';
7
+ export { injectGlyphcssBaseStyles } from 'glyphcss';
8
+
9
+ interface GlyphcssSceneProps {
10
+ /** Render mode: "wireframe" | "solid". Default "solid". */
11
+ mode?: RenderMode;
12
+ /** Named glyph palette. Defaults to "default". */
13
+ glyphPalette?: string;
14
+ /** Whether to emit color spans. Default true. */
15
+ useColors?: boolean;
16
+ /** Grid columns. Default 80. */
17
+ cols?: number;
18
+ /** Grid rows. Default 24. */
19
+ rows?: number;
20
+ /** Character cell aspect ratio (height/width). Default 2.0. */
21
+ cellAspect?: number;
22
+ directionalLight?: GlyphcssDirectionalLight;
23
+ ambientLight?: GlyphcssAmbientLight;
24
+ className?: string;
25
+ style?: CSSProperties;
26
+ children?: ReactNode;
27
+ }
28
+ declare function GlyphcssSceneInner({ mode, glyphPalette, useColors, cols, rows, cellAspect, directionalLight, ambientLight, className, style, children, }: GlyphcssSceneProps): react_jsx_runtime.JSX.Element;
29
+ declare const GlyphcssScene: react.MemoExoticComponent<typeof GlyphcssSceneInner>;
30
+
31
+ interface GlyphcssMeshProps {
32
+ id?: string;
33
+ triangles?: GlyphcssTriangle[];
34
+ position?: Vec3;
35
+ scale?: number | Vec3;
36
+ rotation?: Vec3;
37
+ className?: string;
38
+ style?: CSSProperties;
39
+ children?: ReactNode;
40
+ }
41
+ declare function GlyphcssMeshInner({ id, triangles: trianglesProp, position, scale, rotation, className, style, children, }: GlyphcssMeshProps): react_jsx_runtime.JSX.Element;
42
+ declare const GlyphcssMesh: react.MemoExoticComponent<typeof GlyphcssMeshInner>;
43
+
44
+ interface GlyphcssHotspotProps {
45
+ /** Stable identifier for this hotspot. */
46
+ id: string;
47
+ /** 3D world-space anchor. */
48
+ at: Vec3;
49
+ /** Hitbox size in character cells `[cols, rows]`. Default `[1, 1]`. */
50
+ size?: [number, number];
51
+ onClick?: MouseEventHandler<HTMLDivElement>;
52
+ className?: string;
53
+ "aria-label"?: string;
54
+ children?: ReactNode;
55
+ }
56
+ declare function GlyphcssHotspotInner({ id, at, size, onClick, className, children, }: GlyphcssHotspotProps): react_jsx_runtime.JSX.Element | null;
57
+ declare const GlyphcssHotspot: react.MemoExoticComponent<typeof GlyphcssHotspotInner>;
58
+
59
+ interface GlyphcssSceneContextValue {
60
+ sceneRef: React.MutableRefObject<GlyphcssSceneHandle | null>;
61
+ }
62
+ declare const GlyphcssSceneContext: react.Context<GlyphcssSceneContextValue | null>;
63
+ declare function useGlyphcssSceneContext(): GlyphcssSceneContextValue;
64
+
65
+ interface UseGlyphcssMeshOptions {
66
+ transform?: GlyphcssMeshTransform;
67
+ }
68
+ interface UseGlyphcssMeshResult {
69
+ meshRef: React.MutableRefObject<GlyphcssMeshHandle | null>;
70
+ loading: boolean;
71
+ }
72
+ /**
73
+ * useGlyphcssMesh — register a triangle list with the parent GlyphcssScene.
74
+ * Mirrors usePolyMesh but for the ASCII paint backend.
75
+ */
76
+ declare function useGlyphcssMesh(triangles: GlyphcssTriangle[], options?: UseGlyphcssMeshOptions): UseGlyphcssMeshResult;
77
+
78
+ declare function findGlyphcssMeshHandle(el: Element | null): GlyphcssMeshHandle | null;
79
+
80
+ interface GlyphcssPerspectiveCameraProps {
81
+ rotX?: number;
82
+ rotY?: number;
83
+ /** Perspective distance. Default 3. */
84
+ distance?: number;
85
+ /** Mesh scale in viewport fraction. Default 0.4. */
86
+ scale?: number;
87
+ /** Extra horizontal stretch on top of cellAspect. Default 1.0. */
88
+ stretch?: number;
89
+ /** Center of projection in normalized grid coords. Default [0.5, 0.5]. */
90
+ center?: [number, number];
91
+ children?: ReactNode;
92
+ }
93
+ declare function GlyphcssPerspectiveCameraInner({ rotX, rotY, distance, scale, stretch, center, children, }: GlyphcssPerspectiveCameraProps): react_jsx_runtime.JSX.Element;
94
+ declare const GlyphcssPerspectiveCamera: react.MemoExoticComponent<typeof GlyphcssPerspectiveCameraInner>;
95
+
96
+ interface GlyphcssOrthographicCameraProps {
97
+ rotX?: number;
98
+ rotY?: number;
99
+ /** Orthographic zoom (fraction of min(cols, rows)). Default 0.4. */
100
+ zoom?: number;
101
+ /** Center of projection in normalized grid coords. Default [0.5, 0.5]. */
102
+ center?: [number, number];
103
+ children?: ReactNode;
104
+ }
105
+ declare function GlyphcssOrthographicCameraInner({ rotX, rotY, zoom, center, children, }: GlyphcssOrthographicCameraProps): react_jsx_runtime.JSX.Element;
106
+ declare const GlyphcssOrthographicCamera: react.MemoExoticComponent<typeof GlyphcssOrthographicCameraInner>;
107
+
108
+ interface GlyphcssCameraContextValue {
109
+ cameraRef: React.MutableRefObject<GlyphcssCamera | null>;
110
+ /** Notify the scene to re-render after camera changes. */
111
+ rerender: () => void;
112
+ }
113
+ declare const GlyphcssCameraContext: react.Context<GlyphcssCameraContextValue | null>;
114
+ declare function useGlyphcssCamera(): GlyphcssCameraContextValue;
115
+
116
+ interface GlyphcssOrbitControlsProps {
117
+ /** Pointer-drag. Default true. */
118
+ drag?: boolean;
119
+ /** Wheel / pinch zoom. Default true. */
120
+ wheel?: boolean;
121
+ /** Drag-direction inversion. Default false. */
122
+ invert?: boolean | number;
123
+ /** Auto-rotate config. Default false. */
124
+ animate?: false | {
125
+ speed?: number;
126
+ axis?: "x" | "y";
127
+ pauseOnInteraction?: boolean;
128
+ };
129
+ }
130
+ declare function GlyphcssOrbitControls({ drag, wheel, invert, animate, }: GlyphcssOrbitControlsProps): null;
131
+
132
+ interface GlyphcssMapControlsProps {
133
+ drag?: boolean;
134
+ wheel?: boolean;
135
+ invert?: boolean | number;
136
+ animate?: false | {
137
+ speed?: number;
138
+ axis?: "x" | "y";
139
+ pauseOnInteraction?: boolean;
140
+ };
141
+ }
142
+ declare function GlyphcssMapControls({ drag, wheel, invert, animate, }: GlyphcssMapControlsProps): null;
143
+
144
+ interface GlyphcssFirstPersonControlsProps {
145
+ drag?: boolean;
146
+ keyboard?: boolean;
147
+ moveSpeed?: number;
148
+ lookSpeed?: number;
149
+ invert?: boolean | number;
150
+ }
151
+ declare function GlyphcssFirstPersonControls({ drag, keyboard, moveSpeed, lookSpeed, invert, }: GlyphcssFirstPersonControlsProps): null;
152
+
153
+ interface GlyphcssAxesHelperProps {
154
+ /** Length of each axis bar in world units. Default 1. */
155
+ size?: number;
156
+ }
157
+ declare function GlyphcssAxesHelperInner({ size }: GlyphcssAxesHelperProps): null;
158
+ declare const GlyphcssAxesHelper: react.MemoExoticComponent<typeof GlyphcssAxesHelperInner>;
159
+
160
+ interface GlyphcssDirectionalLightHelperProps {
161
+ /** Light source position in world space. Default [1, 1, 1]. */
162
+ position?: Vec3;
163
+ /** Glyph color. Default "#ffff00". */
164
+ color?: string;
165
+ /** Marker size in world units. Default 0.1. */
166
+ size?: number;
167
+ }
168
+ declare function GlyphcssDirectionalLightHelperInner({ position, color, size, }: GlyphcssDirectionalLightHelperProps): null;
169
+ declare const GlyphcssDirectionalLightHelper: react.MemoExoticComponent<typeof GlyphcssDirectionalLightHelperInner>;
170
+
171
+ interface UseGlyphcssAnimationResult {
172
+ /** Attach to a `GlyphcssAnimationTarget`-compatible handle when not using `root`. */
173
+ ref: RefObject<GlyphcssAnimationTarget | null>;
174
+ /** The active mixer, or null if inputs are not ready yet. */
175
+ mixer: GlyphcssAnimationMixer | null;
176
+ /** Resolved clip list (empty when `clips` is undefined). */
177
+ clips: GlyphcssAnimationClip[];
178
+ /** Clip names in input order. */
179
+ names: string[];
180
+ /**
181
+ * Lazy action proxy keyed by clip name. Accessing `actions["walk"]`
182
+ * instantiates the action if it does not exist yet. Returns null when the
183
+ * mixer is not ready.
184
+ */
185
+ actions: Record<string, GlyphcssAnimationAction | null>;
186
+ }
187
+ declare function useGlyphcssAnimation(clips: GlyphcssAnimationClip[] | undefined, controller: ParseAnimationController | undefined, root?: RefObject<GlyphcssAnimationTarget | null> | GlyphcssAnimationTarget | null): UseGlyphcssAnimationResult;
188
+
189
+ export { GlyphcssAxesHelper, type GlyphcssAxesHelperProps, GlyphcssPerspectiveCamera as GlyphcssCamera, GlyphcssCameraContext, type GlyphcssCameraContextValue, type GlyphcssPerspectiveCameraProps as GlyphcssCameraProps, GlyphcssDirectionalLightHelper, type GlyphcssDirectionalLightHelperProps, GlyphcssFirstPersonControls, type GlyphcssFirstPersonControlsProps, GlyphcssHotspot, type GlyphcssHotspotProps, GlyphcssMapControls, type GlyphcssMapControlsProps, GlyphcssMesh, type GlyphcssMeshProps, GlyphcssOrbitControls, type GlyphcssOrbitControlsProps, GlyphcssOrthographicCamera, type GlyphcssOrthographicCameraProps, GlyphcssPerspectiveCamera, type GlyphcssPerspectiveCameraProps, GlyphcssScene, GlyphcssSceneContext, type GlyphcssSceneContextValue, type GlyphcssSceneProps, type UseGlyphcssAnimationResult, type UseGlyphcssMeshOptions, type UseGlyphcssMeshResult, findGlyphcssMeshHandle, useGlyphcssAnimation, useGlyphcssCamera, useGlyphcssMesh, useGlyphcssSceneContext };