vis-core 0.32.7 → 0.32.8

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/dist/index.d.ts CHANGED
@@ -86,6 +86,8 @@ declare class Area extends GroupObject {
86
86
  /** vis-core 的运行时入口只接受编辑平台导出的完整场景文档。 */
87
87
  export declare function assertRuntimeSceneDocument(value: unknown): asserts value is VisSceneDocument & Record<string, any>;
88
88
 
89
+ export declare function assertSceneManifest(value: unknown): asserts value is VisSceneManifest;
90
+
89
91
  export declare function assertSupportedSceneDocument(value: unknown): void;
90
92
 
91
93
  export declare type Base = Base_2;
@@ -523,6 +525,8 @@ declare class HemisphereLight extends HemisphereLightObject {
523
525
  */
524
526
  export declare function isSceneDocument(value: unknown): value is SceneDocumentMarker & Record<string, any>;
525
527
 
528
+ export declare function isSceneManifest(value: unknown): value is VisSceneManifest;
529
+
526
530
  declare type Map_2 = Map_3;
527
531
  export { Map_2 as Map }
528
532
 
@@ -1220,6 +1224,10 @@ export declare const SCENE_DOCUMENT_FORMAT: "vis-scene";
1220
1224
 
1221
1225
  export declare const SCENE_DOCUMENT_SCHEMA_VERSION: 3;
1222
1226
 
1227
+ export declare const SCENE_MANIFEST_FORMAT: "vis-scene-manifest";
1228
+
1229
+ export declare const SCENE_MANIFEST_SCHEMA_VERSION: 1;
1230
+
1223
1231
  export declare interface SceneBackInteraction {
1224
1232
  trigger: 'click' | 'clickOutside';
1225
1233
  objectId: string;
@@ -1263,6 +1271,10 @@ export declare interface SceneInteractionFilter {
1263
1271
  export declare class SceneManager extends Event_2 {
1264
1272
  private options;
1265
1273
  private document?;
1274
+ private manifest?;
1275
+ private manifestUrl?;
1276
+ private loadedDefinitions;
1277
+ private definitionLoads;
1266
1278
  private runtimeHooks?;
1267
1279
  private instances;
1268
1280
  private currentSceneId;
@@ -1286,7 +1298,7 @@ export declare class SceneManager extends Event_2 {
1286
1298
  private playTransition;
1287
1299
  /** 更新可编辑文档,并释放已经不属于文档的非活动场景实例。 */
1288
1300
  setDocument(document: VisSceneDocument): void;
1289
- load(documentOrUrl: VisSceneDocument | string, hooks?: Record<string, any>): Promise<Base_2>;
1301
+ load(documentOrUrl: VisSceneDocument | VisSceneManifest | string, hooks?: Record<string, any>): Promise<Base_2>;
1290
1302
  /**
1291
1303
  * 创建一个没有快照输入的运行时页面,并在可选构建步骤完成后将其导出为
1292
1304
  * 标准单场景文档。主要供编辑器新建和旧模板迁移使用。
@@ -1296,9 +1308,13 @@ export declare class SceneManager extends Event_2 {
1296
1308
  * 以指定地图模板和行政区直接启动,不先加载文档配置的入口场景。
1297
1309
  * 适用于宿主按路由或业务参数决定初始省、市、区的场景。
1298
1310
  */
1299
- loadMapRegion(documentOrUrl: VisSceneDocument | string, sceneId: string, adcode: number, hooks?: Record<string, any>): Promise<Map_3>;
1300
- loadMapRegion(documentOrUrl: VisSceneDocument | string, adcode: number, resolveScene: MapRegionSceneResolver, hooks?: Record<string, any>): Promise<Map_3>;
1311
+ loadMapRegion(documentOrUrl: VisSceneDocument | VisSceneManifest | string, sceneId: string, adcode: number, hooks?: Record<string, any>): Promise<Map_3>;
1312
+ loadMapRegion(documentOrUrl: VisSceneDocument | VisSceneManifest | string, adcode: number, resolveScene: MapRegionSceneResolver, hooks?: Record<string, any>): Promise<Map_3>;
1301
1313
  private loadDocument;
1314
+ private getSceneMetadata;
1315
+ private resolveManifestSource;
1316
+ private loadSceneDefinition;
1317
+ private createRuntimeSceneDocument;
1302
1318
  switchScene(sceneId: string, options?: SwitchSceneOptions, hooks?: Record<string, any>): Promise<Base_2 | null>;
1303
1319
  /**
1304
1320
  * 恢复并缓存一个非活动场景,不改变当前场景、导航历史或相机。
@@ -1329,6 +1345,7 @@ export declare class SceneManager extends Event_2 {
1329
1345
  getSceneByName(name: string): Base_2 | undefined;
1330
1346
  private getSceneByType;
1331
1347
  getDocument(): VisSceneDocument | undefined;
1348
+ getManifest(): VisSceneManifest | undefined;
1332
1349
  private bindSceneInteractions;
1333
1350
  canBack(): boolean;
1334
1351
  private disposeInstances;
@@ -1344,6 +1361,8 @@ export declare interface SceneManagerBehaviorOptions {
1344
1361
  prepareScene?: (scene: Base_2) => void;
1345
1362
  /** 是否保留非活动场景实例;编辑器可关闭以限制 GPU/内存占用。 */
1346
1363
  cacheScenes?: boolean;
1364
+ /** 自定义分包场景读取器;可从 IndexedDB 等非 HTTP 存储按需读取。 */
1365
+ loadScene?: (entry: SceneManifestEntry) => Promise<SceneViewportDocument>;
1347
1366
  }
1348
1367
 
1349
1368
  export declare type SceneManagerInitOptions = SceneManagerOptions & SceneManagerBehaviorOptions;
@@ -1355,6 +1374,13 @@ export declare interface SceneManagerOptions extends Pick<BaseOptions, 'containe
1355
1374
  safeAreaInsets?: Partial<MapSafeAreaInsets>;
1356
1375
  }
1357
1376
 
1377
+ export declare interface SceneManifestEntry extends Omit<SceneViewportDocument, 'scene'> {
1378
+ /** Relative to the manifest URL unless an absolute URL is supplied. */
1379
+ source: string;
1380
+ /** Uncompressed JSON bytes, used only for diagnostics and progress UI. */
1381
+ bytes?: number;
1382
+ }
1383
+
1358
1384
  export declare interface SceneSwitchInteraction {
1359
1385
  trigger: 'click' | 'clickOutside';
1360
1386
  objectId: string;
@@ -1425,6 +1451,21 @@ declare class SphereShadow extends MeshObject {
1425
1451
  rebuildFromScene(): void;
1426
1452
  }
1427
1453
 
1454
+ /**
1455
+ * Creates deployable, independently fetchable scene JSON values. Resources are
1456
+ * expanded per scene so loading the entry scene never requires a global pool.
1457
+ */
1458
+ export declare function splitSceneDocument(document: VisSceneDocument, options?: {
1459
+ sceneDirectory?: string;
1460
+ extension?: '.json' | '.json.gz';
1461
+ }): SplitSceneDocumentBundle;
1462
+
1463
+ export declare interface SplitSceneDocumentBundle {
1464
+ manifest: VisSceneManifest;
1465
+ /** Keys are the relative source paths written into the manifest. */
1466
+ scenes: Record<string, SceneViewportDocument>;
1467
+ }
1468
+
1428
1469
  declare class SpotLight extends SpotLightObject {
1429
1470
  constructor(...options: ConstructorParameters<typeof SpotLightObject>);
1430
1471
  update(delta: number, elapsed: number): void;
@@ -1474,7 +1515,7 @@ export { TWEEN }
1474
1515
 
1475
1516
  export { Tween }
1476
1517
 
1477
- export declare const VERSION = "0.32.7";
1518
+ export declare const VERSION = "0.32.8";
1478
1519
 
1479
1520
  export declare interface VisSceneDocument extends SceneDocumentMarker {
1480
1521
  entrySceneId: string;
@@ -1487,6 +1528,17 @@ export declare interface VisSceneDocument extends SceneDocumentMarker {
1487
1528
  s?: string;
1488
1529
  }
1489
1530
 
1531
+ export declare interface VisSceneManifest {
1532
+ format: typeof SCENE_MANIFEST_FORMAT;
1533
+ schemaVersion: typeof SCENE_MANIFEST_SCHEMA_VERSION;
1534
+ entrySceneId: string;
1535
+ scenes: SceneManifestEntry[];
1536
+ c?: Record<string, any>;
1537
+ d?: Record<string, any>;
1538
+ h?: Record<string, any>;
1539
+ s?: string;
1540
+ }
1541
+
1490
1542
  export { }
1491
1543
 
1492
1544