@honua/app-platform 0.1.12 → 0.1.14

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.
Files changed (238) hide show
  1. package/columnar/apache-arrow.d.ts +17 -0
  2. package/columnar/apache-arrow.d.ts.map +1 -0
  3. package/columnar/apache-arrow.js +1036 -0
  4. package/columnar/batch-cache-conformance.d.ts +66 -0
  5. package/columnar/batch-cache-conformance.d.ts.map +1 -0
  6. package/columnar/batch-cache-conformance.js +317 -0
  7. package/columnar/batch-cache-indexeddb.d.ts +31 -0
  8. package/columnar/batch-cache-indexeddb.d.ts.map +1 -0
  9. package/columnar/batch-cache-indexeddb.js +148 -0
  10. package/columnar/batch-cache.d.ts +298 -0
  11. package/columnar/batch-cache.d.ts.map +1 -0
  12. package/columnar/batch-cache.js +757 -0
  13. package/columnar/geoarrow-aggregate.d.ts +178 -0
  14. package/columnar/geoarrow-aggregate.d.ts.map +1 -0
  15. package/columnar/geoarrow-aggregate.js +976 -0
  16. package/columnar/geoarrow-patch.d.ts +382 -0
  17. package/columnar/geoarrow-patch.d.ts.map +1 -0
  18. package/columnar/geoarrow-patch.js +1656 -0
  19. package/columnar/geoarrow-reproject.d.ts +22 -0
  20. package/columnar/geoarrow-reproject.d.ts.map +1 -0
  21. package/columnar/geoarrow-reproject.js +119 -0
  22. package/columnar/geoarrow-serialization.d.ts +68 -0
  23. package/columnar/geoarrow-serialization.d.ts.map +1 -0
  24. package/columnar/geoarrow-serialization.js +331 -0
  25. package/columnar/geoarrow-types.d.ts +271 -0
  26. package/columnar/geoarrow-types.d.ts.map +1 -0
  27. package/columnar/geoarrow-types.js +15 -0
  28. package/columnar/geoarrow.d.ts +52 -0
  29. package/columnar/geoarrow.d.ts.map +1 -0
  30. package/columnar/geoarrow.js +1469 -0
  31. package/columnar/index.d.ts +43 -0
  32. package/columnar/index.d.ts.map +1 -0
  33. package/columnar/index.js +29 -0
  34. package/columnar/operators.d.ts +70 -0
  35. package/columnar/operators.d.ts.map +1 -0
  36. package/columnar/operators.js +307 -0
  37. package/columnar/result.d.ts +369 -0
  38. package/columnar/result.d.ts.map +1 -0
  39. package/columnar/result.js +815 -0
  40. package/columnar/telemetry.d.ts +152 -0
  41. package/columnar/telemetry.d.ts.map +1 -0
  42. package/columnar/telemetry.js +265 -0
  43. package/columnar/transfer.d.ts +28 -0
  44. package/columnar/transfer.d.ts.map +1 -0
  45. package/columnar/transfer.js +669 -0
  46. package/columnar/types.d.ts +175 -0
  47. package/columnar/types.d.ts.map +1 -0
  48. package/columnar/types.js +22 -0
  49. package/columnar/worker.d.ts +157 -0
  50. package/columnar/worker.d.ts.map +1 -0
  51. package/columnar/worker.js +1059 -0
  52. package/contract/pmtiles.d.ts +6 -5
  53. package/contract/pmtiles.d.ts.map +1 -1
  54. package/contract/pmtiles.js +30 -5
  55. package/contract/source.d.ts.map +1 -1
  56. package/contract/source.js +11 -8
  57. package/controls/catalog.d.ts.map +1 -1
  58. package/controls/catalog.js +110 -0
  59. package/controls/index.d.ts +1 -1
  60. package/controls/index.js +1 -1
  61. package/controls/types.d.ts +1 -1
  62. package/controls/types.js +1 -1
  63. package/core/client.d.ts.map +1 -1
  64. package/core/client.js +87 -19
  65. package/core/deprecation-notice.d.ts +28 -0
  66. package/core/deprecation-notice.d.ts.map +1 -0
  67. package/core/deprecation-notice.js +22 -0
  68. package/core/esri-geojson.d.ts.map +1 -1
  69. package/core/esri-geojson.js +14 -8
  70. package/core/optional-grpc-peer.d.ts +15 -0
  71. package/core/optional-grpc-peer.d.ts.map +1 -0
  72. package/core/optional-grpc-peer.js +60 -0
  73. package/esri-compat/basemap-gallery.d.ts +2 -0
  74. package/esri-compat/basemap-gallery.d.ts.map +1 -1
  75. package/esri-compat/basemap-gallery.js +12 -0
  76. package/esri-compat/basemap.d.ts +4 -0
  77. package/esri-compat/basemap.d.ts.map +1 -1
  78. package/esri-compat/basemap.js +70 -0
  79. package/esri-compat/bookmarks.d.ts +2 -0
  80. package/esri-compat/bookmarks.d.ts.map +1 -1
  81. package/esri-compat/bookmarks.js +12 -0
  82. package/esri-compat/controls.d.ts +18 -0
  83. package/esri-compat/controls.d.ts.map +1 -1
  84. package/esri-compat/controls.js +120 -57
  85. package/esri-compat/directions.d.ts +4 -0
  86. package/esri-compat/directions.d.ts.map +1 -1
  87. package/esri-compat/directions.js +30 -20
  88. package/esri-compat/editor.d.ts +4 -0
  89. package/esri-compat/editor.d.ts.map +1 -1
  90. package/esri-compat/editor.js +16 -0
  91. package/esri-compat/esri-config.d.ts +2 -1
  92. package/esri-compat/esri-config.d.ts.map +1 -1
  93. package/esri-compat/feature-effect.d.ts +23 -0
  94. package/esri-compat/feature-effect.d.ts.map +1 -0
  95. package/esri-compat/feature-effect.js +12 -0
  96. package/esri-compat/feature-form.d.ts +6 -0
  97. package/esri-compat/feature-form.d.ts.map +1 -1
  98. package/esri-compat/feature-form.js +63 -0
  99. package/esri-compat/feature-layer.d.ts +21 -2
  100. package/esri-compat/feature-layer.d.ts.map +1 -1
  101. package/esri-compat/feature-layer.js +172 -1
  102. package/esri-compat/feature-table.d.ts +5 -0
  103. package/esri-compat/feature-table.d.ts.map +1 -1
  104. package/esri-compat/feature-table.js +23 -0
  105. package/esri-compat/identity-manager.d.ts +1 -1
  106. package/esri-compat/identity-manager.js +1 -1
  107. package/esri-compat/legend.d.ts +2 -0
  108. package/esri-compat/legend.d.ts.map +1 -1
  109. package/esri-compat/legend.js +98 -0
  110. package/esri-compat/locator.d.ts +1 -1
  111. package/esri-compat/locator.js +1 -1
  112. package/esri-compat/map-view-mount.d.ts +1 -0
  113. package/esri-compat/map-view-mount.d.ts.map +1 -1
  114. package/esri-compat/map-view-mount.js +46 -25
  115. package/esri-compat/map-view.d.ts +13 -0
  116. package/esri-compat/map-view.d.ts.map +1 -1
  117. package/esri-compat/map-view.js +94 -8
  118. package/esri-compat/map.d.ts +5 -1
  119. package/esri-compat/map.d.ts.map +1 -1
  120. package/esri-compat/map.js +10 -0
  121. package/esri-compat/measurement.d.ts +2 -0
  122. package/esri-compat/measurement.d.ts.map +1 -1
  123. package/esri-compat/measurement.js +14 -0
  124. package/esri-compat/point.d.ts +7 -0
  125. package/esri-compat/point.d.ts.map +1 -1
  126. package/esri-compat/point.js +33 -3
  127. package/esri-compat/popup.d.ts +2 -0
  128. package/esri-compat/popup.d.ts.map +1 -1
  129. package/esri-compat/popup.js +12 -0
  130. package/esri-compat/portal.d.ts +1 -1
  131. package/esri-compat/portal.js +1 -1
  132. package/esri-compat/print.d.ts +3 -0
  133. package/esri-compat/print.d.ts.map +1 -1
  134. package/esri-compat/print.js +15 -0
  135. package/esri-compat/search.d.ts +4 -0
  136. package/esri-compat/search.d.ts.map +1 -1
  137. package/esri-compat/search.js +25 -28
  138. package/esri-compat/sketch.d.ts +2 -0
  139. package/esri-compat/sketch.d.ts.map +1 -1
  140. package/esri-compat/sketch.js +12 -0
  141. package/esri-compat/widget-host.d.ts +46 -17
  142. package/esri-compat/widget-host.d.ts.map +1 -1
  143. package/esri-compat/widget-host.js +84 -20
  144. package/esri-compat/widget-shell-hosts.d.ts +61 -0
  145. package/esri-compat/widget-shell-hosts.d.ts.map +1 -0
  146. package/esri-compat/widget-shell-hosts.js +76 -0
  147. package/kernel/renderer.d.ts +82 -0
  148. package/kernel/renderer.js +1 -0
  149. package/offline/conflict-resolution.d.ts +183 -0
  150. package/offline/conflict-resolution.d.ts.map +1 -0
  151. package/offline/conflict-resolution.js +286 -0
  152. package/offline/credential-screen.d.ts +34 -0
  153. package/offline/credential-screen.d.ts.map +1 -0
  154. package/offline/credential-screen.js +78 -0
  155. package/offline/digest.d.ts +15 -0
  156. package/offline/digest.d.ts.map +1 -0
  157. package/offline/digest.js +58 -0
  158. package/offline/edit-queue.d.ts +403 -0
  159. package/offline/edit-queue.d.ts.map +1 -0
  160. package/offline/edit-queue.js +1807 -0
  161. package/offline/edit-replay.d.ts +116 -0
  162. package/offline/edit-replay.d.ts.map +1 -0
  163. package/offline/edit-replay.js +392 -0
  164. package/offline/fetch-handler.d.ts +12 -0
  165. package/offline/fetch-handler.d.ts.map +1 -0
  166. package/offline/fetch-handler.js +65 -0
  167. package/offline/index.d.ts +52 -0
  168. package/offline/index.d.ts.map +1 -0
  169. package/offline/index.js +34 -0
  170. package/offline/indexeddb.d.ts +135 -0
  171. package/offline/indexeddb.d.ts.map +1 -0
  172. package/offline/indexeddb.js +888 -0
  173. package/offline/memory-store.d.ts +17 -0
  174. package/offline/memory-store.d.ts.map +1 -0
  175. package/offline/memory-store.js +183 -0
  176. package/offline/quota.d.ts +161 -0
  177. package/offline/quota.d.ts.map +1 -0
  178. package/offline/quota.js +370 -0
  179. package/offline/read-gate.d.ts +175 -0
  180. package/offline/read-gate.d.ts.map +1 -0
  181. package/offline/read-gate.js +252 -0
  182. package/offline/read-resource.d.ts +99 -0
  183. package/offline/read-resource.d.ts.map +1 -0
  184. package/offline/read-resource.js +156 -0
  185. package/offline/read.d.ts +50 -0
  186. package/offline/read.d.ts.map +1 -0
  187. package/offline/read.js +65 -0
  188. package/offline/region.d.ts +29 -0
  189. package/offline/region.d.ts.map +1 -0
  190. package/offline/region.js +1007 -0
  191. package/offline/replay-conflict.d.ts +183 -0
  192. package/offline/replay-conflict.d.ts.map +1 -0
  193. package/offline/replay-conflict.js +482 -0
  194. package/offline/selection.d.ts +140 -0
  195. package/offline/selection.d.ts.map +1 -0
  196. package/offline/selection.js +391 -0
  197. package/offline/snapshot.d.ts +132 -0
  198. package/offline/snapshot.d.ts.map +1 -0
  199. package/offline/snapshot.js +312 -0
  200. package/offline/status.d.ts +136 -0
  201. package/offline/status.d.ts.map +1 -0
  202. package/offline/status.js +479 -0
  203. package/offline/store-conformance.d.ts +48 -0
  204. package/offline/store-conformance.d.ts.map +1 -0
  205. package/offline/store-conformance.js +233 -0
  206. package/offline/tile-protocol.d.ts +81 -0
  207. package/offline/tile-protocol.d.ts.map +1 -0
  208. package/offline/tile-protocol.js +119 -0
  209. package/offline/types.d.ts +349 -0
  210. package/offline/types.d.ts.map +1 -0
  211. package/offline/types.js +75 -0
  212. package/package.json +14 -2
  213. package/realtime/odata-delta.d.ts +1 -1
  214. package/realtime/odata-delta.d.ts.map +1 -1
  215. package/realtime/odata-delta.js +38 -10
  216. package/scene-workspace/index.d.ts +2 -2
  217. package/scene-workspace/index.d.ts.map +1 -1
  218. package/scene-workspace/index.js +1 -1
  219. package/scene-workspace/scene-discovery.d.ts +111 -91
  220. package/scene-workspace/scene-discovery.d.ts.map +1 -1
  221. package/scene-workspace/scene-discovery.js +340 -92
  222. package/scene-workspace/scene-view.d.ts +6 -6
  223. package/scene-workspace/scene-view.d.ts.map +1 -1
  224. package/scene-workspace/scene-view.js +32 -6
  225. package/web-components/elements.d.ts +34 -0
  226. package/web-components/elements.d.ts.map +1 -1
  227. package/web-components/elements.js +82 -8
  228. package/web-components/index.d.ts +2 -0
  229. package/web-components/index.d.ts.map +1 -1
  230. package/web-components/index.js +3 -1
  231. package/web-components/map-chrome.d.ts +103 -0
  232. package/web-components/map-chrome.d.ts.map +1 -0
  233. package/web-components/map-chrome.js +325 -0
  234. package/web-components/widget-shell.d.ts +68 -0
  235. package/web-components/widget-shell.d.ts.map +1 -0
  236. package/web-components/widget-shell.js +224 -0
  237. package/widget-capabilities.d.ts +67 -0
  238. package/widget-capabilities.js +152 -0
@@ -1,24 +1,32 @@
1
1
  /**
2
2
  * HTTP scene discovery for the 3D scene workspace.
3
3
  *
4
- * Honua publishes 3D scenes over the `geospatial.v1` `SceneService`
5
- * (`ListScenes` / `GetScene`) and mirrors that catalog over plain HTTP scene
6
- * discovery (`GET /api/scenes`, `GET /api/scenes/{id}`) alongside the static
7
- * 3D-Tiles entry point (`GET /scenes/{id}/tileset.json`). This module gives the
8
- * SDK a typed read model over that discovery surface and maps a discovered
9
- * {@link HonuaScene} onto the renderer-neutral {@link SceneRuntimePrimitive}s the
10
- * Cesium adapter renders.
4
+ * Honua Server publishes three public JSON contracts, and this module
5
+ * normalizes those rather than the proto `sceneId` / `title` / `extent` shape:
6
+ *
7
+ * - `GET /api/scenes` — list items use `id`, `name`, `tilesetUrl`, `bounds`, `auth`
8
+ * - `GET /api/scenes/{sceneId}` — metadata uses `id`, `name`, `tileset`, `center`, `bounds`, `auth`
9
+ * - `GET /api/scenes/{sceneId}/resolve` — resolution uses `sceneId`, `endpoints`, `auth`
10
+ *
11
+ * `bounds` is `{west,south,east,north}` and is remapped onto {@link SceneExtent3D}.
12
+ * `center` is `{latitude,longitude,height}` and becomes the initial camera.
13
+ * A nested metadata `tileset` object supplies the tileset URL. The flat proto
14
+ * names (`sceneId`, `scene_id`, `title`, `tileset_url`, `extent`) are still
15
+ * accepted so older payloads do not throw; callers that need the server
16
+ * contract should pass the three routes above.
17
+ *
18
+ * The runtime tileset URL comes from {@link resolveScene}. Nothing in this
19
+ * module synthesizes `/scenes/{id}/tileset.json`. An empty id fails closed
20
+ * before a request is sent, and a tileset URL whose path contains `/scenes//`
21
+ * is rejected so a missing id cannot be requested.
22
+ *
23
+ * Auth requirements are retained on the normalized scene. This module does not
24
+ * refresh protected-asset credentials; that is a separate ticket.
11
25
  *
12
26
  * Discovery calls go through a caller-supplied {@link SceneDiscoveryRequestExecutor}
13
27
  * — typically `(...args) => client.pipelineRequestJson(...args)` against a
14
28
  * `HonuaClient` — so they reuse the SDK's shared auth / retry / timeout /
15
- * interceptor pipeline rather than issuing ad-hoc `fetch` calls. Modelling the
16
- * transport as a function keeps this module free of a hard `core/client` import
17
- * (and equally usable from a Node backend, a worker, or a unit test with a mock).
18
- *
19
- * The mapping helpers ({@link sceneToRuntimePrimitives},
20
- * {@link sceneCameraPrimitive}, {@link sceneViewpointBookmarks}) are pure (no
21
- * Cesium, no transport) and unit-testable on their own.
29
+ * interceptor pipeline rather than issuing ad-hoc `fetch` calls.
22
30
  *
23
31
  * @experimental Held back from the beta `@honua/app-platform/scene-workspace`
24
32
  * tier: Honua Server scene discovery is server-attached, so it sits outside
@@ -44,7 +52,7 @@ export type SceneDiscoveryRequestExecutor = <T = unknown>(method: QueryMethod, p
44
52
  headers?: Record<string, string>;
45
53
  body?: string | null;
46
54
  }, signal?: AbortSignal) => Promise<T>;
47
- /** A 3D bounding volume mirroring the server's `Extent3D` (horizontal envelope + height range). */
55
+ /** A 3D bounding volume (horizontal envelope + optional height range). */
48
56
  export interface SceneExtent3D {
49
57
  readonly xmin: number;
50
58
  readonly ymin: number;
@@ -54,20 +62,57 @@ export interface SceneExtent3D {
54
62
  readonly maxHeight?: number;
55
63
  readonly spatialReference?: number;
56
64
  }
57
- /** A named camera position (bookmark / initial view) mirroring the server's `Viewpoint`. */
65
+ /** A named camera position (bookmark / initial view). */
58
66
  export interface SceneViewpoint {
59
67
  readonly id: string;
60
68
  readonly title: string;
61
69
  readonly camera: SceneCameraState;
62
70
  }
63
71
  /**
64
- * A discovered Honua 3D scene, normalized from the server's `SceneMetadata`
65
- * (`geospatial.v1.SceneService`). Field names follow the SDK's camelCase
66
- * convention; both `tilesetUrl` (camelCase) and `tileset_url` (proto JSON) are
67
- * accepted on the wire and normalized here.
72
+ * Auth requirements advertised by the public scene list, metadata, and resolve
73
+ * routes. Preserved for the caller; credential refresh is not performed here.
74
+ */
75
+ export interface HonuaSceneAuth {
76
+ readonly requiresAuthentication: boolean;
77
+ readonly schemes: readonly string[];
78
+ readonly policy?: string;
79
+ }
80
+ /** One render endpoint from the resolve route (`kind` + absolute `url`). */
81
+ export interface HonuaSceneEndpoint {
82
+ readonly kind: string;
83
+ readonly url: string;
84
+ readonly mediaType?: string;
85
+ readonly format?: string;
86
+ readonly requiresAuthentication: boolean;
87
+ }
88
+ /** A link relation on scene metadata (`self`, `resolve`, …). */
89
+ export interface HonuaSceneLink {
90
+ readonly rel: string;
91
+ readonly href: string;
92
+ readonly type?: string;
93
+ readonly title?: string;
94
+ }
95
+ /**
96
+ * The resolve route's runtime contract. `tilesetUrl` is the absolute 3D Tiles
97
+ * entry point chosen from the response's `tilesetUrl` or its `3d-tiles`
98
+ * endpoint. It is never invented from the scene id.
99
+ */
100
+ export interface HonuaSceneResolution {
101
+ readonly sceneId: string;
102
+ readonly tilesetUrl?: string;
103
+ readonly endpoints: readonly HonuaSceneEndpoint[];
104
+ readonly capabilities: readonly string[];
105
+ readonly auth: HonuaSceneAuth;
106
+ }
107
+ /**
108
+ * A discovered Honua 3D scene. `title` is the display name (`name` on the
109
+ * server, `title` on older proto payloads). `extent` is the server `bounds`
110
+ * object remapped onto xmin/ymin/xmax/ymax.
68
111
  */
69
112
  export interface HonuaScene {
70
113
  readonly sceneId: string;
114
+ /** Server catalog name, when the payload used `name`. */
115
+ readonly name?: string;
71
116
  readonly title?: string;
72
117
  readonly description?: string;
73
118
  /** URL of the root 3D-Tiles tileset (`tileset.json`). */
@@ -86,82 +131,58 @@ export interface HonuaScene {
86
131
  readonly edition?: string;
87
132
  /** Capability flags advertised for the scene (e.g. `terrain`, `point-cloud`, `styling`). */
88
133
  readonly capabilities: readonly string[];
134
+ /** Auth requirements from the server payload, when present. */
135
+ readonly auth?: HonuaSceneAuth;
136
+ readonly attribution?: readonly string[];
137
+ readonly updatedAt?: string;
138
+ readonly links?: readonly HonuaSceneLink[];
89
139
  }
90
- /** Raw camera shape accepted from the server (proto3 JSON). */
91
- interface RawCamera {
92
- longitude?: number;
93
- latitude?: number;
94
- height?: number;
95
- heading?: number;
96
- pitch?: number;
97
- roll?: number;
98
- }
99
- /** Raw scene shape accepted from the server. Tolerates both camelCase and proto snake_case. */
100
- interface RawScene {
101
- sceneId?: string;
102
- scene_id?: string;
103
- title?: string;
104
- description?: string;
105
- tilesetUrl?: string;
106
- tileset_url?: string;
107
- terrainUrl?: string;
108
- terrain_url?: string;
109
- extent?: {
110
- extent?: {
111
- xmin?: number;
112
- ymin?: number;
113
- xmax?: number;
114
- ymax?: number;
115
- spatialReference?: number;
116
- };
117
- xmin?: number;
118
- ymin?: number;
119
- xmax?: number;
120
- ymax?: number;
121
- minHeight?: number;
122
- min_height?: number;
123
- maxHeight?: number;
124
- max_height?: number;
125
- spatialReference?: number;
126
- };
127
- initialCamera?: RawCamera;
128
- initial_camera?: RawCamera;
129
- viewpoints?: Array<{
130
- id?: string;
131
- title?: string;
132
- camera?: RawCamera;
133
- }>;
134
- style?: {
135
- expression?: string;
136
- };
137
- styleExpression?: string;
138
- edition?: string;
139
- capabilities?: string[];
140
- }
141
140
  /**
142
- * Normalize a raw scene payload (camelCase or proto3-JSON snake_case) into a
143
- * {@link HonuaScene}. Exported so the normalization is unit-testable against
144
- * either wire shape without a transport.
141
+ * Normalize one list item from `GET /api/scenes`.
142
+ * Reads `id`, `name`, `tilesetUrl`, `bounds`, and `auth`.
143
+ */
144
+ export declare function normalizeSceneSummary(raw: unknown): HonuaScene;
145
+ /**
146
+ * Normalize `GET /api/scenes/{sceneId}`.
147
+ * Reads `id`, `name`, `tileset`, `center`, `bounds`, and `auth`.
148
+ * A `{ scene }` envelope is accepted only when the root has no id of its own
149
+ * (proto-shaped responses). The server returns the metadata object itself.
145
150
  */
146
- export declare function normalizeScene(raw: RawScene): HonuaScene;
151
+ export declare function normalizeSceneMetadata(raw: unknown): HonuaScene;
147
152
  /**
148
- * List the catalog of available 3D scenes from `GET /api/scenes`
149
- * (`SceneService.ListScenes`). Returns the normalized {@link HonuaScene}s.
153
+ * Normalize a scene payload. Prefer {@link normalizeSceneSummary} or
154
+ * {@link normalizeSceneMetadata} at the route boundary. This entry point
155
+ * accepts either of those contracts and the documented proto field names.
156
+ */
157
+ export declare function normalizeScene(raw: unknown): HonuaScene;
158
+ /**
159
+ * Normalize `GET /api/scenes/{sceneId}/resolve`.
160
+ * Reads `sceneId`, `endpoints`, and `auth`. The runtime tileset URL is the
161
+ * response `tilesetUrl` when usable, otherwise the `3d-tiles` endpoint.
162
+ */
163
+ export declare function normalizeSceneResolution(raw: unknown): HonuaSceneResolution;
164
+ /**
165
+ * List the catalog of available 3D scenes from `GET /api/scenes`.
166
+ * Returns the normalized {@link HonuaScene}s. A list item with no id throws;
167
+ * it is not returned with an empty id.
150
168
  */
151
169
  export declare function listScenes(execute: SceneDiscoveryRequestExecutor, signal?: AbortSignal): Promise<HonuaScene[]>;
152
170
  /**
153
- * Fetch a single scene's metadata from `GET /api/scenes/{sceneId}`
154
- * (`SceneService.GetScene`). The response is tolerated as either the bare scene
155
- * object or a `{ scene }` envelope.
171
+ * Fetch a single scene's metadata from `GET /api/scenes/{sceneId}`.
172
+ * Fails closed before the request when `sceneId` is empty.
156
173
  */
157
174
  export declare function getScene(execute: SceneDiscoveryRequestExecutor, sceneId: string, signal?: AbortSignal): Promise<HonuaScene>;
158
175
  /**
159
- * Resolve the static 3D-Tiles entry-point URL for a scene
160
- * (`/scenes/{sceneId}/tileset.json`). Prefers the scene's advertised
161
- * `tilesetUrl`; falls back to the conventional discovery path under `baseUrl`
162
- * when the scene omits one. Returns `undefined` when neither is available.
176
+ * Resolve a scene's runtime endpoints from `GET /api/scenes/{sceneId}/resolve`.
177
+ * Fails closed before the request when `sceneId` is empty. The returned
178
+ * `tilesetUrl` is taken from the server payload only.
179
+ */
180
+ export declare function resolveScene(execute: SceneDiscoveryRequestExecutor, sceneId: string, signal?: AbortSignal): Promise<HonuaSceneResolution>;
181
+ /**
182
+ * The scene's advertised 3D-Tiles entry-point URL, or `undefined` when the
183
+ * scene has none. Does not synthesize a `/scenes/{id}/tileset.json` path.
163
184
  */
164
- export declare function resolveSceneTilesetUrl(scene: HonuaScene, baseUrl?: string): string | undefined;
185
+ export declare function resolveSceneTilesetUrl(scene: HonuaScene): string | undefined;
165
186
  /**
166
187
  * Build the camera primitive for a scene's suggested initial view, or
167
188
  * `undefined` when the scene advertises no initial camera. Pure.
@@ -171,7 +192,7 @@ export declare function sceneCameraPrimitive(scene: HonuaScene): SceneCameraPrim
171
192
  * Build the 3D-Tiles model-layer primitive for a scene's root tileset, or
172
193
  * `undefined` when the scene has no resolvable tileset URL. Pure.
173
194
  */
174
- export declare function sceneTilesetPrimitive(scene: HonuaScene, baseUrl?: string): SceneModelLayerPrimitive | undefined;
195
+ export declare function sceneTilesetPrimitive(scene: HonuaScene): SceneModelLayerPrimitive | undefined;
175
196
  /**
176
197
  * Build the terrain elevation-source primitive for a scene's terrain provider,
177
198
  * or `undefined` when the scene advertises no terrain. Pure. The provider is
@@ -181,19 +202,18 @@ export declare function sceneTerrainPrimitive(scene: HonuaScene): SceneElevation
181
202
  /**
182
203
  * Map a discovered scene onto the renderer-neutral primitives the Cesium
183
204
  * adapter renders: an initial-camera primitive, the terrain elevation source
184
- * (when present), and the 3D-Tiles tileset (when resolvable). Pure; the result
185
- * feeds straight into `applyCesiumScenePrimitives` / a `SceneView`.
205
+ * (when present), and the 3D-Tiles tileset (when the scene advertises a URL).
206
+ * Pure; the result feeds straight into `applyCesiumScenePrimitives` / a `SceneView`.
186
207
  */
187
- export declare function sceneToRuntimePrimitives(scene: HonuaScene, baseUrl?: string): Array<SceneCameraPrimitive | SceneElevationSourcePrimitive | SceneModelLayerPrimitive>;
208
+ export declare function sceneToRuntimePrimitives(scene: HonuaScene): Array<SceneCameraPrimitive | SceneElevationSourcePrimitive | SceneModelLayerPrimitive>;
188
209
  /**
189
210
  * Build the workspace layer states for a discovered scene (one per rendered
190
211
  * primitive), so a {@link module:scene-workspace/workspace.SceneWorkspace} can
191
212
  * seed its layer list from the scene. Pure.
192
213
  */
193
- export declare function sceneLayerStates(scene: HonuaScene, baseUrl?: string): SceneLayerState[];
214
+ export declare function sceneLayerStates(scene: HonuaScene): SceneLayerState[];
194
215
  /**
195
216
  * Convert a scene's named viewpoints into workspace {@link SceneBookmark}s. Pure.
196
217
  */
197
218
  export declare function sceneViewpointBookmarks(scene: HonuaScene): SceneBookmark[];
198
- export {};
199
219
  //# sourceMappingURL=scene-discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-discovery.d.ts","sourceRoot":"","sources":["../../../src/scene-workspace/scene-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-discovery.d.ts","sourceRoot":"","sources":["../../../src/scene-workspace/scene-discovery.ts"],"names":[],"mappings":"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"}