@vertexvis/viewer 0.18.0 → 0.18.1-testing.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.
Files changed (59) hide show
  1. package/dist/cjs/{config-ee5af2fe.js → config-ace9f5d5.js} +2 -1
  2. package/dist/cjs/config-ace9f5d5.js.map +1 -0
  3. package/dist/cjs/{controller-6914028a.js → controller-ee852f01.js} +12 -3
  4. package/dist/cjs/controller-ee852f01.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +1 -1
  6. package/dist/cjs/vertex-scene-tree.cjs.entry.js +2 -2
  7. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +1 -1
  8. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +1 -1
  9. package/dist/cjs/vertex-viewer.cjs.entry.js +103 -35
  10. package/dist/cjs/vertex-viewer.cjs.entry.js.map +1 -1
  11. package/dist/collection/components/scene-tree/lib/controller.js +11 -2
  12. package/dist/collection/components/scene-tree/lib/controller.js.map +1 -1
  13. package/dist/collection/lib/interactions/interactionApi.js +0 -34
  14. package/dist/collection/lib/interactions/interactionApi.js.map +1 -1
  15. package/dist/collection/lib/interactions/interactionApiPerspective.js +103 -1
  16. package/dist/collection/lib/interactions/interactionApiPerspective.js.map +1 -1
  17. package/dist/collection/lib/types/interactions.js +1 -0
  18. package/dist/collection/lib/types/interactions.js.map +1 -1
  19. package/dist/custom-elements/index.js +114 -36
  20. package/dist/custom-elements/index.js.map +1 -1
  21. package/dist/esm/{config-65fd1bba.js → config-2b2e3f66.js} +2 -1
  22. package/dist/esm/config-2b2e3f66.js.map +1 -0
  23. package/dist/esm/{controller-1f6c87ab.js → controller-ea698f9b.js} +12 -3
  24. package/dist/esm/controller-ea698f9b.js.map +1 -0
  25. package/dist/esm/index.js +1 -1
  26. package/dist/esm/index.mjs +1 -1
  27. package/dist/esm/vertex-scene-tree.entry.js +2 -2
  28. package/dist/esm/vertex-viewer-measurement-precise.entry.js +1 -1
  29. package/dist/esm/vertex-viewer-pin-group.entry.js +1 -1
  30. package/dist/esm/vertex-viewer.entry.js +103 -35
  31. package/dist/esm/vertex-viewer.entry.js.map +1 -1
  32. package/dist/types/components/scene-tree/lib/controller.d.ts +1 -0
  33. package/dist/types/lib/interactions/interactionApi.d.ts +1 -1
  34. package/dist/types/lib/interactions/interactionApiPerspective.d.ts +3 -0
  35. package/dist/types/lib/types/interactions.d.ts +7 -0
  36. package/dist/viewer/index.esm.js +1 -1
  37. package/dist/viewer/p-0de95c4d.js +5 -0
  38. package/dist/viewer/p-0de95c4d.js.map +1 -0
  39. package/dist/viewer/{p-e2e7d01b.entry.js → p-2cca6daa.entry.js} +2 -2
  40. package/dist/viewer/{p-d8c70701.entry.js → p-2ce1d5a7.entry.js} +2 -2
  41. package/dist/viewer/{p-31c3b8d6.entry.js → p-4225576d.entry.js} +2 -2
  42. package/dist/viewer/p-5145f091.entry.js +5 -0
  43. package/dist/viewer/p-5145f091.entry.js.map +1 -0
  44. package/dist/viewer/{p-931247b6.js → p-bb131c4a.js} +2 -2
  45. package/dist/viewer/p-bb131c4a.js.map +1 -0
  46. package/dist/viewer/viewer.esm.js +1 -1
  47. package/package.json +7 -7
  48. package/dist/cjs/config-ee5af2fe.js.map +0 -1
  49. package/dist/cjs/controller-6914028a.js.map +0 -1
  50. package/dist/esm/config-65fd1bba.js.map +0 -1
  51. package/dist/esm/controller-1f6c87ab.js.map +0 -1
  52. package/dist/viewer/p-089d11bf.js +0 -5
  53. package/dist/viewer/p-089d11bf.js.map +0 -1
  54. package/dist/viewer/p-931247b6.js.map +0 -1
  55. package/dist/viewer/p-f1e718b4.entry.js +0 -5
  56. package/dist/viewer/p-f1e718b4.entry.js.map +0 -1
  57. /package/dist/viewer/{p-e2e7d01b.entry.js.map → p-2cca6daa.entry.js.map} +0 -0
  58. /package/dist/viewer/{p-d8c70701.entry.js.map → p-2ce1d5a7.entry.js.map} +0 -0
  59. /package/dist/viewer/{p-31c3b8d6.entry.js.map → p-4225576d.entry.js.map} +0 -0
@@ -26,6 +26,7 @@ const defaultInteractionConfig = {
26
26
  finePointerThreshold: 1,
27
27
  coarsePointerThreshold: 3,
28
28
  interactionDelay: 75,
29
+ useMinimumPerspectiveZoomDistance: true,
29
30
  };
30
31
 
31
32
  const config = {
@@ -80,4 +81,4 @@ function parseConfig(environment = 'platprod', config) {
80
81
 
81
82
  exports.parseConfig = parseConfig;
82
83
 
83
- //# sourceMappingURL=config-ee5af2fe.js.map
84
+ //# sourceMappingURL=config-ace9f5d5.js.map
@@ -0,0 +1 @@
1
+ {"file":"config-ace9f5d5.js","mappings":";;;;;;;;;;AAAA,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAgBhC,MAAM,sBAAsB,GAAoB;EACrD,UAAU,EAAE,0BAA0B;CACvC;;AC0BM,MAAM,YAAY,GAAU;EACjC,qBAAqB,EAAE,IAAI;EAC3B,iBAAiB,EAAE,IAAI;EACvB,aAAa,EAAE,KAAK;EACpB,YAAY,EAAE,KAAK;EACnB,eAAe,EAAE,KAAK;EACtB,kCAAkC,EAAE,IAAI;CACzC;;ACrBM,MAAM,wBAAwB,GAAsB;EACzD,oBAAoB,EAAE,CAAC;EACvB,sBAAsB,EAAE,CAAC;EACzB,gBAAgB,EAAE,EAAE;EACpB,iCAAiC,EAAE,IAAI;CACxC;;ACAD,MAAM,MAAM,GAAW;EACrB,OAAO,EAAE;IACP,OAAO,EAAE,wCAAwC;IACjD,aAAa,EAAE,oCAAoC;IACnD,aAAa,EAAE,2CAA2C;IAC1D,aAAa,EAAE,sCAAsC;GACtD;EACD,KAAK,EAAEA,YAAkB;EACzB,MAAM,EAAEC,yBAAyB;EACjC,SAAS,EAAEC,sBAAgC;EAC3C,YAAY,EAAEC,wBAAqC;EACnD,0BAA0B,EAAE,EAAE;EAC9B,8BAA8B,EAAE,EAAE;EAClC,6BAA6B,EAAE,EAAE;CAClC,CAAC;AAEF,MAAM,aAAa,mCACd,MAAM,KACT,OAAO,EAAE;IACP,OAAO,EAAE,uCAAuC;IAChD,aAAa,EAAE,mCAAmC;IAClD,aAAa,EAAE,0CAA0C;IACzD,aAAa,EAAE,qCAAqC;GACrD,GACF,CAAC;AAEF,MAAM,iBAAiB,mCAClB,MAAM,KACT,OAAO,EAAE;IACP,OAAO,EAAE,2CAA2C;IACpD,aAAa,EAAE,uCAAuC;IACtD,aAAa,EAAE,8CAA8C;IAC7D,aAAa,EAAE,yCAAyC;GACzD,GACF,CAAC;AAEF,SAAS,oBAAoB,CAAC,WAAwB;EACpD,QAAQ,WAAW;IACjB,KAAK,SAAS;MACZ,OAAO,aAAa,CAAC;IACvB,KAAK,aAAa;MAChB,OAAO,iBAAiB,CAAC;IAC3B;MACE,OAAO,MAAM,CAAC;GACjB;AACH,CAAC;SAEe,WAAW,CACzB,cAA2B,UAAU,EACrC,MAA+B;EAE/B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;IAC9B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAkB,CAAC;GAC9C;EAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;EAEpD,IAAI,MAAM,IAAI,IAAI,EAAE;IAClB,OAAO,SAAS,CAAC;GAClB;OAAM;IACL,OAAOC,mBAAO,CAAC,QAAQ,mBAAM,MAAM,GAAI,SAAS,CAAC,CAAC;GACnD;AACH;;;;","names":["Flags.defaultFlags","Events.defaultEventConfig","Animation.defaultAnimationConfig","Interactions.defaultInteractionConfig","Objects"],"sources":["./src/lib/types/animation.ts","./src/lib/types/flags.ts","./src/lib/types/interactions.ts","./src/lib/config.ts"],"sourcesContent":["const DEFAULT_ANIMATION_DURATION = 500;\n\nexport interface Animation {\n milliseconds: number;\n}\n\nexport function create(data: Partial<Animation> = {}): Animation {\n return {\n milliseconds: data.milliseconds || DEFAULT_ANIMATION_DURATION,\n };\n}\n\nexport interface AnimationConfig {\n durationMs: number;\n}\n\nexport const defaultAnimationConfig: AnimationConfig = {\n durationMs: DEFAULT_ANIMATION_DURATION,\n};\n","import { Objects } from '@vertexvis/utils';\n\ntype Flag =\n /**\n * Enables or disables a throttling of image delivery based on detected\n * network conditions.\n */\n | 'throttleFrameDelivery'\n\n /**\n * Enables or disables automatic quality adjustments of rendered frames to\n * improve the performance of delivering frames to the client.\n */\n | 'adaptiveRendering'\n\n /**\n * Enables or disables logging of WS message payloads.\n */\n | 'logWsMessages'\n\n /**\n * Toggles the logging of frame rates.\n */\n | 'logFrameRate'\n\n /**\n * Enables or disables the letterboxing of frames when the host dimensions\n * are larger than the supported maximum image size (1080p). By default\n * this option is disabled, and images will be scaled up to match the host.\n */\n | 'letterboxFrames'\n\n /**\n * Enables or disables the use of the `grpc.WebsocketTransport` for streaming\n * RPCs. By default this transport will be used, and streaming messages will\n * be sent over WebSocket.\n */\n | 'grpcUseStreamingWebSocketTransport';\n/**\n * A set of experimental features that can be enabled through the viewer's\n * config.\n */\nexport type Flags = { [K in Flag]: boolean };\n\nexport const defaultFlags: Flags = {\n throttleFrameDelivery: true,\n adaptiveRendering: true,\n logWsMessages: false,\n logFrameRate: false,\n letterboxFrames: false,\n grpcUseStreamingWebSocketTransport: true,\n};\n\nexport function createFlags(\n features: Partial<Flags>,\n fallbacks: Partial<Flags> = defaultFlags\n): Flags {\n return Objects.defaults(features, fallbacks, defaultFlags);\n}\n","export interface InteractionConfig {\n /**\n * The amount of movement required with a fine (mouse, trackpad, etc) pointer\n * input before an interaction is considered a movement that will update the\n * camera. This threshold is always scaled up based on the device's pixel ratio.\n */\n finePointerThreshold: number;\n\n /**\n * The amount of movement required with a coarse (touch, stylus, etc) pointer\n * input before an interaction is considered a movement that will update the\n * camera. This threshold is always scaled up based on the device's pixel ratio.\n */\n coarsePointerThreshold: number;\n\n /**\n * The amount of time before a movement is considered an interaction and will\n * update the camera.\n */\n interactionDelay: number;\n\n /**\n * Whether the `zoomCameraToPoint` interaction through the `InteractionApiPerspective`\n * will enforce a minimum distance when moving the camera. When set, the camera will be\n * able to move through geometry under the cursor, rather than being restricted by the\n * point under the cursor. Defaults to `true`.\n */\n useMinimumPerspectiveZoomDistance: boolean;\n}\n\nexport const defaultInteractionConfig: InteractionConfig = {\n finePointerThreshold: 1,\n coarsePointerThreshold: 3,\n interactionDelay: 75,\n useMinimumPerspectiveZoomDistance: true,\n};\n","import { FrameDeliverySettings } from '@vertexvis/stream-api';\nimport {\n AdaptiveRenderingSettings,\n QualityOfServiceSettings,\n} from '@vertexvis/stream-api';\nimport { DeepPartial, Objects } from '@vertexvis/utils';\n\nimport { Environment } from './environment';\nimport { Animation, Events, Flags, Interactions } from './types';\n\ninterface NetworkConfig {\n apiHost: string;\n renderingHost: string;\n sceneTreeHost: string;\n sceneViewHost: string;\n}\n\nexport interface Config {\n network: NetworkConfig;\n flags: Flags.Flags;\n events: Events.EventConfig;\n animation: Animation.AnimationConfig;\n interactions: Interactions.InteractionConfig;\n EXPERIMENTAL_frameDelivery: Omit<\n FrameDeliverySettings,\n 'rateLimitingEnabled'\n >;\n EXPERIMENTAL_adaptiveRendering: Omit<AdaptiveRenderingSettings, 'enabled'>;\n EXPERIMENTAL_qualityOfService: QualityOfServiceSettings;\n}\n\nexport type PartialConfig = DeepPartial<Config>;\n\nexport type ConfigProvider = () => Config;\n\nconst config: Config = {\n network: {\n apiHost: 'https://platform.platprod.vertexvis.io',\n renderingHost: 'wss://stream.platprod.vertexvis.io',\n sceneTreeHost: 'https://scene-trees.platprod.vertexvis.io',\n sceneViewHost: 'https://scenes.platprod.vertexvis.io',\n },\n flags: Flags.defaultFlags,\n events: Events.defaultEventConfig,\n animation: Animation.defaultAnimationConfig,\n interactions: Interactions.defaultInteractionConfig,\n EXPERIMENTAL_frameDelivery: {},\n EXPERIMENTAL_adaptiveRendering: {},\n EXPERIMENTAL_qualityOfService: {},\n};\n\nconst platdevConfig: Config = {\n ...config,\n network: {\n apiHost: 'https://platform.platdev.vertexvis.io',\n renderingHost: 'wss://stream.platdev.vertexvis.io',\n sceneTreeHost: 'https://scene-trees.platdev.vertexvis.io',\n sceneViewHost: 'https://scenes.platdev.vertexvis.io',\n },\n};\n\nconst platstagingConfig: Config = {\n ...config,\n network: {\n apiHost: 'https://platform.platstaging.vertexvis.io',\n renderingHost: 'wss://stream.platstaging.vertexvis.io',\n sceneTreeHost: 'https://scene-trees.platstaging.vertexvis.io',\n sceneViewHost: 'https://scenes.platstaging.vertexvis.io',\n },\n};\n\nfunction getEnvironmentConfig(environment: Environment): Config {\n switch (environment) {\n case 'platdev':\n return platdevConfig;\n case 'platstaging':\n return platstagingConfig;\n default:\n return config;\n }\n}\n\nexport function parseConfig(\n environment: Environment = 'platprod',\n config?: string | PartialConfig\n): Config {\n if (typeof config === 'string') {\n config = JSON.parse(config) as PartialConfig;\n }\n\n const envConfig = getEnvironmentConfig(environment);\n\n if (config == null) {\n return envConfig;\n } else {\n return Objects.defaults({ ...config }, envConfig);\n }\n}\n"],"version":3}
@@ -6828,7 +6828,7 @@ class SceneTreeController {
6828
6828
  this.pages = new Map();
6829
6829
  this.activeRowRange = [0, 0];
6830
6830
  this.metadataKeys = [];
6831
- this.debugLogs = false;
6831
+ this.debugLogs = true;
6832
6832
  /**
6833
6833
  * A dispatcher that emits an event whenever the internal state has changed.
6834
6834
  */
@@ -7042,6 +7042,7 @@ class SceneTreeController {
7042
7042
  ? undefined
7043
7043
  : this.state.shouldShowEmptyResults,
7044
7044
  handshakeReceived: reset ? undefined : this.state.handshakeReceived,
7045
+ firstFetchComplete: reset ? undefined : this.state.firstFetchComplete,
7045
7046
  });
7046
7047
  }
7047
7048
  cancel() {
@@ -7334,6 +7335,14 @@ class SceneTreeController {
7334
7335
  if (msg.hasHandshake()) {
7335
7336
  this.clearHandshakeTimer();
7336
7337
  this.updateState(Object.assign(Object.assign({}, this.state), { handshakeReceived: true }));
7338
+ // Verify that we've loaded the first page of the tree when we receive
7339
+ // a handshake in the case that the listener was not fully registered
7340
+ // when a `ListChange` was sent.
7341
+ if (this.state.firstFetchComplete) {
7342
+ this.log('Scene tree did not have the first page before the handshake completed');
7343
+ this.invalidateAfterOffset(0);
7344
+ this.fetchUnloadedPagesInActiveRows();
7345
+ }
7337
7346
  }
7338
7347
  this.startIdleReconnectTimer();
7339
7348
  const { change } = msg.toObject();
@@ -7429,7 +7438,7 @@ class SceneTreeController {
7429
7438
  }
7430
7439
  else {
7431
7440
  this.updateState(Object.assign(Object.assign({}, this.state), { totalRows: totalRows, rows: rows, shouldShowLoading: rows.length === 0 && this.state.shouldShowLoading, shouldShowEmptyResults: this.state.filterTerm != null &&
7432
- (rows.length === 0 || this.state.totalFilteredRows === 0) }));
7441
+ (rows.length === 0 || this.state.totalFilteredRows === 0), firstFetchComplete: true }));
7433
7442
  }
7434
7443
  }
7435
7444
  }
@@ -7620,4 +7629,4 @@ exports.SceneTreeController = SceneTreeController;
7620
7629
  exports.SceneTreeErrorDetails = SceneTreeErrorDetails;
7621
7630
  exports.webSocketSubscriptionTransportFactory = webSocketSubscriptionTransportFactory;
7622
7631
 
7623
- //# sourceMappingURL=controller-6914028a.js.map
7632
+ //# sourceMappingURL=controller-ee852f01.js.map