bruce-cesium 1.9.3 → 1.9.4

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 (24) hide show
  1. package/dist/bruce-cesium.es5.js +146 -55
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +145 -54
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/rendering/entity-render-engine.js +6 -6
  6. package/dist/lib/rendering/entity-render-engine.js.map +1 -1
  7. package/dist/lib/rendering/menu-item-manager.js +7 -3
  8. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  9. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +51 -17
  10. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  11. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +11 -3
  12. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
  13. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +20 -8
  14. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  15. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +50 -17
  16. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  17. package/dist/lib/rendering/render-managers/render-manager.js.map +1 -1
  18. package/dist/types/rendering/menu-item-manager.d.ts +3 -2
  19. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +3 -1
  20. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +2 -1
  21. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +2 -1
  22. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +3 -1
  23. package/dist/types/rendering/render-managers/render-manager.d.ts +1 -0
  24. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, DelayQueue, BatchedDataGetter, EntityRelationType, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, EntityRelation, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, ProgramKey, Camera } from 'bruce-models';
2
2
  import * as Cesium from 'cesium';
3
- import { Cartesian2, Cartographic, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, Entity, Primitive, Cesium3DTileFeature, HeightReference, EllipsoidTerrainProvider, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, SceneMode, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, KmlDataSource, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, OrthographicFrustum, JulianDate, NearFarScalar, EllipsoidGeodesic, sampleTerrainMostDetailed, Cesium3DTileset, Matrix4, Matrix3, IonResource, PolygonPipeline, ColorMaterialProperty, EasingFunction, GeometryInstance } from 'cesium';
3
+ import { Cartesian2, Cartographic, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, Entity, Primitive, Cesium3DTileFeature, HeightReference, EllipsoidTerrainProvider, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, SceneMode, HeadingPitchRange, Cesium3DTileColorBlendMode, Cesium3DTileStyle, createOsmBuildings, KmlDataSource, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, Cesium3DTileset, Matrix4, Matrix3, IonResource, PolygonPipeline, OrthographicFrustum, JulianDate, NearFarScalar, ColorMaterialProperty, EasingFunction, GeometryInstance, EllipsoidGeodesic, sampleTerrainMostDetailed } from 'cesium';
4
4
 
5
5
  var TIME_LAG = 300;
6
6
  var POSITION_CHECK_TIMER = 950;
@@ -1535,12 +1535,14 @@ function getStyle(api, entity, styleId) {
1535
1535
  });
1536
1536
  });
1537
1537
  }
1538
+ function shouldApplyFlatFix(terrain) {
1539
+ return terrain instanceof EllipsoidTerrainProvider;
1540
+ }
1538
1541
  function getRenderGroupId(zoomItem, terrain) {
1539
- var isFlatTerrain = terrain instanceof EllipsoidTerrainProvider;
1540
1542
  if (!zoomItem) {
1541
1543
  return null;
1542
1544
  }
1543
- return zoomItem.MinZoom + "-" + zoomItem.MaxZoom + "-" + isFlatTerrain;
1545
+ return zoomItem.MinZoom + "-" + zoomItem.MaxZoom + "-" + shouldApplyFlatFix(terrain);
1544
1546
  }
1545
1547
  var _fileValidationCache = {};
1546
1548
  var EntityRenderEngine;
@@ -2070,8 +2072,7 @@ var EntityRenderEngine;
2070
2072
  var flattenPoints = false;
2071
2073
  // We gain a lot of performance when not clamping.
2072
2074
  // If there is no terrain we can safely not clamp.
2073
- if (heightRef == HeightReference.CLAMP_TO_GROUND &&
2074
- ((_b = params.viewer) === null || _b === void 0 ? void 0 : _b.terrainProvider) instanceof EllipsoidTerrainProvider) {
2075
+ if (heightRef == HeightReference.CLAMP_TO_GROUND && shouldApplyFlatFix((_b = params.viewer) === null || _b === void 0 ? void 0 : _b.terrainProvider)) {
2075
2076
  heightRef = HeightReference.NONE;
2076
2077
  flattenPoints = true;
2077
2078
  }
@@ -2207,8 +2208,7 @@ var EntityRenderEngine;
2207
2208
  var extrusion = getPolygonExtrusion(entity, params.tags, outerRing, posses, heightRef, style);
2208
2209
  posses = extrusion.posses;
2209
2210
  var flattenPoints = false;
2210
- if (heightRef == HeightReference.CLAMP_TO_GROUND &&
2211
- ((_b = params.viewer) === null || _b === void 0 ? void 0 : _b.terrainProvider) instanceof EllipsoidTerrainProvider) {
2211
+ if (heightRef == HeightReference.CLAMP_TO_GROUND && shouldApplyFlatFix((_b = params.viewer) === null || _b === void 0 ? void 0 : _b.terrainProvider)) {
2212
2212
  heightRef = HeightReference.NONE;
2213
2213
  flattenPoints = true;
2214
2214
  }
@@ -2670,11 +2670,14 @@ var EntitiesRenderManager;
2670
2670
  };
2671
2671
  Manager.prototype.ReRender = function (params) {
2672
2672
  return __awaiter(this, void 0, void 0, function () {
2673
- var entityIds, force, data, e_1;
2673
+ var entityIds, force, entities, data, e_1;
2674
2674
  return __generator(this, function (_a) {
2675
2675
  switch (_a.label) {
2676
2676
  case 0:
2677
- entityIds = params.entityIds, force = params.force;
2677
+ entityIds = params.entityIds, force = params.force, entities = params.entities;
2678
+ if (entities && !entityIds) {
2679
+ entityIds = entities.map(function (x) { var _a; return (_a = x.Bruce) === null || _a === void 0 ? void 0 : _a.ID; });
2680
+ }
2678
2681
  if (entityIds == null) {
2679
2682
  entityIds = Object.keys(this.renderedEntities);
2680
2683
  }
@@ -2682,8 +2685,13 @@ var EntitiesRenderManager;
2682
2685
  entityIds: entityIds,
2683
2686
  menuItemIds: [this.item.id]
2684
2687
  });
2688
+ if (entities === null || entities === void 0 ? void 0 : entities.length) {
2689
+ entities = [].concat(entities).filter(function (x) { var _a; return entityIds.includes((_a = x.Bruce) === null || _a === void 0 ? void 0 : _a.ID); });
2690
+ }
2685
2691
  if (!force) return [3 /*break*/, 5];
2686
- _a.label = 1;
2692
+ if (!(entities === null || entities === void 0 ? void 0 : entities.length)) return [3 /*break*/, 1];
2693
+ this.renderEntities(entities, true);
2694
+ return [3 /*break*/, 4];
2687
2695
  case 1:
2688
2696
  _a.trys.push([1, 3, , 4]);
2689
2697
  return [4 /*yield*/, Entity$1.GetListByIds({
@@ -2698,12 +2706,16 @@ var EntitiesRenderManager;
2698
2706
  e_1 = _a.sent();
2699
2707
  console.error(e_1);
2700
2708
  return [3 /*break*/, 4];
2701
- case 4: return [3 /*break*/, 7];
2702
- case 5: return [4 /*yield*/, this.doEntityCheck(entityIds)];
2703
- case 6:
2709
+ case 4: return [3 /*break*/, 8];
2710
+ case 5:
2711
+ if (!(entities === null || entities === void 0 ? void 0 : entities.length)) return [3 /*break*/, 6];
2712
+ this.distributeForRender(entities);
2713
+ return [3 /*break*/, 8];
2714
+ case 6: return [4 /*yield*/, this.doEntityCheck(entityIds)];
2715
+ case 7:
2704
2716
  _a.sent();
2705
- _a.label = 7;
2706
- case 7: return [2 /*return*/];
2717
+ _a.label = 8;
2718
+ case 8: return [2 /*return*/];
2707
2719
  }
2708
2720
  });
2709
2721
  });
@@ -2920,10 +2932,13 @@ var EntitiesLoadedRenderManager;
2920
2932
  };
2921
2933
  Manager.prototype.ReRender = function (params) {
2922
2934
  return __awaiter(this, void 0, void 0, function () {
2923
- var entityIds, force;
2935
+ var entityIds, force, entities;
2924
2936
  var _this = this;
2925
2937
  return __generator(this, function (_a) {
2926
- entityIds = params.entityIds, force = params.force;
2938
+ entityIds = params.entityIds, force = params.force, entities = params.entities;
2939
+ if (entities && !entityIds) {
2940
+ entityIds = entities.map(function (x) { var _a; return (_a = x.Bruce) === null || _a === void 0 ? void 0 : _a.ID; });
2941
+ }
2927
2942
  if (entityIds == null) {
2928
2943
  entityIds = Object.keys(this.renderedEntities);
2929
2944
  }
@@ -2938,7 +2953,12 @@ var EntitiesLoadedRenderManager;
2938
2953
  entityIds: entityIds,
2939
2954
  menuItemIds: [this.item.id]
2940
2955
  });
2941
- this.doEntityCheck(entityIds, force);
2956
+ if (entities === null || entities === void 0 ? void 0 : entities.length) {
2957
+ this.onGetterUpdate([].concat(entities).filter(function (x) { var _a; return entityIds.includes((_a = x.Bruce) === null || _a === void 0 ? void 0 : _a.ID); }), force);
2958
+ }
2959
+ else {
2960
+ this.doEntityCheck(entityIds, force);
2961
+ }
2942
2962
  return [2 /*return*/];
2943
2963
  });
2944
2964
  });
@@ -4423,10 +4443,13 @@ var EntitiesIdsRenderManager;
4423
4443
  };
4424
4444
  Manager.prototype.ReRender = function (params) {
4425
4445
  return __awaiter(this, void 0, void 0, function () {
4426
- var entityIds, force;
4446
+ var entityIds, force, entities;
4427
4447
  var _this = this;
4428
4448
  return __generator(this, function (_a) {
4429
- entityIds = params.entityIds, force = params.force;
4449
+ entityIds = params.entityIds, force = params.force, entities = params.entities;
4450
+ if (entities && !entityIds) {
4451
+ entityIds = entities.map(function (x) { var _a; return (_a = x.Bruce) === null || _a === void 0 ? void 0 : _a.ID; });
4452
+ }
4430
4453
  if (entityIds == null) {
4431
4454
  entityIds = Object.keys(this.renderedEntities);
4432
4455
  }
@@ -4441,32 +4464,63 @@ var EntitiesIdsRenderManager;
4441
4464
  entityIds: entityIds,
4442
4465
  menuItemIds: [this.item.id]
4443
4466
  });
4444
- this.onGetterUpdate(entityIds, force);
4467
+ if (entities === null || entities === void 0 ? void 0 : entities.length) {
4468
+ this.renderEntities([].concat(entities).filter(function (x) { var _a; return entityIds.includes((_a = x.Bruce) === null || _a === void 0 ? void 0 : _a.ID); }), force);
4469
+ }
4470
+ else {
4471
+ this.onGetterUpdate(entityIds, force);
4472
+ }
4445
4473
  return [2 /*return*/];
4446
4474
  });
4447
4475
  });
4448
4476
  };
4449
4477
  Manager.prototype.onGetterUpdate = function (entityIds, force) {
4450
- var _a;
4451
4478
  if (force === void 0) { force = false; }
4452
4479
  return __awaiter(this, void 0, void 0, function () {
4453
- var api, entities, cEntities, i, entity, id, cEntity, visual, e_1;
4454
- return __generator(this, function (_b) {
4455
- switch (_b.label) {
4480
+ var api, entities, e_1;
4481
+ return __generator(this, function (_a) {
4482
+ switch (_a.label) {
4456
4483
  case 0:
4457
4484
  if (this.disposed || this.viewer.isDestroyed()) {
4458
4485
  return [2 /*return*/];
4459
4486
  }
4460
- _b.label = 1;
4487
+ _a.label = 1;
4461
4488
  case 1:
4462
- _b.trys.push([1, 4, , 5]);
4489
+ _a.trys.push([1, 4, , 5]);
4463
4490
  api = this.apiGetter.getApi();
4464
4491
  return [4 /*yield*/, Entity$1.GetListByIds({
4465
4492
  api: api,
4466
4493
  entityIds: entityIds
4467
4494
  })];
4468
4495
  case 2:
4469
- entities = (_b.sent()).entities;
4496
+ entities = (_a.sent()).entities;
4497
+ return [4 /*yield*/, this.renderEntities(entities, force)];
4498
+ case 3:
4499
+ _a.sent();
4500
+ return [3 /*break*/, 5];
4501
+ case 4:
4502
+ e_1 = _a.sent();
4503
+ console.error(e_1);
4504
+ return [3 /*break*/, 5];
4505
+ case 5: return [2 /*return*/];
4506
+ }
4507
+ });
4508
+ });
4509
+ };
4510
+ Manager.prototype.renderEntities = function (entities, force) {
4511
+ var _a;
4512
+ if (force === void 0) { force = false; }
4513
+ return __awaiter(this, void 0, void 0, function () {
4514
+ var cEntities, i, entity, id, cEntity, visual, e_2;
4515
+ return __generator(this, function (_b) {
4516
+ switch (_b.label) {
4517
+ case 0:
4518
+ if (this.disposed || this.viewer.isDestroyed()) {
4519
+ return [2 /*return*/];
4520
+ }
4521
+ _b.label = 1;
4522
+ case 1:
4523
+ _b.trys.push([1, 3, , 4]);
4470
4524
  return [4 /*yield*/, EntityRenderEngine.Render({
4471
4525
  viewer: this.viewer,
4472
4526
  apiGetter: this.apiGetter,
@@ -4476,7 +4530,7 @@ var EntitiesIdsRenderManager;
4476
4530
  zoomControl: this.item.CameraZoomSettings,
4477
4531
  force: force
4478
4532
  })];
4479
- case 3:
4533
+ case 2:
4480
4534
  cEntities = _b.sent();
4481
4535
  for (i = 0; i < entities.length; i++) {
4482
4536
  entity = entities[i];
@@ -4509,12 +4563,12 @@ var EntitiesIdsRenderManager;
4509
4563
  }
4510
4564
  }
4511
4565
  this.viewer.scene.requestRender();
4512
- return [3 /*break*/, 5];
4513
- case 4:
4514
- e_1 = _b.sent();
4515
- console.error(e_1);
4516
- return [3 /*break*/, 5];
4517
- case 5: return [2 /*return*/];
4566
+ return [3 /*break*/, 4];
4567
+ case 3:
4568
+ e_2 = _b.sent();
4569
+ console.error(e_2);
4570
+ return [3 /*break*/, 4];
4571
+ case 4: return [2 /*return*/];
4518
4572
  }
4519
4573
  });
4520
4574
  });
@@ -4573,11 +4627,15 @@ var EntityRenderManager;
4573
4627
  };
4574
4628
  Manager.prototype.ReRender = function (params) {
4575
4629
  return __awaiter(this, void 0, void 0, function () {
4576
- var entityIds, force;
4630
+ var entityIds, force, entities;
4631
+ var _this = this;
4577
4632
  return __generator(this, function (_a) {
4578
4633
  switch (_a.label) {
4579
4634
  case 0:
4580
- entityIds = params.entityIds, force = params.force;
4635
+ entityIds = params.entityIds, force = params.force, entities = params.entities;
4636
+ if (entities && !entityIds) {
4637
+ entityIds = entities.map(function (x) { var _a; return (_a = x.Bruce) === null || _a === void 0 ? void 0 : _a.ID; });
4638
+ }
4581
4639
  if (entityIds && !entityIds.includes(this.item.BruceEntity.EntityId)) {
4582
4640
  return [2 /*return*/];
4583
4641
  }
@@ -4585,23 +4643,28 @@ var EntityRenderManager;
4585
4643
  entityIds: entityIds,
4586
4644
  menuItemIds: [this.item.id]
4587
4645
  });
4588
- return [4 /*yield*/, this.onGetterUpdate(this.item.BruceEntity.EntityId, force)];
4646
+ if (!(entities === null || entities === void 0 ? void 0 : entities.length)) return [3 /*break*/, 2];
4647
+ return [4 /*yield*/, this.renderEntity(entities.find(function (x) { var _a; return ((_a = x.Bruce) === null || _a === void 0 ? void 0 : _a.ID) == _this.item.BruceEntity.EntityId; }), force)];
4589
4648
  case 1:
4590
4649
  _a.sent();
4591
- return [2 /*return*/];
4650
+ return [3 /*break*/, 4];
4651
+ case 2: return [4 /*yield*/, this.onGetterUpdate(this.item.BruceEntity.EntityId, force)];
4652
+ case 3:
4653
+ _a.sent();
4654
+ _a.label = 4;
4655
+ case 4: return [2 /*return*/];
4592
4656
  }
4593
4657
  });
4594
4658
  });
4595
4659
  };
4596
4660
  Manager.prototype.onGetterUpdate = function (id, force) {
4597
- var _a;
4598
4661
  if (force === void 0) { force = false; }
4599
4662
  return __awaiter(this, void 0, void 0, function () {
4600
- var api, entity, cEntities, cEntity, visual, e_1;
4601
- return __generator(this, function (_b) {
4602
- switch (_b.label) {
4663
+ var api, entity, e_1;
4664
+ return __generator(this, function (_a) {
4665
+ switch (_a.label) {
4603
4666
  case 0:
4604
- _b.trys.push([0, 3, , 4]);
4667
+ _a.trys.push([0, 2, , 3]);
4605
4668
  if (this.disposed || this.viewer.isDestroyed()) {
4606
4669
  return [2 /*return*/];
4607
4670
  }
@@ -4611,7 +4674,31 @@ var EntityRenderManager;
4611
4674
  entityId: id
4612
4675
  })];
4613
4676
  case 1:
4614
- entity = (_b.sent()).entity;
4677
+ entity = (_a.sent()).entity;
4678
+ this.renderEntity(entity, force);
4679
+ return [3 /*break*/, 3];
4680
+ case 2:
4681
+ e_1 = _a.sent();
4682
+ console.error(e_1);
4683
+ return [3 /*break*/, 3];
4684
+ case 3: return [2 /*return*/];
4685
+ }
4686
+ });
4687
+ });
4688
+ };
4689
+ Manager.prototype.renderEntity = function (entity, force) {
4690
+ var _a;
4691
+ if (force === void 0) { force = false; }
4692
+ return __awaiter(this, void 0, void 0, function () {
4693
+ var id, cEntities, cEntity, visual, e_2;
4694
+ return __generator(this, function (_b) {
4695
+ switch (_b.label) {
4696
+ case 0:
4697
+ _b.trys.push([0, 2, , 3]);
4698
+ if (this.disposed || this.viewer.isDestroyed()) {
4699
+ return [2 /*return*/];
4700
+ }
4701
+ id = entity.Bruce.ID;
4615
4702
  return [4 /*yield*/, EntityRenderEngine.Render({
4616
4703
  viewer: this.viewer,
4617
4704
  apiGetter: this.apiGetter,
@@ -4621,7 +4708,7 @@ var EntityRenderManager;
4621
4708
  zoomControl: this.item.CameraZoomSettings,
4622
4709
  force: force
4623
4710
  })];
4624
- case 2:
4711
+ case 1:
4625
4712
  cEntities = _b.sent();
4626
4713
  cEntity = cEntities[id];
4627
4714
  if (cEntity) {
@@ -4649,12 +4736,12 @@ var EntityRenderManager;
4649
4736
  });
4650
4737
  }
4651
4738
  this.viewer.scene.requestRender();
4652
- return [3 /*break*/, 4];
4653
- case 3:
4654
- e_1 = _b.sent();
4655
- console.error(e_1);
4656
- return [3 /*break*/, 4];
4657
- case 4: return [2 /*return*/];
4739
+ return [3 /*break*/, 3];
4740
+ case 2:
4741
+ e_2 = _b.sent();
4742
+ console.error(e_2);
4743
+ return [3 /*break*/, 3];
4744
+ case 3: return [2 /*return*/];
4658
4745
  }
4659
4746
  });
4660
4747
  });
@@ -7379,14 +7466,17 @@ var MenuItemManager;
7379
7466
  */
7380
7467
  Manager.prototype.ReRender = function (params) {
7381
7468
  return __awaiter(this, void 0, void 0, function () {
7382
- var entityIds, menuItemIds, force, items, i, item;
7469
+ var entityIds, entities, menuItemIds, force, items, i, item;
7383
7470
  return __generator(this, function (_a) {
7384
7471
  switch (_a.label) {
7385
7472
  case 0:
7386
- entityIds = params.entityIds, menuItemIds = params.menuItemIds, force = params.force;
7387
- if (!(entityIds === null || entityIds === void 0 ? void 0 : entityIds.length)) {
7473
+ entityIds = params.entityIds, entities = params.entities, menuItemIds = params.menuItemIds, force = params.force;
7474
+ if (!(entityIds === null || entityIds === void 0 ? void 0 : entityIds.length) && !(entities === null || entities === void 0 ? void 0 : entities.length)) {
7388
7475
  return [2 /*return*/];
7389
7476
  }
7477
+ if (!entityIds && entities) {
7478
+ entityIds = entities.map(function (x) { var _a; return (_a = x.Bruce) === null || _a === void 0 ? void 0 : _a.ID; });
7479
+ }
7390
7480
  items = (menuItemIds === null || menuItemIds === void 0 ? void 0 : menuItemIds.length) ? this.items.filter(function (x) { return menuItemIds.includes(x.id); }) : this.items;
7391
7481
  i = 0;
7392
7482
  _a.label = 1;
@@ -7396,6 +7486,7 @@ var MenuItemManager;
7396
7486
  if (!item.renderManager) return [3 /*break*/, 3];
7397
7487
  return [4 /*yield*/, item.renderManager.ReRender({
7398
7488
  entityIds: entityIds,
7489
+ entities: entities,
7399
7490
  force: force
7400
7491
  })];
7401
7492
  case 2: