@faclon-labs/app-sdk 0.1.0 → 0.3.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/README.md +39 -1
- package/dist/IOSenseApp.js +26 -6
- package/dist/SignIn.js +2 -2
- package/dist/auth.d.ts +7 -0
- package/dist/auth.js +35 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.js +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/map/globe.d.ts +5 -0
- package/dist/map/globe.js +5 -0
- package/dist/map/index.d.ts +21 -0
- package/dist/map/index.js +21 -0
- package/dist/map/source.d.ts +48 -0
- package/dist/map/source.js +73 -0
- package/dist/map/testing.d.ts +5 -0
- package/dist/map/testing.js +5 -0
- package/dist/session.d.ts +1 -1
- package/dist/session.js +1 -1
- package/package.json +55 -5
- package/vendor/SOURCE.txt +1 -0
- package/vendor/map-engine/cesium/camera.d.ts +10 -0
- package/vendor/map-engine/cesium/camera.js +25 -0
- package/vendor/map-engine/cesium/index.d.ts +2 -0
- package/vendor/map-engine/cesium/index.js +2 -0
- package/vendor/map-engine/cesium/renderer.d.ts +149 -0
- package/vendor/map-engine/cesium/renderer.js +837 -0
- package/vendor/map-engine/commands/index.d.ts +2 -0
- package/vendor/map-engine/commands/index.js +2 -0
- package/vendor/map-engine/commands/post-message.d.ts +32 -0
- package/vendor/map-engine/commands/post-message.js +77 -0
- package/vendor/map-engine/commands/webmcp.d.ts +17 -0
- package/vendor/map-engine/commands/webmcp.js +59 -0
- package/vendor/map-engine/core/commands.d.ts +82 -0
- package/vendor/map-engine/core/commands.js +46 -0
- package/vendor/map-engine/core/emitter.d.ts +9 -0
- package/vendor/map-engine/core/emitter.js +38 -0
- package/vendor/map-engine/core/equal.d.ts +2 -0
- package/vendor/map-engine/core/equal.js +28 -0
- package/vendor/map-engine/core/errors.d.ts +20 -0
- package/vendor/map-engine/core/errors.js +34 -0
- package/vendor/map-engine/core/geometry-family.d.ts +3 -0
- package/vendor/map-engine/core/geometry-family.js +13 -0
- package/vendor/map-engine/core/index.d.ts +4 -0
- package/vendor/map-engine/core/index.js +3 -0
- package/vendor/map-engine/core/types.d.ts +709 -0
- package/vendor/map-engine/core/types.js +7 -0
- package/vendor/map-engine/data/annotations.d.ts +3 -0
- package/vendor/map-engine/data/annotations.js +63 -0
- package/vendor/map-engine/data/contracts.d.ts +172 -0
- package/vendor/map-engine/data/contracts.js +12 -0
- package/vendor/map-engine/data/index.d.ts +4 -0
- package/vendor/map-engine/data/index.js +3 -0
- package/vendor/map-engine/data/schema.d.ts +7 -0
- package/vendor/map-engine/data/schema.js +40 -0
- package/vendor/map-engine/geofence/evaluator.d.ts +35 -0
- package/vendor/map-engine/geofence/evaluator.js +172 -0
- package/vendor/map-engine/geofence/history.d.ts +9 -0
- package/vendor/map-engine/geofence/history.js +19 -0
- package/vendor/map-engine/geofence/index.d.ts +2 -0
- package/vendor/map-engine/geofence/index.js +2 -0
- package/vendor/map-engine/index.d.ts +27 -0
- package/vendor/map-engine/index.js +14 -0
- package/vendor/map-engine/layers/index.d.ts +1 -0
- package/vendor/map-engine/layers/index.js +1 -0
- package/vendor/map-engine/layers/layers.d.ts +49 -0
- package/vendor/map-engine/layers/layers.js +316 -0
- package/vendor/map-engine/maplibre/deck-host.d.ts +105 -0
- package/vendor/map-engine/maplibre/deck-host.js +401 -0
- package/vendor/map-engine/maplibre/icons.d.ts +17 -0
- package/vendor/map-engine/maplibre/icons.js +65 -0
- package/vendor/map-engine/maplibre/index.d.ts +3 -0
- package/vendor/map-engine/maplibre/index.js +2 -0
- package/vendor/map-engine/maplibre/map-like.d.ts +56 -0
- package/vendor/map-engine/maplibre/map-like.js +1 -0
- package/vendor/map-engine/maplibre/renderer.d.ts +173 -0
- package/vendor/map-engine/maplibre/renderer.js +889 -0
- package/vendor/map-engine/maplibre/style.d.ts +84 -0
- package/vendor/map-engine/maplibre/style.js +493 -0
- package/vendor/map-engine/present/decorations.d.ts +25 -0
- package/vendor/map-engine/present/decorations.js +115 -0
- package/vendor/map-engine/present/index.d.ts +2 -0
- package/vendor/map-engine/present/index.js +2 -0
- package/vendor/map-engine/present/present.d.ts +47 -0
- package/vendor/map-engine/present/present.js +149 -0
- package/vendor/map-engine/query/index.d.ts +1 -0
- package/vendor/map-engine/query/index.js +1 -0
- package/vendor/map-engine/query/planner.d.ts +26 -0
- package/vendor/map-engine/query/planner.js +47 -0
- package/vendor/map-engine/react/MapView.d.ts +87 -0
- package/vendor/map-engine/react/MapView.js +270 -0
- package/vendor/map-engine/react/context.d.ts +39 -0
- package/vendor/map-engine/react/context.js +94 -0
- package/vendor/map-engine/react/index.d.ts +2 -0
- package/vendor/map-engine/react/index.js +2 -0
- package/vendor/map-engine/react/store.d.ts +19 -0
- package/vendor/map-engine/react/store.js +18 -0
- package/vendor/map-engine/realtime/apply.d.ts +74 -0
- package/vendor/map-engine/realtime/apply.js +155 -0
- package/vendor/map-engine/realtime/index.d.ts +1 -0
- package/vendor/map-engine/realtime/index.js +1 -0
- package/vendor/map-engine/render/index.d.ts +1 -0
- package/vendor/map-engine/render/index.js +1 -0
- package/vendor/map-engine/render/offline.d.ts +8 -0
- package/vendor/map-engine/render/offline.js +47 -0
- package/vendor/map-engine/render/renderer.d.ts +74 -0
- package/vendor/map-engine/render/renderer.js +1 -0
- package/vendor/map-engine/render/terrarium.d.ts +48 -0
- package/vendor/map-engine/render/terrarium.js +110 -0
- package/vendor/map-engine/runtime/drawing.d.ts +28 -0
- package/vendor/map-engine/runtime/drawing.js +58 -0
- package/vendor/map-engine/runtime/index.d.ts +5 -0
- package/vendor/map-engine/runtime/index.js +2 -0
- package/vendor/map-engine/runtime/offline.d.ts +24 -0
- package/vendor/map-engine/runtime/offline.js +37 -0
- package/vendor/map-engine/runtime/overlays.d.ts +25 -0
- package/vendor/map-engine/runtime/overlays.js +65 -0
- package/vendor/map-engine/runtime/runtime.d.ts +4 -0
- package/vendor/map-engine/runtime/runtime.js +2105 -0
- package/vendor/map-engine/runtime/types.d.ts +407 -0
- package/vendor/map-engine/runtime/types.js +1 -0
- package/vendor/map-engine/scene/index.d.ts +1 -0
- package/vendor/map-engine/scene/index.js +1 -0
- package/vendor/map-engine/scene/scene.d.ts +31 -0
- package/vendor/map-engine/scene/scene.js +216 -0
- package/vendor/map-engine/selection/index.d.ts +1 -0
- package/vendor/map-engine/selection/index.js +1 -0
- package/vendor/map-engine/selection/selection.d.ts +12 -0
- package/vendor/map-engine/selection/selection.js +28 -0
- package/vendor/map-engine/spatial/geojson.d.ts +15 -0
- package/vendor/map-engine/spatial/geojson.js +83 -0
- package/vendor/map-engine/spatial/geometry.d.ts +13 -0
- package/vendor/map-engine/spatial/geometry.js +206 -0
- package/vendor/map-engine/spatial/import.d.ts +27 -0
- package/vendor/map-engine/spatial/import.js +96 -0
- package/vendor/map-engine/spatial/index.d.ts +38 -0
- package/vendor/map-engine/spatial/index.js +37 -0
- package/vendor/map-engine/spatial/line-of-sight.d.ts +35 -0
- package/vendor/map-engine/spatial/line-of-sight.js +43 -0
- package/vendor/map-engine/spatial/measure.d.ts +28 -0
- package/vendor/map-engine/spatial/measure.js +90 -0
- package/vendor/map-engine/spatial/operations.d.ts +21 -0
- package/vendor/map-engine/spatial/operations.js +171 -0
- package/vendor/map-engine/spatial/query.d.ts +17 -0
- package/vendor/map-engine/spatial/query.js +88 -0
- package/vendor/map-engine/spatial/spatial-index.d.ts +24 -0
- package/vendor/map-engine/spatial/spatial-index.js +36 -0
- package/vendor/map-engine/spatial/volume-mesh.d.ts +19 -0
- package/vendor/map-engine/spatial/volume-mesh.js +56 -0
- package/vendor/map-engine/temporal/index.d.ts +3 -0
- package/vendor/map-engine/temporal/index.js +3 -0
- package/vendor/map-engine/temporal/journal.d.ts +20 -0
- package/vendor/map-engine/temporal/journal.js +34 -0
- package/vendor/map-engine/temporal/playback.d.ts +41 -0
- package/vendor/map-engine/temporal/playback.js +80 -0
- package/vendor/map-engine/temporal/tracks.d.ts +33 -0
- package/vendor/map-engine/temporal/tracks.js +119 -0
- package/vendor/map-engine/testing/annotation-store.d.ts +24 -0
- package/vendor/map-engine/testing/annotation-store.js +43 -0
- package/vendor/map-engine/testing/contracts.d.ts +41 -0
- package/vendor/map-engine/testing/contracts.js +328 -0
- package/vendor/map-engine/testing/fixtures-monitoring.d.ts +22 -0
- package/vendor/map-engine/testing/fixtures-monitoring.js +103 -0
- package/vendor/map-engine/testing/fixtures.d.ts +18 -0
- package/vendor/map-engine/testing/fixtures.js +28 -0
- package/vendor/map-engine/testing/index.d.ts +7 -0
- package/vendor/map-engine/testing/index.js +7 -0
- package/vendor/map-engine/testing/mock-ontology.d.ts +13 -0
- package/vendor/map-engine/testing/mock-ontology.js +24 -0
- package/vendor/map-engine/testing/mock-provider.d.ts +97 -0
- package/vendor/map-engine/testing/mock-provider.js +369 -0
- package/vendor/map-engine/testing/test-renderer.d.ts +72 -0
- package/vendor/map-engine/testing/test-renderer.js +153 -0
- package/vendor/map-engine/viewport/index.d.ts +1 -0
- package/vendor/map-engine/viewport/index.js +1 -0
- package/vendor/map-engine/viewport/viewport.d.ts +19 -0
- package/vendor/map-engine/viewport/viewport.js +102 -0
- package/vendor/map-provider-uns/client.d.ts +75 -0
- package/vendor/map-provider-uns/client.js +111 -0
- package/vendor/map-provider-uns/index.d.ts +2 -0
- package/vendor/map-provider-uns/index.js +2 -0
- package/vendor/map-provider-uns/provider.d.ts +131 -0
- package/vendor/map-provider-uns/provider.js +561 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CesiumRenderer — the full-3D renderer (ADR-027, phase 3D): a true globe with terrain, objects at their real height,
|
|
3
|
+
* models and extrusions, behind the same Renderer contract as MapLibre. The runtime can switch to it and back
|
|
4
|
+
* (setRenderer) keeping layers, camera, selection and time.
|
|
5
|
+
*
|
|
6
|
+
* - No Cesium Ion and no cloud service: imagery from the basemap's tile URL, terrain from the same DEM tiles MapLibre
|
|
7
|
+
* uses (terrarium.ts), static assets served from `baseUrl` (self-hostable).
|
|
8
|
+
* - One Cesium entity per scene object; markers stay visible over terrain; areas and lines drape on the ground.
|
|
9
|
+
* - Heights (ADR-028): msl as-is in the same frame as the (sea-level) terrain, agl relative to the ground,
|
|
10
|
+
* ellipsoid warned once (no geoid model). Scene vertical exaggeration applies to terrain and heights alike.
|
|
11
|
+
* No business logic, no data queries; picks report stable objectIds.
|
|
12
|
+
*/
|
|
13
|
+
import type * as CesiumNS from 'cesium';
|
|
14
|
+
import type { BasemapConfig, MapConfig, MapViewport, Position, RendererCapabilities, ScenePatch, SceneState, Size, TerrainConfig, TilesetConfig, Unsubscribe } from '../core/types.js';
|
|
15
|
+
import type { MapClickEvent, PickEvent, Renderer, RendererOptions } from '../render/renderer.js';
|
|
16
|
+
type C = typeof CesiumNS;
|
|
17
|
+
type Listener<T> = (value: T) => void;
|
|
18
|
+
export interface CesiumTheme {
|
|
19
|
+
markerColor: string;
|
|
20
|
+
lineColor: string;
|
|
21
|
+
fillColor: string;
|
|
22
|
+
trackColor: string;
|
|
23
|
+
selectionColor: string;
|
|
24
|
+
hoverColor: string;
|
|
25
|
+
labelColor: string;
|
|
26
|
+
labelHalo: string;
|
|
27
|
+
background: string;
|
|
28
|
+
}
|
|
29
|
+
export declare const DEFAULT_CESIUM_THEME: CesiumTheme;
|
|
30
|
+
export interface CesiumRendererOptions {
|
|
31
|
+
/** Inject the module (tests, or apps that loaded it). Default: lazy `import('cesium')`. */
|
|
32
|
+
cesium?: C;
|
|
33
|
+
/** Where Cesium's static assets (Workers, Assets, Widgets, ThirdParty) are served from. Required in the browser. */
|
|
34
|
+
baseUrl?: string;
|
|
35
|
+
theme?: Partial<CesiumTheme>;
|
|
36
|
+
/** Heightmap samples per terrain tile edge. Default 65. */
|
|
37
|
+
terrainSamples?: number;
|
|
38
|
+
}
|
|
39
|
+
export declare class CesiumRenderer implements Renderer {
|
|
40
|
+
private readonly options;
|
|
41
|
+
private lib;
|
|
42
|
+
private viewer;
|
|
43
|
+
private handler;
|
|
44
|
+
private readonly offs;
|
|
45
|
+
private gen;
|
|
46
|
+
private readonly theme;
|
|
47
|
+
private readonly layers;
|
|
48
|
+
private readonly objects;
|
|
49
|
+
/** Every entity id drawn for an object (shape, stem, outline, parts, label), so removal is complete. */
|
|
50
|
+
private readonly drawn;
|
|
51
|
+
/** How each point object was drawn, apart from where: when only its position changes it is moved, not rebuilt. */
|
|
52
|
+
private readonly looks;
|
|
53
|
+
private hoverKey;
|
|
54
|
+
private fontName;
|
|
55
|
+
private terrain;
|
|
56
|
+
/** Loaded 3D Tiles by id, with the config they were loaded from. */
|
|
57
|
+
private readonly tilesets;
|
|
58
|
+
private warnedEllipsoid;
|
|
59
|
+
private warnedStyleBasemap;
|
|
60
|
+
/** Longest side of each model file once measured (sizeMeters). */
|
|
61
|
+
private readonly extents;
|
|
62
|
+
private readonly measuring;
|
|
63
|
+
/** Ground under volume origins, as drawn (exaggerated metres), by position; filled by one batched terrain sample. */
|
|
64
|
+
private readonly grounds;
|
|
65
|
+
private readonly groundQueue;
|
|
66
|
+
private readonly listeners;
|
|
67
|
+
/** A true globe: heights, models, extrusions, sensor volumes and 3D Tiles. */
|
|
68
|
+
readonly capabilities: RendererCapabilities;
|
|
69
|
+
constructor(options?: CesiumRendererOptions);
|
|
70
|
+
initialize(container: HTMLElement, options: RendererOptions): Promise<void>;
|
|
71
|
+
setViewport(viewport: MapViewport, options?: {
|
|
72
|
+
animate?: boolean;
|
|
73
|
+
}): void;
|
|
74
|
+
render(scene: SceneState): void;
|
|
75
|
+
update(patch: ScenePatch): void;
|
|
76
|
+
/**
|
|
77
|
+
* Draws objects again, in batches. Cesium merges a removal and an add of the same entity id within one batch
|
|
78
|
+
* into "nothing changed", and its visualizers keep drawing the old entity — so all removals go in one batch,
|
|
79
|
+
* which is flushed before the adds.
|
|
80
|
+
*/
|
|
81
|
+
private redraw;
|
|
82
|
+
/** What a point object looks like apart from its position (layer, selection, properties). */
|
|
83
|
+
private lookOf;
|
|
84
|
+
/**
|
|
85
|
+
* Moves an already drawn point object when only its position changed (the common live update): the entity and
|
|
86
|
+
* its stem get the new position; nothing is rebuilt. False when it must be drawn again.
|
|
87
|
+
*/
|
|
88
|
+
private move;
|
|
89
|
+
resize(): void;
|
|
90
|
+
getSize(): Size;
|
|
91
|
+
project(position: Position): {
|
|
92
|
+
x: number;
|
|
93
|
+
y: number;
|
|
94
|
+
} | null;
|
|
95
|
+
onCameraMove(l: () => void): Unsubscribe;
|
|
96
|
+
setBasemap(basemap: BasemapConfig): Promise<void>;
|
|
97
|
+
/** Cesium always draws a globe; a flat (mercator) request keeps the globe, which reads the same up close. */
|
|
98
|
+
setProjection(_projection: NonNullable<MapConfig['projection']>): void;
|
|
99
|
+
setTerrain(terrain: TerrainConfig | null): void;
|
|
100
|
+
/** 3D Tiles scenery from URLs (no Cesium Ion): added, replaced, shown/hidden and removed by id. */
|
|
101
|
+
setTilesets(tilesets: TilesetConfig[]): void;
|
|
102
|
+
sampleElevation(positions: Position[]): Promise<Array<number | null>>;
|
|
103
|
+
destroy(): void;
|
|
104
|
+
onViewportChange(l: Listener<MapViewport>): Unsubscribe;
|
|
105
|
+
onPick(l: Listener<PickEvent>): Unsubscribe;
|
|
106
|
+
onMapClick(l: Listener<MapClickEvent>): Unsubscribe;
|
|
107
|
+
onHover(l: Listener<PickEvent | null>): Unsubscribe;
|
|
108
|
+
onError(l: Listener<Error>): Unsubscribe;
|
|
109
|
+
/** The basemap as Cesium imagery: a tile URL works as is; a vector style URL needs a raster fallback. */
|
|
110
|
+
private imageryLayer;
|
|
111
|
+
/** Terrain from the configured DEM tiles (same as MapLibre), or a smooth ellipsoid. */
|
|
112
|
+
private terrainProvider;
|
|
113
|
+
/** Takes the new layer list; returns the objects to draw again and the keys to drop (their layer went away). */
|
|
114
|
+
private applyLayers;
|
|
115
|
+
private drop;
|
|
116
|
+
/** Adds or replaces the entities of one scene object. */
|
|
117
|
+
private put;
|
|
118
|
+
/** Draws one scene object (nothing of it may be drawn yet). */
|
|
119
|
+
private draw;
|
|
120
|
+
/**
|
|
121
|
+
* A height as drawn (ADR-028): Cesium's vertical exaggeration scales the terrain but not absolute heights, so heights
|
|
122
|
+
* are scaled the same way to keep an aircraft's true relation to the (exaggerated) ground. `lift` multiplies the
|
|
123
|
+
* height above the ground; `relative` (agl) heights are measured from the ground Cesium places them on.
|
|
124
|
+
*/
|
|
125
|
+
/**
|
|
126
|
+
* How things on the ground are placed: clamped to the terrain when there is one; without terrain the ground is
|
|
127
|
+
* the ellipsoid, so height 0 directly — Cesium updates clamped billboards lazily, and a moving one lagged behind.
|
|
128
|
+
*/
|
|
129
|
+
private groundReference;
|
|
130
|
+
/**
|
|
131
|
+
* Contour lines (doc 28 G11) as Cesium's elevation-contour material on the globe. This renderer exaggerates the
|
|
132
|
+
* terrain itself, so the spacing is exaggerated the same way and the lines still sit on true heights.
|
|
133
|
+
*/
|
|
134
|
+
private applyContours;
|
|
135
|
+
/** The drawn ground height under a point: cached, else the loaded tiles' guess now and a precise sample soon. */
|
|
136
|
+
private groundHeight;
|
|
137
|
+
private sampleGrounds;
|
|
138
|
+
private drawnHeight;
|
|
139
|
+
/** Measures a model file once (its longest side), then redraws the objects that use it (sizeMeters). */
|
|
140
|
+
private measure;
|
|
141
|
+
private bindEvents;
|
|
142
|
+
private hitTest;
|
|
143
|
+
/** The ground (terrain, else ellipsoid) under a screen point. */
|
|
144
|
+
private groundAt;
|
|
145
|
+
private currentViewport;
|
|
146
|
+
private emitError;
|
|
147
|
+
private add;
|
|
148
|
+
}
|
|
149
|
+
export {};
|