@almadar/ui 5.141.0 → 5.143.0

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.
@@ -1,179 +1,12 @@
1
+ import { C as CanvasPointLightConfig, I as IsometricTile, a as IsometricUnit, b as IsometricFeature, A as ApplicationLevelData, O as OrbitalLevelData, T as TraitLevelData, c as TransitionLevelData } from '../../../avl-schema-parser-BZ8pICOS.cjs';
2
+ export { d as Canvas3DHost, e as Canvas3DHostHandle, f as Canvas3DHostProps, d as GameCanvas3D, U as UnitAnimationState } from '../../../avl-schema-parser-BZ8pICOS.cjs';
1
3
  import * as React$1 from 'react';
2
4
  import React__default, { Component, ReactNode, ErrorInfo } from 'react';
3
- import { ScenePos, EventEmit, JsonObject, OrbitalSchema } from '@almadar/core';
4
5
  import * as THREE from 'three';
5
6
  import { QuadraticBezierCurve3 } from 'three';
6
- import { D as DrawableNode } from '../../../paintDispatch-BQn5Lyx1.cjs';
7
7
  import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
8
- import { I as IsometricTile, a as IsometricUnit, b as IsometricFeature, A as ApplicationLevelData, O as OrbitalLevelData, T as TraitLevelData, c as TransitionLevelData } from '../../../avl-schema-parser-B8Onmfsu.cjs';
9
- export { U as UnitAnimationState } from '../../../avl-schema-parser-B8Onmfsu.cjs';
10
-
11
- /**
12
- * Canvas3DHost — the thin 3D draw-host: the `canvas` host's 3D painter backend
13
- * (the R3F "vessel" behind the neutral drawables), the exact 3D analogue of the
14
- * 2D `Painter2D` seam. Reached only via the lazy `@almadar/ui/.../game/three`
15
- * subpath so three.js never enters a 2D bundle.
16
- *
17
- * The 3D twin of Canvas2D: the board authors a `drawables` list (the neutral
18
- * `draw-*` children) and this host maps each descriptor through `Drawable3D` to a
19
- * three.js mesh (a raw descriptor NEVER reaches `<group>{children}` — R3F throws).
20
- * It owns NO game data — tiles, units, features, selection, health bars and labels
21
- * are all `draw-*` children composed in `.lolo`, not props here. Only view state
22
- * (camera, error boundary) is local.
23
- *
24
- * Camera: `isometric`/`perspective`/`top-down` frame the scene bounds (derived from
25
- * the drawn descriptors); `follow`/`chase` track the neutral core `Camera.target`
26
- * (forwarded as `followTarget`), falling back to the scene centre.
27
- *
28
- * Interaction: keyboard maps to semantic events (device-agnostic input). Pointer
29
- * click/hover on neutral drawables needs a per-entity id + a scene-space raycast
30
- * the descriptors don't yet carry — that hit-test is a tracked fork
31
- * (docs/Almadar_Std_Game_V2_PLAN.md); the click/hover event props are accepted but
32
- * not yet emitted from a raycast.
33
- *
34
- * @packageDocumentation
35
- */
36
-
37
- /** Camera mode for 3D view.
38
- * - `follow` tracks `followTarget` (the neutral `Camera.target`) from a fixed offset.
39
- * - `chase` sits behind + above the target. */
40
- type CameraMode$2 = 'isometric' | 'perspective' | 'top-down' | 'follow' | 'chase';
41
- /** Map orientation */
42
- type MapOrientation = 'standard' | 'rotated';
43
- /** Overlay control */
44
- type OverlayControl = 'default' | 'hidden' | 'minimap';
45
- /** Props for GameCanvas3D component */
46
- interface Canvas3DHostProps {
47
- /** Additional CSS classes */
48
- className?: string;
49
- /** Children to render inside the 3D canvas (e.g., physics objects, custom meshes) */
50
- children?: React__default.ReactNode;
51
- /** Neutral drawable descriptors — the same `children` vocabulary as Canvas2D. The
52
- * host maps each through `Drawable3D` to a mesh. */
53
- drawables?: DrawableNode[];
54
- /** Loading state indicator */
55
- isLoading?: boolean;
56
- /** Error state */
57
- error?: string | null;
58
- /** Fog of war data (accepted for API parity; presentation-only). */
59
- fogOfWar?: boolean[][];
60
- /** Map orientation (data attribute). */
61
- orientation?: MapOrientation;
62
- /** Camera mode */
63
- cameraMode?: CameraMode$2;
64
- /** Follow-camera target in scene space (the neutral core `Camera.target`). */
65
- followTarget?: ScenePos;
66
- /** Show grid */
67
- showGrid?: boolean;
68
- /** Show coordinates overlay (accepted for API parity). */
69
- showCoordinates?: boolean;
70
- /** Show tile information (accepted for API parity). */
71
- showTileInfo?: boolean;
72
- /** Overlay control mode (data attribute). */
73
- overlay?: OverlayControl;
74
- /** Enable shadows */
75
- shadows?: boolean;
76
- /** Background color */
77
- backgroundColor?: string;
78
- /** Declarative event: tile click. Emitted from a ground-plane raycast → scene cell
79
- * `{ x, z }` (the FSM validates the cell). `tileId` is optional — the neutral host
80
- * has no per-tile id, and the board FSMs key off the coordinate. */
81
- tileClickEvent?: EventEmit<{
82
- x: number;
83
- z: number;
84
- tileId?: string;
85
- type?: string;
86
- terrain?: string;
87
- elevation?: number;
88
- }>;
89
- /** Declarative event: unit click. Emitted `{ unitId, x, z }` when the raycast lands on a
90
- * cell whose descriptor carries an `id` (a tagged unit sprite). */
91
- unitClickEvent?: EventEmit<{
92
- unitId: string;
93
- x: number;
94
- z: number;
95
- unitType?: string;
96
- name?: string;
97
- team?: string;
98
- faction?: string;
99
- health?: number;
100
- maxHealth?: number;
101
- }>;
102
- /** Declarative event: feature click. Accepted; not yet emitted (see `tileClickEvent`). */
103
- featureClickEvent?: EventEmit<{
104
- featureId: string;
105
- x: number;
106
- z: number;
107
- type?: string;
108
- elevation?: number;
109
- }>;
110
- /** Declarative event: canvas (background) click. */
111
- canvasClickEvent?: EventEmit<{
112
- clientX: number;
113
- clientY: number;
114
- button: number;
115
- }>;
116
- /** Declarative event: tile hover. Accepted; not yet emitted (see `tileClickEvent`). */
117
- tileHoverEvent?: EventEmit<{
118
- tileId: string;
119
- x: number;
120
- z: number;
121
- type?: string;
122
- }>;
123
- /** Declarative event: tile leave. */
124
- tileLeaveEvent?: EventEmit<Record<string, never>>;
125
- /** Declarative event: unit animation. */
126
- unitAnimationEvent?: EventEmit<{
127
- unitId: string;
128
- state: string;
129
- timestamp: number;
130
- }>;
131
- /** Declarative event: camera change. */
132
- cameraChangeEvent?: EventEmit<{
133
- position: {
134
- x: number;
135
- y: number;
136
- z: number;
137
- };
138
- timestamp: number;
139
- }>;
140
- /** Loading message */
141
- loadingMessage?: string;
142
- /** Unit draw-size multiplier (accepted for API parity; sizing is drawable-authored). */
143
- unitScale?: number;
144
- /** Board zoom (accepted for API parity; 3D zoom is camera-driven, not group-scaled). */
145
- scale?: number;
146
- /** Maps a keydown `e.code` → the board's SEMANTIC event (device-agnostic input). */
147
- keyMap?: Record<string, string>;
148
- /** Maps a keyup `e.code` → the board's SEMANTIC event. */
149
- keyUpMap?: Record<string, string>;
150
- /** Side-view world size in pixels (accepted for API parity). */
151
- worldWidth?: number;
152
- /** Side-view world size in pixels (accepted for API parity). */
153
- worldHeight?: number;
154
- /** Pixel→world-unit divisor for pixel-authored (side-view) scenes: world size =
155
- * scene size ÷ `pixelsPerUnit`. Omitted → 1 world unit per scene unit (grid boards). */
156
- pixelsPerUnit?: number;
157
- /** Perspective field of view in degrees — the neutral `Camera.fov`. Default 45. */
158
- fov?: number;
159
- }
160
- /** Imperative handle for GameCanvas3D */
161
- interface Canvas3DHostHandle {
162
- /** Get current camera position */
163
- getCameraPosition: () => THREE.Vector3 | null;
164
- /** Set camera position */
165
- setCameraPosition: (x: number, y: number, z: number) => void;
166
- /** Look at a specific point */
167
- lookAt: (x: number, y: number, z: number) => void;
168
- /** Reset camera to default position */
169
- resetCamera: () => void;
170
- /** Take a screenshot */
171
- screenshot: () => string | null;
172
- }
173
- /**
174
- * Canvas3DHost — thin 3D draw-host. Walks `drawables` through `Drawable3D`.
175
- */
176
- declare const Canvas3DHost: React__default.ForwardRefExoticComponent<Canvas3DHostProps & React__default.RefAttributes<Canvas3DHostHandle>>;
8
+ import { JsonObject, EventEmit, OrbitalSchema } from '@almadar/core';
9
+ import '../../../paintDispatch-D3-5_cOb.cjs';
177
10
 
178
11
  /**
179
12
  * Scene3D
@@ -291,6 +124,14 @@ interface Lighting3DProps {
291
124
  directionalColor?: string;
292
125
  /** Directional light position */
293
126
  directionalPosition?: [number, number, number];
127
+ /** Hemisphere (sky/ground) light intensity */
128
+ hemisphereIntensity?: number;
129
+ /** Hemisphere sky color */
130
+ hemisphereColor?: string;
131
+ /** Hemisphere ground color */
132
+ hemisphereGroundColor?: string;
133
+ /** Additional point lights, authored as data */
134
+ points?: CanvasPointLightConfig[];
294
135
  /** Enable shadows */
295
136
  shadows?: boolean;
296
137
  /** Shadow map size */
@@ -324,7 +165,7 @@ interface Lighting3DProps {
324
165
  * </Canvas>
325
166
  * ```
326
167
  */
327
- declare function Lighting3D({ ambientIntensity, ambientColor, directionalIntensity, directionalColor, directionalPosition, shadows, shadowMapSize, shadowCameraSize, shadowBias, shadowNormalBias, shadowCameraNear, shadowCameraFar, showHelpers, }: Lighting3DProps): React__default.JSX.Element;
168
+ declare function Lighting3D({ ambientIntensity, ambientColor, directionalIntensity, directionalColor, directionalPosition, hemisphereIntensity, hemisphereColor, hemisphereGroundColor, points, shadows, shadowMapSize, shadowCameraSize, shadowBias, shadowNormalBias, shadowCameraNear, shadowCameraFar, showHelpers, }: Lighting3DProps): React__default.JSX.Element;
328
169
 
329
170
  /**
330
171
  * Canvas3DLoadingState
@@ -1485,4 +1326,4 @@ declare const CAMERA_POSITIONS: {
1485
1326
  };
1486
1327
  };
1487
1328
 
1488
- export { AVL_3D_COLORS, AssetLoader, type AssetLoadingState, Avl3DApplicationScene, type Avl3DApplicationSceneProps, type Avl3DConfig, Avl3DContext, Avl3DEffects, type Avl3DEffectsProps, type Avl3DModelOverrides, Avl3DOrbitalScene, type Avl3DOrbitalSceneProps, Avl3DTraitScene, type Avl3DTraitSceneProps, Avl3DTransitionScene, type Avl3DTransitionSceneProps, Avl3DViewer, type Avl3DViewerProps, CAMERA_POSITIONS, Camera3D, type Camera3DHandle, type Camera3DProps, type CameraMode$1 as CameraMode, Canvas3DErrorBoundary, type Canvas3DErrorBoundaryProps, type Canvas3DErrorBoundaryState, Canvas3DHost, type Canvas3DHostHandle, type Canvas3DHostProps, Canvas3DLoadingState, type Canvas3DLoadingStateProps, type CullingOptions, Canvas3DHost as GameCanvas3D, type GameCanvas3DEventConfig, type Grid3DConfig, type GridCoordinate, type GridHit, type LODConfig, type LODLevel, Lighting3D, type Lighting3DProps, type LoadedModel, ModelLoader, type ModelLoaderProps, type NodeType, type Position3D, type RaycastHit, Scene3D, type Scene3DProps, type SceneGraphNode, SpatialHashGrid, type UseAssetLoaderOptions, type UseAssetLoaderReturn, type UseGameCanvas3DEventsOptions, type UseGameCanvas3DEventsReturn, type UseRaycasterOptions, type UseRaycasterReturn, type UseSceneGraphReturn, type UseThreeOptions, type UseThreeReturn, arcCurve3D, assetLoader, calculateLODLevel, createGridHighlight, cullInstancedMesh, fibonacciSpherePositions, filterByFrustum, getCellsInRadius, getNeighbors, getVisibleIndices, goldenSpiralPositions, gridDistance, gridManhattanDistance, gridToWorld, isInBounds, isInFrustum, normalizeMouseCoordinates, orbitRingPositions, raycastToObjects, raycastToPlane, selfLoopCurve3D, treeLayout3D, updateInstanceLOD, useAssetLoader, useAvl3DConfig, useGameCanvas3DEvents, useRaycaster, useSceneGraph, useThree, worldToGrid };
1329
+ export { AVL_3D_COLORS, AssetLoader, type AssetLoadingState, Avl3DApplicationScene, type Avl3DApplicationSceneProps, type Avl3DConfig, Avl3DContext, Avl3DEffects, type Avl3DEffectsProps, type Avl3DModelOverrides, Avl3DOrbitalScene, type Avl3DOrbitalSceneProps, Avl3DTraitScene, type Avl3DTraitSceneProps, Avl3DTransitionScene, type Avl3DTransitionSceneProps, Avl3DViewer, type Avl3DViewerProps, CAMERA_POSITIONS, Camera3D, type Camera3DHandle, type Camera3DProps, type CameraMode$1 as CameraMode, Canvas3DErrorBoundary, type Canvas3DErrorBoundaryProps, type Canvas3DErrorBoundaryState, Canvas3DLoadingState, type Canvas3DLoadingStateProps, type CullingOptions, type GameCanvas3DEventConfig, type Grid3DConfig, type GridCoordinate, type GridHit, type LODConfig, type LODLevel, Lighting3D, type Lighting3DProps, type LoadedModel, ModelLoader, type ModelLoaderProps, type NodeType, type Position3D, type RaycastHit, Scene3D, type Scene3DProps, type SceneGraphNode, SpatialHashGrid, type UseAssetLoaderOptions, type UseAssetLoaderReturn, type UseGameCanvas3DEventsOptions, type UseGameCanvas3DEventsReturn, type UseRaycasterOptions, type UseRaycasterReturn, type UseSceneGraphReturn, type UseThreeOptions, type UseThreeReturn, arcCurve3D, assetLoader, calculateLODLevel, createGridHighlight, cullInstancedMesh, fibonacciSpherePositions, filterByFrustum, getCellsInRadius, getNeighbors, getVisibleIndices, goldenSpiralPositions, gridDistance, gridManhattanDistance, gridToWorld, isInBounds, isInFrustum, normalizeMouseCoordinates, orbitRingPositions, raycastToObjects, raycastToPlane, selfLoopCurve3D, treeLayout3D, updateInstanceLOD, useAssetLoader, useAvl3DConfig, useGameCanvas3DEvents, useRaycaster, useSceneGraph, useThree, worldToGrid };
@@ -1,179 +1,12 @@
1
+ import { C as CanvasPointLightConfig, I as IsometricTile, a as IsometricUnit, b as IsometricFeature, A as ApplicationLevelData, O as OrbitalLevelData, T as TraitLevelData, c as TransitionLevelData } from '../../../avl-schema-parser-0hkiHOq3.js';
2
+ export { d as Canvas3DHost, e as Canvas3DHostHandle, f as Canvas3DHostProps, d as GameCanvas3D, U as UnitAnimationState } from '../../../avl-schema-parser-0hkiHOq3.js';
1
3
  import * as React$1 from 'react';
2
4
  import React__default, { Component, ReactNode, ErrorInfo } from 'react';
3
- import { ScenePos, EventEmit, JsonObject, OrbitalSchema } from '@almadar/core';
4
5
  import * as THREE from 'three';
5
6
  import { QuadraticBezierCurve3 } from 'three';
6
- import { D as DrawableNode } from '../../../paintDispatch-BQn5Lyx1.js';
7
7
  import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
8
- import { I as IsometricTile, a as IsometricUnit, b as IsometricFeature, A as ApplicationLevelData, O as OrbitalLevelData, T as TraitLevelData, c as TransitionLevelData } from '../../../avl-schema-parser-B8Onmfsu.js';
9
- export { U as UnitAnimationState } from '../../../avl-schema-parser-B8Onmfsu.js';
10
-
11
- /**
12
- * Canvas3DHost — the thin 3D draw-host: the `canvas` host's 3D painter backend
13
- * (the R3F "vessel" behind the neutral drawables), the exact 3D analogue of the
14
- * 2D `Painter2D` seam. Reached only via the lazy `@almadar/ui/.../game/three`
15
- * subpath so three.js never enters a 2D bundle.
16
- *
17
- * The 3D twin of Canvas2D: the board authors a `drawables` list (the neutral
18
- * `draw-*` children) and this host maps each descriptor through `Drawable3D` to a
19
- * three.js mesh (a raw descriptor NEVER reaches `<group>{children}` — R3F throws).
20
- * It owns NO game data — tiles, units, features, selection, health bars and labels
21
- * are all `draw-*` children composed in `.lolo`, not props here. Only view state
22
- * (camera, error boundary) is local.
23
- *
24
- * Camera: `isometric`/`perspective`/`top-down` frame the scene bounds (derived from
25
- * the drawn descriptors); `follow`/`chase` track the neutral core `Camera.target`
26
- * (forwarded as `followTarget`), falling back to the scene centre.
27
- *
28
- * Interaction: keyboard maps to semantic events (device-agnostic input). Pointer
29
- * click/hover on neutral drawables needs a per-entity id + a scene-space raycast
30
- * the descriptors don't yet carry — that hit-test is a tracked fork
31
- * (docs/Almadar_Std_Game_V2_PLAN.md); the click/hover event props are accepted but
32
- * not yet emitted from a raycast.
33
- *
34
- * @packageDocumentation
35
- */
36
-
37
- /** Camera mode for 3D view.
38
- * - `follow` tracks `followTarget` (the neutral `Camera.target`) from a fixed offset.
39
- * - `chase` sits behind + above the target. */
40
- type CameraMode$2 = 'isometric' | 'perspective' | 'top-down' | 'follow' | 'chase';
41
- /** Map orientation */
42
- type MapOrientation = 'standard' | 'rotated';
43
- /** Overlay control */
44
- type OverlayControl = 'default' | 'hidden' | 'minimap';
45
- /** Props for GameCanvas3D component */
46
- interface Canvas3DHostProps {
47
- /** Additional CSS classes */
48
- className?: string;
49
- /** Children to render inside the 3D canvas (e.g., physics objects, custom meshes) */
50
- children?: React__default.ReactNode;
51
- /** Neutral drawable descriptors — the same `children` vocabulary as Canvas2D. The
52
- * host maps each through `Drawable3D` to a mesh. */
53
- drawables?: DrawableNode[];
54
- /** Loading state indicator */
55
- isLoading?: boolean;
56
- /** Error state */
57
- error?: string | null;
58
- /** Fog of war data (accepted for API parity; presentation-only). */
59
- fogOfWar?: boolean[][];
60
- /** Map orientation (data attribute). */
61
- orientation?: MapOrientation;
62
- /** Camera mode */
63
- cameraMode?: CameraMode$2;
64
- /** Follow-camera target in scene space (the neutral core `Camera.target`). */
65
- followTarget?: ScenePos;
66
- /** Show grid */
67
- showGrid?: boolean;
68
- /** Show coordinates overlay (accepted for API parity). */
69
- showCoordinates?: boolean;
70
- /** Show tile information (accepted for API parity). */
71
- showTileInfo?: boolean;
72
- /** Overlay control mode (data attribute). */
73
- overlay?: OverlayControl;
74
- /** Enable shadows */
75
- shadows?: boolean;
76
- /** Background color */
77
- backgroundColor?: string;
78
- /** Declarative event: tile click. Emitted from a ground-plane raycast → scene cell
79
- * `{ x, z }` (the FSM validates the cell). `tileId` is optional — the neutral host
80
- * has no per-tile id, and the board FSMs key off the coordinate. */
81
- tileClickEvent?: EventEmit<{
82
- x: number;
83
- z: number;
84
- tileId?: string;
85
- type?: string;
86
- terrain?: string;
87
- elevation?: number;
88
- }>;
89
- /** Declarative event: unit click. Emitted `{ unitId, x, z }` when the raycast lands on a
90
- * cell whose descriptor carries an `id` (a tagged unit sprite). */
91
- unitClickEvent?: EventEmit<{
92
- unitId: string;
93
- x: number;
94
- z: number;
95
- unitType?: string;
96
- name?: string;
97
- team?: string;
98
- faction?: string;
99
- health?: number;
100
- maxHealth?: number;
101
- }>;
102
- /** Declarative event: feature click. Accepted; not yet emitted (see `tileClickEvent`). */
103
- featureClickEvent?: EventEmit<{
104
- featureId: string;
105
- x: number;
106
- z: number;
107
- type?: string;
108
- elevation?: number;
109
- }>;
110
- /** Declarative event: canvas (background) click. */
111
- canvasClickEvent?: EventEmit<{
112
- clientX: number;
113
- clientY: number;
114
- button: number;
115
- }>;
116
- /** Declarative event: tile hover. Accepted; not yet emitted (see `tileClickEvent`). */
117
- tileHoverEvent?: EventEmit<{
118
- tileId: string;
119
- x: number;
120
- z: number;
121
- type?: string;
122
- }>;
123
- /** Declarative event: tile leave. */
124
- tileLeaveEvent?: EventEmit<Record<string, never>>;
125
- /** Declarative event: unit animation. */
126
- unitAnimationEvent?: EventEmit<{
127
- unitId: string;
128
- state: string;
129
- timestamp: number;
130
- }>;
131
- /** Declarative event: camera change. */
132
- cameraChangeEvent?: EventEmit<{
133
- position: {
134
- x: number;
135
- y: number;
136
- z: number;
137
- };
138
- timestamp: number;
139
- }>;
140
- /** Loading message */
141
- loadingMessage?: string;
142
- /** Unit draw-size multiplier (accepted for API parity; sizing is drawable-authored). */
143
- unitScale?: number;
144
- /** Board zoom (accepted for API parity; 3D zoom is camera-driven, not group-scaled). */
145
- scale?: number;
146
- /** Maps a keydown `e.code` → the board's SEMANTIC event (device-agnostic input). */
147
- keyMap?: Record<string, string>;
148
- /** Maps a keyup `e.code` → the board's SEMANTIC event. */
149
- keyUpMap?: Record<string, string>;
150
- /** Side-view world size in pixels (accepted for API parity). */
151
- worldWidth?: number;
152
- /** Side-view world size in pixels (accepted for API parity). */
153
- worldHeight?: number;
154
- /** Pixel→world-unit divisor for pixel-authored (side-view) scenes: world size =
155
- * scene size ÷ `pixelsPerUnit`. Omitted → 1 world unit per scene unit (grid boards). */
156
- pixelsPerUnit?: number;
157
- /** Perspective field of view in degrees — the neutral `Camera.fov`. Default 45. */
158
- fov?: number;
159
- }
160
- /** Imperative handle for GameCanvas3D */
161
- interface Canvas3DHostHandle {
162
- /** Get current camera position */
163
- getCameraPosition: () => THREE.Vector3 | null;
164
- /** Set camera position */
165
- setCameraPosition: (x: number, y: number, z: number) => void;
166
- /** Look at a specific point */
167
- lookAt: (x: number, y: number, z: number) => void;
168
- /** Reset camera to default position */
169
- resetCamera: () => void;
170
- /** Take a screenshot */
171
- screenshot: () => string | null;
172
- }
173
- /**
174
- * Canvas3DHost — thin 3D draw-host. Walks `drawables` through `Drawable3D`.
175
- */
176
- declare const Canvas3DHost: React__default.ForwardRefExoticComponent<Canvas3DHostProps & React__default.RefAttributes<Canvas3DHostHandle>>;
8
+ import { JsonObject, EventEmit, OrbitalSchema } from '@almadar/core';
9
+ import '../../../paintDispatch-D3-5_cOb.js';
177
10
 
178
11
  /**
179
12
  * Scene3D
@@ -291,6 +124,14 @@ interface Lighting3DProps {
291
124
  directionalColor?: string;
292
125
  /** Directional light position */
293
126
  directionalPosition?: [number, number, number];
127
+ /** Hemisphere (sky/ground) light intensity */
128
+ hemisphereIntensity?: number;
129
+ /** Hemisphere sky color */
130
+ hemisphereColor?: string;
131
+ /** Hemisphere ground color */
132
+ hemisphereGroundColor?: string;
133
+ /** Additional point lights, authored as data */
134
+ points?: CanvasPointLightConfig[];
294
135
  /** Enable shadows */
295
136
  shadows?: boolean;
296
137
  /** Shadow map size */
@@ -324,7 +165,7 @@ interface Lighting3DProps {
324
165
  * </Canvas>
325
166
  * ```
326
167
  */
327
- declare function Lighting3D({ ambientIntensity, ambientColor, directionalIntensity, directionalColor, directionalPosition, shadows, shadowMapSize, shadowCameraSize, shadowBias, shadowNormalBias, shadowCameraNear, shadowCameraFar, showHelpers, }: Lighting3DProps): React__default.JSX.Element;
168
+ declare function Lighting3D({ ambientIntensity, ambientColor, directionalIntensity, directionalColor, directionalPosition, hemisphereIntensity, hemisphereColor, hemisphereGroundColor, points, shadows, shadowMapSize, shadowCameraSize, shadowBias, shadowNormalBias, shadowCameraNear, shadowCameraFar, showHelpers, }: Lighting3DProps): React__default.JSX.Element;
328
169
 
329
170
  /**
330
171
  * Canvas3DLoadingState
@@ -1485,4 +1326,4 @@ declare const CAMERA_POSITIONS: {
1485
1326
  };
1486
1327
  };
1487
1328
 
1488
- export { AVL_3D_COLORS, AssetLoader, type AssetLoadingState, Avl3DApplicationScene, type Avl3DApplicationSceneProps, type Avl3DConfig, Avl3DContext, Avl3DEffects, type Avl3DEffectsProps, type Avl3DModelOverrides, Avl3DOrbitalScene, type Avl3DOrbitalSceneProps, Avl3DTraitScene, type Avl3DTraitSceneProps, Avl3DTransitionScene, type Avl3DTransitionSceneProps, Avl3DViewer, type Avl3DViewerProps, CAMERA_POSITIONS, Camera3D, type Camera3DHandle, type Camera3DProps, type CameraMode$1 as CameraMode, Canvas3DErrorBoundary, type Canvas3DErrorBoundaryProps, type Canvas3DErrorBoundaryState, Canvas3DHost, type Canvas3DHostHandle, type Canvas3DHostProps, Canvas3DLoadingState, type Canvas3DLoadingStateProps, type CullingOptions, Canvas3DHost as GameCanvas3D, type GameCanvas3DEventConfig, type Grid3DConfig, type GridCoordinate, type GridHit, type LODConfig, type LODLevel, Lighting3D, type Lighting3DProps, type LoadedModel, ModelLoader, type ModelLoaderProps, type NodeType, type Position3D, type RaycastHit, Scene3D, type Scene3DProps, type SceneGraphNode, SpatialHashGrid, type UseAssetLoaderOptions, type UseAssetLoaderReturn, type UseGameCanvas3DEventsOptions, type UseGameCanvas3DEventsReturn, type UseRaycasterOptions, type UseRaycasterReturn, type UseSceneGraphReturn, type UseThreeOptions, type UseThreeReturn, arcCurve3D, assetLoader, calculateLODLevel, createGridHighlight, cullInstancedMesh, fibonacciSpherePositions, filterByFrustum, getCellsInRadius, getNeighbors, getVisibleIndices, goldenSpiralPositions, gridDistance, gridManhattanDistance, gridToWorld, isInBounds, isInFrustum, normalizeMouseCoordinates, orbitRingPositions, raycastToObjects, raycastToPlane, selfLoopCurve3D, treeLayout3D, updateInstanceLOD, useAssetLoader, useAvl3DConfig, useGameCanvas3DEvents, useRaycaster, useSceneGraph, useThree, worldToGrid };
1329
+ export { AVL_3D_COLORS, AssetLoader, type AssetLoadingState, Avl3DApplicationScene, type Avl3DApplicationSceneProps, type Avl3DConfig, Avl3DContext, Avl3DEffects, type Avl3DEffectsProps, type Avl3DModelOverrides, Avl3DOrbitalScene, type Avl3DOrbitalSceneProps, Avl3DTraitScene, type Avl3DTraitSceneProps, Avl3DTransitionScene, type Avl3DTransitionSceneProps, Avl3DViewer, type Avl3DViewerProps, CAMERA_POSITIONS, Camera3D, type Camera3DHandle, type Camera3DProps, type CameraMode$1 as CameraMode, Canvas3DErrorBoundary, type Canvas3DErrorBoundaryProps, type Canvas3DErrorBoundaryState, Canvas3DLoadingState, type Canvas3DLoadingStateProps, type CullingOptions, type GameCanvas3DEventConfig, type Grid3DConfig, type GridCoordinate, type GridHit, type LODConfig, type LODLevel, Lighting3D, type Lighting3DProps, type LoadedModel, ModelLoader, type ModelLoaderProps, type NodeType, type Position3D, type RaycastHit, Scene3D, type Scene3DProps, type SceneGraphNode, SpatialHashGrid, type UseAssetLoaderOptions, type UseAssetLoaderReturn, type UseGameCanvas3DEventsOptions, type UseGameCanvas3DEventsReturn, type UseRaycasterOptions, type UseRaycasterReturn, type UseSceneGraphReturn, type UseThreeOptions, type UseThreeReturn, arcCurve3D, assetLoader, calculateLODLevel, createGridHighlight, cullInstancedMesh, fibonacciSpherePositions, filterByFrustum, getCellsInRadius, getNeighbors, getVisibleIndices, goldenSpiralPositions, gridDistance, gridManhattanDistance, gridToWorld, isInBounds, isInFrustum, normalizeMouseCoordinates, orbitRingPositions, raycastToObjects, raycastToPlane, selfLoopCurve3D, treeLayout3D, updateInstanceLOD, useAssetLoader, useAvl3DConfig, useGameCanvas3DEvents, useRaycaster, useSceneGraph, useThree, worldToGrid };