@navaramap/core 0.0.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.
- package/LICENSE +8 -0
- package/README.md +3 -0
- package/dist/index.d.ts +605 -0
- package/dist/index.js +3042 -0
- package/dist/index.umd.cjs +1 -0
- package/package.json +38 -0
- package/src/abstracts/index.ts +1 -0
- package/src/abstracts/vec3.ts +15 -0
- package/src/assertions.ts +15 -0
- package/src/batch/attribute.test.ts +20 -0
- package/src/batch/attribute.ts +14 -0
- package/src/batch/index.ts +1 -0
- package/src/color/Color.ts +10 -0
- package/src/color/ColorMap.ts +86 -0
- package/src/color/index.ts +3 -0
- package/src/color/types.ts +4 -0
- package/src/constants/image.ts +1 -0
- package/src/constants/index.ts +1 -0
- package/src/error.ts +11 -0
- package/src/event/EventManager.test.ts +539 -0
- package/src/event/EventManager.ts +387 -0
- package/src/event/TransactionManager.test.ts +126 -0
- package/src/event/TransactionManager.ts +78 -0
- package/src/event/index.ts +2 -0
- package/src/event/mock.ts +36 -0
- package/src/eventHandler.ts +52 -0
- package/src/globe/Globe.ts +156 -0
- package/src/globe/index.ts +1 -0
- package/src/id.ts +9 -0
- package/src/index.ts +15 -0
- package/src/namedIndexMap.test.ts +268 -0
- package/src/namedIndexMap.ts +50 -0
- package/src/observed.ts +30 -0
- package/src/plugin.ts +15 -0
- package/src/time.ts +3 -0
- package/src/types/buffer.ts +4 -0
- package/src/types/camera.ts +16 -0
- package/src/types/cameraFrustum.ts +5 -0
- package/src/types/feature.ts +1 -0
- package/src/types/index.ts +13 -0
- package/src/types/layer.ts +1 -0
- package/src/types/plane.ts +5 -0
- package/src/types/ray.ts +5 -0
- package/src/types/tile.ts +1 -0
- package/src/types/transform.ts +5 -0
- package/src/types/unit.ts +7 -0
- package/src/types/utils.ts +20 -0
- package/src/types/vec.ts +9 -0
- package/src/types/window.ts +5 -0
- package/src/utils/ExtentRadianF32Like.ts +17 -0
- package/src/utils/FloatAttributeLike.ts +17 -0
- package/src/utils/ReturnedConstructedTerrainMeshLike.ts +92 -0
- package/src/utils/TransferableMartiniLike.ts +21 -0
- package/src/utils/TransferableRasterDEMDataLike.ts +36 -0
- package/src/utils/TransferableTileLike.ts +53 -0
- package/src/utils/UpsamplableTerrainGeometryLike.ts +26 -0
- package/src/utils/Vec3Like.ts +15 -0
- package/src/utils/index.ts +9 -0
- package/src/utils/polygon/ConstructedPolygonGeometryLike.ts +70 -0
- package/src/utils/polygon/PolygonMaterialLike.ts +37 -0
- package/src/utils/polygon/TransferablePolygonBatchedFeatureLike.ts +73 -0
- package/src/utils/polygon/index.ts +3 -0
- package/src/utils/polyline/ConstructedPolylineGeometryLike.ts +77 -0
- package/src/utils/polyline/PolylineMaterialLike.ts +31 -0
- package/src/utils/polyline/TransferablePolylineBatchedFeatureLike.ts +43 -0
- package/src/utils/polyline/index.ts +3 -0
- package/src/vite-env.d.ts +1 -0
package/LICENSE
ADDED
package/README.md
ADDED
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,605 @@
|
|
|
1
|
+
import { CachedMeshHandle } from '@navaramap/engine';
|
|
2
|
+
import { CameraFrustum as CameraFrustum_2 } from '@navaramap/engine-api';
|
|
3
|
+
import { CameraOrientation as CameraOrientation_2 } from '@navaramap/engine';
|
|
4
|
+
import { ConstructedPolygonGeometry } from '@navaramap/engine';
|
|
5
|
+
import { ConstructedPolylineGeometry } from '@navaramap/engine';
|
|
6
|
+
import { CRS } from '@navaramap/engine';
|
|
7
|
+
import { ElevationDecoder } from '@navaramap/engine';
|
|
8
|
+
import { EntityEvent } from '@navaramap/engine';
|
|
9
|
+
import { Events } from '@navaramap/engine';
|
|
10
|
+
import { ExtentRadianF32 } from '@navaramap/engine';
|
|
11
|
+
import { Globe as Globe_2 } from '@navaramap/engine';
|
|
12
|
+
import { LLE } from '@navaramap/engine';
|
|
13
|
+
import { Plane as Plane_2 } from '@navaramap/engine-api';
|
|
14
|
+
import { PolygonInternalMaterial } from '@navaramap/engine';
|
|
15
|
+
import { PolygonMaterial } from '@navaramap/engine';
|
|
16
|
+
import { PolylineInternalMaterial } from '@navaramap/engine';
|
|
17
|
+
import { PolylineMaterial } from '@navaramap/engine';
|
|
18
|
+
import { Ray as Ray_2 } from '@navaramap/engine-api';
|
|
19
|
+
import { ReturnedConstructedTerrainMesh } from '@navaramap/engine';
|
|
20
|
+
import { ReturnedTransferablePolygonBatchedFeature } from '@navaramap/engine';
|
|
21
|
+
import { ReturnedTransferablePolylineBatchedFeature } from '@navaramap/engine';
|
|
22
|
+
import { TileXYZ } from '@navaramap/engine';
|
|
23
|
+
import { TransferableMartini } from '@navaramap/engine';
|
|
24
|
+
import { TransferablePolygonBatchedFeature } from '@navaramap/engine';
|
|
25
|
+
import { TransferablePolylineBatchedFeature } from '@navaramap/engine';
|
|
26
|
+
import { TransferableRasterDEMData } from '@navaramap/engine';
|
|
27
|
+
import { TransferableTile } from '@navaramap/engine';
|
|
28
|
+
import { Transform as Transform_2 } from '@navaramap/engine-api';
|
|
29
|
+
import { UpsamplableTerrainGeometry } from '@navaramap/engine';
|
|
30
|
+
import { Vec2 as Vec2_2 } from '@navaramap/engine-api';
|
|
31
|
+
import { Vec3 as Vec3_2 } from '@navaramap/engine';
|
|
32
|
+
import { Vec3 as Vec3_3 } from '@navaramap/engine-api';
|
|
33
|
+
import { Window as Window_3 } from '@navaramap/engine';
|
|
34
|
+
|
|
35
|
+
export declare function assertType<T>(_value: unknown): asserts _value is T;
|
|
36
|
+
|
|
37
|
+
export declare abstract class BaseAbstractedVec3 {
|
|
38
|
+
value: Vec3_2;
|
|
39
|
+
constructor(x: number, y: number, z: number);
|
|
40
|
+
copy(x: number, y: number, z: number): void;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export declare type BaseEventMap = Record<string, (...args: any[]) => unknown>;
|
|
44
|
+
|
|
45
|
+
export declare class CachedMeshHandleLike {
|
|
46
|
+
vertices: number;
|
|
47
|
+
uvs: number;
|
|
48
|
+
indices: number;
|
|
49
|
+
heights?: number | undefined;
|
|
50
|
+
constructor(t: CachedMeshHandle);
|
|
51
|
+
free(): void;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export declare type CameraFrustum = Required<NormalizeWASMClass<CameraFrustum_2>>;
|
|
55
|
+
|
|
56
|
+
export declare type CameraOrientation = Partial<NormalizeWASMClass<CameraOrientation_2>>;
|
|
57
|
+
|
|
58
|
+
export declare type CameraPosition = Partial<LatLngHeight> & CameraOrientation & {
|
|
59
|
+
/** Distance from the target point (lng/lat/height) along the camera forward direction (meters).
|
|
60
|
+
* When specified, the camera is placed so its forward ray reaches the target point from this distance.
|
|
61
|
+
* If `height` is omitted, the target elevation defaults to 0 (sea level). */
|
|
62
|
+
distance?: number;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export declare abstract class Color {
|
|
66
|
+
abstract setRGB(r: number, g: number, b: number): this;
|
|
67
|
+
abstract setHex(hex: number): this;
|
|
68
|
+
abstract setStyle(style: string): this;
|
|
69
|
+
abstract copy(color: this): this;
|
|
70
|
+
abstract clone(): this;
|
|
71
|
+
abstract srgb(): this;
|
|
72
|
+
abstract toArray(): [r: number, g: number, b: number];
|
|
73
|
+
abstract toHex(): number;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export declare class ColorMap<T extends ColorMapType = ColorMapType> {
|
|
77
|
+
#private;
|
|
78
|
+
readonly type: T;
|
|
79
|
+
readonly name: string;
|
|
80
|
+
lut: ColorTuple[];
|
|
81
|
+
constructor(type: T, name: string, lut: LUT);
|
|
82
|
+
linear(value: number): ColorTuple;
|
|
83
|
+
buildLinear(): void;
|
|
84
|
+
get count(): number;
|
|
85
|
+
ticks(range: [min: number, max: number], count: number): number[];
|
|
86
|
+
quantize(count: number): ColorTuple[];
|
|
87
|
+
createImage(): HTMLCanvasElement;
|
|
88
|
+
/**
|
|
89
|
+
* Flatten the color map LUT into a Float32Array for WASM/GPU usage.
|
|
90
|
+
* Each color tuple [r, g, b] is flattened into consecutive array elements.
|
|
91
|
+
* @returns A Float32Array with length = lut.length * 3
|
|
92
|
+
*/
|
|
93
|
+
flatten(): Float32Array;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export declare type ColorMapType = "sequential" | "diverging";
|
|
97
|
+
|
|
98
|
+
export declare type ColorTuple = [number, number, number];
|
|
99
|
+
|
|
100
|
+
export declare class ConstructedPolygonGeometryLike {
|
|
101
|
+
extent: ExtentRadianF32Like | undefined;
|
|
102
|
+
position_3d_high: Float32Array | undefined;
|
|
103
|
+
position_3d_high_size: number | undefined;
|
|
104
|
+
position_3d_low: Float32Array | undefined;
|
|
105
|
+
position_3d_low_size: number | undefined;
|
|
106
|
+
position: Float32Array | undefined;
|
|
107
|
+
position_size: number | undefined;
|
|
108
|
+
normal: Float32Array | undefined;
|
|
109
|
+
normal_size: number | undefined;
|
|
110
|
+
scale_normal_and_cap: Float32Array | undefined;
|
|
111
|
+
scale_normal_and_cap_size: number | undefined;
|
|
112
|
+
batch_id: Float32Array | undefined;
|
|
113
|
+
batch_id_size: number | undefined;
|
|
114
|
+
batch_index: Uint32Array | undefined;
|
|
115
|
+
batch_index_size: number | undefined;
|
|
116
|
+
indices: Uint32Array;
|
|
117
|
+
/** RTC (Relative-To-Center) translation vector in world-space ECEF coordinates */
|
|
118
|
+
rtc_translation: Vec3Like | undefined;
|
|
119
|
+
outline_position: Float32Array | undefined;
|
|
120
|
+
outline_position_size: number | undefined;
|
|
121
|
+
outline_scale_normal_and_cap: Float32Array | undefined;
|
|
122
|
+
outline_scale_normal_and_cap_size: number | undefined;
|
|
123
|
+
outline_skip_indices: Uint32Array | undefined;
|
|
124
|
+
outline_batch_index: Float32Array | undefined;
|
|
125
|
+
outline_batch_index_size: number | undefined;
|
|
126
|
+
constructor(t: ConstructedPolygonGeometry);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export declare class ConstructedPolylineGeometryLike {
|
|
130
|
+
extent: ExtentRadianF32Like | undefined;
|
|
131
|
+
position: Float32Array;
|
|
132
|
+
position_size: number;
|
|
133
|
+
position_high: Float32Array | undefined;
|
|
134
|
+
position_high_size: number | undefined;
|
|
135
|
+
position_low: Float32Array | undefined;
|
|
136
|
+
position_low_size: number | undefined;
|
|
137
|
+
start: Float32Array | undefined;
|
|
138
|
+
start_size: number | undefined;
|
|
139
|
+
start_high: Float32Array | undefined;
|
|
140
|
+
start_high_size: number | undefined;
|
|
141
|
+
start_low: Float32Array | undefined;
|
|
142
|
+
start_low_size: number | undefined;
|
|
143
|
+
forward_offset: Float32Array | undefined;
|
|
144
|
+
forward_offset_size: number | undefined;
|
|
145
|
+
end_high: Float32Array | undefined;
|
|
146
|
+
end_high_size: number | undefined;
|
|
147
|
+
end_low: Float32Array | undefined;
|
|
148
|
+
end_low_size: number | undefined;
|
|
149
|
+
start_normals: Float32Array | undefined;
|
|
150
|
+
start_normals_size: number | undefined;
|
|
151
|
+
end_normal_and_texture_coordinate_normalization_x: Float32Array | undefined;
|
|
152
|
+
end_normal_and_texture_coordinate_normalization_x_size: number | undefined;
|
|
153
|
+
right_normal_and_texture_coordinate_normalization_y: Float32Array;
|
|
154
|
+
right_normal_and_texture_coordinate_normalization_y_size: number;
|
|
155
|
+
batch_id: Float32Array | undefined;
|
|
156
|
+
batch_id_size: number | undefined;
|
|
157
|
+
batch_index: Uint32Array | undefined;
|
|
158
|
+
batch_index_size: number | undefined;
|
|
159
|
+
indices: Uint32Array;
|
|
160
|
+
constructor(t: ConstructedPolylineGeometry);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export declare class ElevationDecoderLike implements RemoveFreeRecursively<ElevationDecoder> {
|
|
164
|
+
b_scaler: number;
|
|
165
|
+
boundary: number;
|
|
166
|
+
epsilon: number;
|
|
167
|
+
g_scaler: number;
|
|
168
|
+
max_offset: number;
|
|
169
|
+
min_offset: number;
|
|
170
|
+
offset: number;
|
|
171
|
+
r_scaler: number;
|
|
172
|
+
constructor(t: ElevationDecoder);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export declare class EventHandler<T extends BaseEventMap = BaseEventMap, K extends keyof T = keyof T> {
|
|
176
|
+
events: {
|
|
177
|
+
[E in K]?: Set<T[E]>;
|
|
178
|
+
};
|
|
179
|
+
onceEvents: {
|
|
180
|
+
[E in K]?: Set<T[E]>;
|
|
181
|
+
};
|
|
182
|
+
on<E extends K>(k: E, f: T[E]): void;
|
|
183
|
+
off<E extends K>(k: E, f: T[E]): void;
|
|
184
|
+
clear<E extends K>(k: E): void;
|
|
185
|
+
size<E extends K>(k: E): number | undefined;
|
|
186
|
+
/**
|
|
187
|
+
* Register a callback that will be executed only once and then removed
|
|
188
|
+
*/
|
|
189
|
+
once<E extends K>(k: E, f: T[E]): void;
|
|
190
|
+
emit<E extends K>(k: E, ...args: Parameters<T[E]>): void;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export declare class EventManager {
|
|
194
|
+
stacks: EventsStacks;
|
|
195
|
+
addedEventIds: Map<string, Set<unknown>>;
|
|
196
|
+
private transactionManager;
|
|
197
|
+
needsUpdate(): boolean;
|
|
198
|
+
pushEvents(events: Events | undefined): void;
|
|
199
|
+
forEachStack<Key extends JsEventsKey>(key: Key, cb: (value: GetJsEventValue<Key>) => void, max?: number): void;
|
|
200
|
+
forEachStackAsync<Key extends JsEventsKey>(key: Key, cb: (value: GetJsEventValue<Key>) => Promise<void>, max?: number, shouldProcess?: (value: GetJsEventValue<Key>) => boolean): Promise<void>;
|
|
201
|
+
removeDuplicatedTransactionEvents<AddKey extends JsEventsKey, RemoveKey extends JsEventsKey, ChangeKey extends JsEventsKey>(options: TransactionProcessOption<AddKey, RemoveKey, ChangeKey>): void;
|
|
202
|
+
removeStacksByIndices(key: JsEventsKey, removedIndices: Set<number>): void;
|
|
203
|
+
processTransactionEvents<AddKey extends JsEventsKey, RemoveKey extends JsEventsKey, ChangeKey extends JsEventsKey>(transactionKey: string, options: TransactionProcessOption<AddKey, RemoveKey, ChangeKey>, cb: (ev: TransactionCallbackParams<AddKey, RemoveKey, ChangeKey>) => Promise<void>, handlers?: {
|
|
204
|
+
shouldProcess?: (ev: TransactionCallbackParams<AddKey, RemoveKey, ChangeKey>) => boolean;
|
|
205
|
+
generateEventId?: (ev: TransactionCallbackParams<AddKey, RemoveKey, ChangeKey>) => string;
|
|
206
|
+
onAbort?: (ev: GetJsEventValue<RemoveKey>) => void | Promise<void>;
|
|
207
|
+
}): void;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
declare type EventsStacks = {
|
|
211
|
+
[K in JsEventsKey]-?: JsEvents[K] extends unknown[] ? JsEvents[K] : JsEvents[K][];
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
export declare class ExtentRadianF32Like implements RemoveFreeRecursively<ExtentRadianF32> {
|
|
215
|
+
east: number;
|
|
216
|
+
north: number;
|
|
217
|
+
south: number;
|
|
218
|
+
west: number;
|
|
219
|
+
constructor(t: ExtentRadianF32);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export declare type ExtractProperties<T> = {
|
|
223
|
+
[K in keyof T]?: T[K] extends (...args: any) => any ? ReturnType<T[K]> extends (...args: any) => any ? ExtractProperties<ReturnType<T[K]>> : ReturnType<T[K]> : Partial<T[K]>;
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
export declare type FeatureSetId = bigint;
|
|
227
|
+
|
|
228
|
+
export declare function generate_id_from_entity(entity: EntityEvent): string;
|
|
229
|
+
|
|
230
|
+
declare type GetJsEventValue<K extends JsEventsKey> = EventsStacks[K] extends unknown[] ? EventsStacks[K][number] : EventsStacks[K];
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Globe configuration manager.
|
|
234
|
+
*
|
|
235
|
+
* Provides an interface for accessing and modifying globe properties
|
|
236
|
+
* that are shared across different material types (VectorTile, RasterTile, RasterTerrain).
|
|
237
|
+
*/
|
|
238
|
+
export declare class Globe implements Omit<RemoveFreeRecursively<Globe_2>, "elevationColormap" | "color"> {
|
|
239
|
+
private handler;
|
|
240
|
+
private _elevationColormap?;
|
|
241
|
+
constructor(handler: GlobeHandler, options?: GlobeOptions);
|
|
242
|
+
setOptions(options?: GlobeOptions): void;
|
|
243
|
+
get maxSse(): number;
|
|
244
|
+
set maxSse(value: number);
|
|
245
|
+
get segments(): number;
|
|
246
|
+
set segments(value: number);
|
|
247
|
+
get color(): Color | undefined;
|
|
248
|
+
set color(value: Color);
|
|
249
|
+
get hideUnderground(): boolean;
|
|
250
|
+
set hideUnderground(value: boolean);
|
|
251
|
+
get useNormal(): boolean;
|
|
252
|
+
set useNormal(value: boolean);
|
|
253
|
+
get transparent(): boolean;
|
|
254
|
+
set transparent(value: boolean);
|
|
255
|
+
get opacity(): number;
|
|
256
|
+
set opacity(value: number);
|
|
257
|
+
get wireframe(): boolean;
|
|
258
|
+
set wireframe(value: boolean);
|
|
259
|
+
get elevationColormap(): ColorMap | undefined;
|
|
260
|
+
set elevationColormap(value: ColorMap);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Handler for accessing individual Globe properties from WASM.
|
|
265
|
+
* This provides a reference-based interface instead of copying the entire Globe object.
|
|
266
|
+
*/
|
|
267
|
+
export declare type GlobeHandler = {
|
|
268
|
+
getTransparent: () => boolean | undefined;
|
|
269
|
+
getMaxSse: () => number | undefined;
|
|
270
|
+
getSegments: () => number | undefined;
|
|
271
|
+
getColor: () => Color | undefined;
|
|
272
|
+
getHideUnderground: () => boolean | undefined;
|
|
273
|
+
getUseNormal: () => boolean | undefined;
|
|
274
|
+
getOpacity: () => number | undefined;
|
|
275
|
+
getWireframe: () => boolean | undefined;
|
|
276
|
+
getElevationColormap: () => Float32Array | undefined;
|
|
277
|
+
setTransparent: (value: boolean) => void;
|
|
278
|
+
setMaxSse: (value: number) => void;
|
|
279
|
+
setSegments: (value: number) => void;
|
|
280
|
+
setColor: (value: Color) => void;
|
|
281
|
+
setHideUnderground: (value: boolean) => void;
|
|
282
|
+
setUseNormal: (value: boolean) => void;
|
|
283
|
+
setOpacity: (value: number) => void;
|
|
284
|
+
setWireframe: (value: boolean) => void;
|
|
285
|
+
setElevationColormap: (value: ColorMap) => void;
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
export declare type GlobeOptions = Partial<Omit<Globe_2, "constructor" | "free" | "elevationColormap" | "color">> & {
|
|
289
|
+
elevationColormap?: ColorMap;
|
|
290
|
+
color?: Color;
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
export declare const IMAGE_EXTENSIONS: string[];
|
|
294
|
+
|
|
295
|
+
export declare function isEntityEvent(v: unknown): v is EntityEvent;
|
|
296
|
+
|
|
297
|
+
export declare function isNotFalse<T>(value: T | false): value is T;
|
|
298
|
+
|
|
299
|
+
export declare function isNotNullish<T>(value: T | null | undefined): value is T;
|
|
300
|
+
|
|
301
|
+
export declare function isNotUndefined<T>(value: T | undefined): value is T;
|
|
302
|
+
|
|
303
|
+
export declare type JsEvents = {
|
|
304
|
+
[K in keyof Events as K extends `take_${infer P}` ? P : never]: Events[K] extends (...args: never[]) => infer R ? R : never;
|
|
305
|
+
};
|
|
306
|
+
|
|
307
|
+
export declare type JsEventsKey = keyof JsEvents;
|
|
308
|
+
|
|
309
|
+
export declare type LatLng = Omit<LatLngHeight, "height">;
|
|
310
|
+
|
|
311
|
+
export declare type LatLngHeight = Required<NormalizeWASMClass<LLE>>;
|
|
312
|
+
|
|
313
|
+
export declare type LayerId = string;
|
|
314
|
+
|
|
315
|
+
export declare type LUT = readonly (ColorTuple | Color)[];
|
|
316
|
+
|
|
317
|
+
export declare class NamedIndexMap<T extends {
|
|
318
|
+
name: string;
|
|
319
|
+
}> {
|
|
320
|
+
list: T[];
|
|
321
|
+
indexMap: Record<string, number>;
|
|
322
|
+
add(v: T): void;
|
|
323
|
+
insertBefore(targetName: string, v: T): number;
|
|
324
|
+
insertAfter(targetName: string, v: T): number;
|
|
325
|
+
private insertAt;
|
|
326
|
+
private findIndex;
|
|
327
|
+
private assertUnique;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
export declare type NormalizeWASMClass<C> = ExtractProperties<RemoveFreeRecursively<C>>;
|
|
331
|
+
|
|
332
|
+
export declare type Nullable<T> = T | null | undefined;
|
|
333
|
+
|
|
334
|
+
export declare class Observed<T> extends EventHandler<ObservedEvent<T>> {
|
|
335
|
+
private _value;
|
|
336
|
+
constructor(v: T);
|
|
337
|
+
get value(): T;
|
|
338
|
+
set value(v: T);
|
|
339
|
+
changed(f: (v: T) => void): void;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
export declare type ObservedEvent<T> = {
|
|
343
|
+
changed: (v: T) => void;
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
export declare type Plane = Required<NormalizeWASMClass<Plane_2>>;
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Base `Plugin` abstract class.
|
|
350
|
+
* This class doesn't have a logic, but has interfaces.
|
|
351
|
+
* ```
|
|
352
|
+
* class MyPlugin extends Plugin<ThreeView<MyCustomDescriptions>, ViewContext> {
|
|
353
|
+
* async init(view, ctx) {
|
|
354
|
+
* // ...
|
|
355
|
+
* }
|
|
356
|
+
* }
|
|
357
|
+
* ```
|
|
358
|
+
*/
|
|
359
|
+
declare abstract class Plugin_2<TView = unknown, TCtx = unknown> {
|
|
360
|
+
abstract init(view: TView, ctx: TCtx): Promise<void>;
|
|
361
|
+
}
|
|
362
|
+
export { Plugin_2 as Plugin }
|
|
363
|
+
|
|
364
|
+
export declare class PolygonMaterialLike {
|
|
365
|
+
clampToGround?: boolean;
|
|
366
|
+
tiled?: boolean;
|
|
367
|
+
castShadow?: boolean;
|
|
368
|
+
receiveShadow?: boolean;
|
|
369
|
+
color?: number;
|
|
370
|
+
extrudedHeight?: number;
|
|
371
|
+
height?: number;
|
|
372
|
+
show?: boolean;
|
|
373
|
+
perPositionHeight?: boolean;
|
|
374
|
+
wireframe?: boolean;
|
|
375
|
+
outline?: boolean;
|
|
376
|
+
__internal__?: PolygonInternalMaterial | undefined;
|
|
377
|
+
constructor(material: PolygonMaterial);
|
|
378
|
+
free(): void;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
export declare class PolylineMaterialLike {
|
|
382
|
+
clampToGround?: boolean;
|
|
383
|
+
tiled?: boolean;
|
|
384
|
+
castShadow?: boolean;
|
|
385
|
+
receiveShadow?: boolean;
|
|
386
|
+
color?: number;
|
|
387
|
+
height?: number;
|
|
388
|
+
width?: number;
|
|
389
|
+
maxWidth?: number;
|
|
390
|
+
show?: boolean;
|
|
391
|
+
__internal__?: PolylineInternalMaterial;
|
|
392
|
+
constructor(material: PolylineMaterial);
|
|
393
|
+
free(): void;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
export declare type Ray = Required<NormalizeWASMClass<Ray_2>>;
|
|
397
|
+
|
|
398
|
+
export declare type RemoveFreeRecursively<T> = T extends {
|
|
399
|
+
free: unknown;
|
|
400
|
+
} ? {
|
|
401
|
+
[K in keyof T as K extends "free" | symbol | number ? never : K]: RemoveFreeRecursively<T[K]>;
|
|
402
|
+
} : T;
|
|
403
|
+
|
|
404
|
+
export declare class ReturnedConstructedTerrainMeshLike implements RemoveFreeRecursively<ReturnedConstructedTerrainMesh> {
|
|
405
|
+
vertices: Float32Array;
|
|
406
|
+
uvs: Float32Array;
|
|
407
|
+
indices: Uint32Array;
|
|
408
|
+
heights: Float32Array;
|
|
409
|
+
max_height: number;
|
|
410
|
+
min_height: number;
|
|
411
|
+
rtc_translation: Vec3Like | undefined;
|
|
412
|
+
normals: Float32Array | undefined;
|
|
413
|
+
skirt_vertices: Float32Array | undefined;
|
|
414
|
+
skirt_uvs: Float32Array | undefined;
|
|
415
|
+
skirt_indices: Uint32Array | undefined;
|
|
416
|
+
skirt_normals: Float32Array | undefined;
|
|
417
|
+
watermask: Uint8Array | undefined;
|
|
418
|
+
constructor(t: ReturnedConstructedTerrainMesh);
|
|
419
|
+
transferVertices(): Float32Array;
|
|
420
|
+
transferUvs(): Float32Array;
|
|
421
|
+
transferIndices(): Uint32Array;
|
|
422
|
+
transferHeights(): Float32Array;
|
|
423
|
+
transferNormals(): Float32Array | undefined;
|
|
424
|
+
transferSkirtVertices(): Float32Array | undefined;
|
|
425
|
+
transferSkirtUvs(): Float32Array | undefined;
|
|
426
|
+
transferSkirtIndices(): Uint32Array | undefined;
|
|
427
|
+
transferSkirtNormals(): Float32Array | undefined;
|
|
428
|
+
transferWatermask(): Uint8Array | undefined;
|
|
429
|
+
hasSkirt(): boolean;
|
|
430
|
+
hasNormals(): boolean;
|
|
431
|
+
hasWatermask(): boolean;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
export declare const setBatchedValuesToBatchedAttribute: (values: TypedArrayLike, batchIds: TypedArrayLike, attr: TypedArrayLike) => void;
|
|
435
|
+
|
|
436
|
+
export declare type TileHandle = bigint;
|
|
437
|
+
|
|
438
|
+
export declare class TileXYZLike implements RemoveFreeRecursively<TileXYZ> {
|
|
439
|
+
x: number;
|
|
440
|
+
y: number;
|
|
441
|
+
z: number;
|
|
442
|
+
constructor(t: TileXYZ);
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
export declare class Transaction {
|
|
446
|
+
id: string;
|
|
447
|
+
continuable: boolean;
|
|
448
|
+
currentPending?: Promise<void>;
|
|
449
|
+
next?: Transaction;
|
|
450
|
+
parent?: Transaction;
|
|
451
|
+
constructor(id: string, continuable?: boolean);
|
|
452
|
+
then(cb: () => Promise<void>): Transaction;
|
|
453
|
+
end(): void;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
declare type TransactionCallbackParams<AddKey extends JsEventsKey, RemoveKey extends JsEventsKey, ChangeKey extends JsEventsKey> = {
|
|
457
|
+
type: "add";
|
|
458
|
+
event: GetJsEventValue<AddKey>;
|
|
459
|
+
} | {
|
|
460
|
+
type: "remove";
|
|
461
|
+
event: GetJsEventValue<RemoveKey>;
|
|
462
|
+
} | {
|
|
463
|
+
type: "change";
|
|
464
|
+
event: GetJsEventValue<ChangeKey>;
|
|
465
|
+
};
|
|
466
|
+
|
|
467
|
+
export declare class TransactionManager {
|
|
468
|
+
private record;
|
|
469
|
+
getOrInsert(id: string): Transaction;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
declare type TransactionProcessOption<AddKey extends JsEventsKey, RemoveKey extends JsEventsKey, ChangeKey extends JsEventsKey> = {
|
|
473
|
+
add: {
|
|
474
|
+
key: AddKey;
|
|
475
|
+
max?: number;
|
|
476
|
+
};
|
|
477
|
+
remove: {
|
|
478
|
+
key: RemoveKey;
|
|
479
|
+
max?: number;
|
|
480
|
+
};
|
|
481
|
+
change?: {
|
|
482
|
+
key: ChangeKey;
|
|
483
|
+
max?: number;
|
|
484
|
+
};
|
|
485
|
+
};
|
|
486
|
+
|
|
487
|
+
export declare class TransferableMartiniLike implements RemoveFreeRecursively<TransferableMartini> {
|
|
488
|
+
coords: Uint32Array;
|
|
489
|
+
size: number;
|
|
490
|
+
constructor(coords: Uint32Array, size: number);
|
|
491
|
+
transfer_coords(): Uint32Array;
|
|
492
|
+
clone(): TransferableMartiniLike;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
export declare class TransferablePolygonBatchedFeatureLike implements RemoveFreeRecursively<TransferablePolygonBatchedFeature> {
|
|
496
|
+
batch_ids: Uint32Array;
|
|
497
|
+
batch_indices: Uint32Array;
|
|
498
|
+
crs: CRS;
|
|
499
|
+
expected_winding_orders: Uint8Array;
|
|
500
|
+
holes: Float64Array;
|
|
501
|
+
holes_boundaries: Uint32Array;
|
|
502
|
+
holes_sizes: Uint32Array;
|
|
503
|
+
holes_total_sizes: Uint32Array;
|
|
504
|
+
length: number;
|
|
505
|
+
outer_ring: Float64Array;
|
|
506
|
+
outer_ring_sizes: Uint32Array;
|
|
507
|
+
constructor(t: ReturnedTransferablePolygonBatchedFeature);
|
|
508
|
+
setBatchIds(_length: number, _f: () => void): void;
|
|
509
|
+
setBatchIndices(_length: number, _f: () => void): void;
|
|
510
|
+
setExpectedWindingOrders(_length: number, _f: () => void): void;
|
|
511
|
+
setOuterRing(_length: number, _f: () => void): void;
|
|
512
|
+
setOuterRingSizes(_length: number, _f: () => void): void;
|
|
513
|
+
setHoles(_length: number, _f: () => void): void;
|
|
514
|
+
setHolesBoundaries(_length: number, _f: () => void): void;
|
|
515
|
+
setHolesSizes(_length: number, _f: () => void): void;
|
|
516
|
+
setHolesTotalSizes(_length: number, _f: () => void): void;
|
|
517
|
+
transferBatchIds(): Uint32Array;
|
|
518
|
+
transferBatchIndices(): Uint32Array;
|
|
519
|
+
transferExpectedWindingOrders(): Uint8Array;
|
|
520
|
+
transferOuterRing(): Float64Array;
|
|
521
|
+
transferOuterRingSizes(): Uint32Array;
|
|
522
|
+
transferHoles(): Float64Array;
|
|
523
|
+
transferHolesBoundaries(): Uint32Array;
|
|
524
|
+
transferHolesSizes(): Uint32Array;
|
|
525
|
+
transferHolesTotalSizes(): Uint32Array;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
export declare class TransferablePolylineBatchedFeatureLike implements RemoveFreeRecursively<TransferablePolylineBatchedFeature> {
|
|
529
|
+
points: Float64Array;
|
|
530
|
+
points_sizes: Uint32Array;
|
|
531
|
+
batch_ids: Uint32Array;
|
|
532
|
+
batch_indices: Uint32Array;
|
|
533
|
+
crs: CRS;
|
|
534
|
+
length: number;
|
|
535
|
+
constructor(t: ReturnedTransferablePolylineBatchedFeature);
|
|
536
|
+
setPoints(_byte_length: number, _f: () => void): void;
|
|
537
|
+
setPointsSizes(_byte_length: number, _f: () => void): void;
|
|
538
|
+
setBatchIds(_byte_length: number, _f: () => void): void;
|
|
539
|
+
setBatchIndices(_length: number, _f: () => void): void;
|
|
540
|
+
transferPoints(): Float64Array;
|
|
541
|
+
transferPointsSizes(): Uint32Array;
|
|
542
|
+
transferBatchIds(): Uint32Array;
|
|
543
|
+
transferBatchIndices(): Uint32Array;
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
export declare class TransferableRasterDEMDataLike implements RemoveFreeRecursively<TransferableRasterDEMData> {
|
|
547
|
+
decoder: ElevationDecoderLike;
|
|
548
|
+
constructor(decoder: ElevationDecoder);
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
export declare class TransferableTileLike {
|
|
552
|
+
cached_mesh_handle?: CachedMeshHandleLike | undefined;
|
|
553
|
+
coords: TileXYZLike;
|
|
554
|
+
max_height: number;
|
|
555
|
+
min_height: number;
|
|
556
|
+
constructor(t: TransferableTile);
|
|
557
|
+
free(): void;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
export declare type Transform = Required<NormalizeWASMClass<Transform_2>>;
|
|
561
|
+
|
|
562
|
+
export declare type TypedArrayLike = {
|
|
563
|
+
[index: number]: number;
|
|
564
|
+
readonly length: number;
|
|
565
|
+
};
|
|
566
|
+
|
|
567
|
+
export declare class Unimplemented extends Error {
|
|
568
|
+
constructor(message?: string);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
export declare class Unreachable extends Error {
|
|
572
|
+
constructor(message?: string);
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
export declare class UpsamplableTerrainGeometryLike implements RemoveFreeRecursively<UpsamplableTerrainGeometry> {
|
|
576
|
+
uvs: Float32Array;
|
|
577
|
+
indices: Uint32Array;
|
|
578
|
+
heights: Float32Array;
|
|
579
|
+
normals: Float32Array | undefined;
|
|
580
|
+
/** Parent quantized-mesh watermask (1 byte uniform or 65536 byte 256x256 grid). */
|
|
581
|
+
watermask: Uint8Array | undefined;
|
|
582
|
+
constructor(uvs: Float32Array, indices: Uint32Array, heights: Float32Array, normals?: Float32Array, watermask?: Uint8Array);
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
export declare type Vec2 = Required<NormalizeWASMClass<Vec2_2>>;
|
|
586
|
+
|
|
587
|
+
export declare type Vec3 = Required<NormalizeWASMClass<Vec3_3>>;
|
|
588
|
+
|
|
589
|
+
export declare class Vec3Like implements RemoveFreeRecursively<Vec3_2> {
|
|
590
|
+
x: number;
|
|
591
|
+
y: number;
|
|
592
|
+
z: number;
|
|
593
|
+
constructor(t: Vec3_2);
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
declare type Window_2 = Required<NormalizeWASMClass<Window_3>>;
|
|
597
|
+
export { Window_2 as Window }
|
|
598
|
+
|
|
599
|
+
export declare type XYZ = {
|
|
600
|
+
x: number;
|
|
601
|
+
y: number;
|
|
602
|
+
z: number;
|
|
603
|
+
};
|
|
604
|
+
|
|
605
|
+
export { }
|