@vertexvis/viewer 0.11.0 → 0.11.1-canary.3

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 (102) hide show
  1. package/dist/cjs/{browser.esm-17419694.js → browser.esm-8a3aa0c5.js} +18 -1
  2. package/dist/cjs/{cursors-8aaf500f.js → cursors-e0f55f85.js} +1 -1
  3. package/dist/cjs/{orientation-09d0f3ef.js → frameStreaming-c4e37f9b.js} +53 -48
  4. package/dist/cjs/grpc-web-client.umd-855034b8.js +1933 -0
  5. package/dist/cjs/index.cjs.js +9829 -10
  6. package/dist/cjs/{markup-e84a143f.js → markup-de991c25.js} +1 -1
  7. package/dist/cjs/{measurement-4579193b.js → measurement-5defce32.js} +1 -1
  8. package/dist/cjs/{png-decoder-97ea96ba.js → png-decoder-1ae1827c.js} +2 -2
  9. package/dist/cjs/{scene-4397373a.js → scene-5b5c52a9.js} +23402 -14682
  10. package/dist/cjs/{utils-414e6cfe.js → utils-eba9159b.js} +2 -2
  11. package/dist/cjs/vertex-scene-tree.cjs.entry.js +610 -2362
  12. package/dist/cjs/vertex-viewer-dom-element_3.cjs.entry.js +2 -2
  13. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +2 -2
  14. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +2 -2
  15. package/dist/cjs/vertex-viewer-measurement-distance_2.cjs.entry.js +5 -5
  16. package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +3 -3
  17. package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +3 -3
  18. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +5 -5
  19. package/dist/cjs/vertex-viewer.cjs.entry.js +9 -9
  20. package/dist/collection/index.js +2 -1
  21. package/dist/collection/lib/grpc.js +23 -0
  22. package/dist/collection/lib/mappers/frameStreaming.js +46 -0
  23. package/dist/collection/lib/mappers/geometry.js +8 -0
  24. package/dist/collection/lib/mappers/index.js +4 -0
  25. package/dist/collection/lib/mappers/material.js +3 -0
  26. package/dist/collection/lib/measurement/controller.js +68 -0
  27. package/dist/collection/lib/measurement/index.js +3 -0
  28. package/dist/collection/lib/measurement/mapper.js +28 -0
  29. package/dist/collection/lib/measurement/model.js +163 -0
  30. package/dist/collection/lib/types/depthBuffer.js +1 -1
  31. package/dist/collection/lib/types/stencilBuffer.js +1 -1
  32. package/dist/collection/testing/grpc.js +19 -0
  33. package/dist/collection/testing/index.js +5 -1
  34. package/dist/collection/testing/random.js +3 -0
  35. package/dist/collection/testing/sceneTree.js +62 -0
  36. package/dist/collection/testing/sceneView.js +56 -0
  37. package/dist/collection/workers/png-decoder.js +1 -1
  38. package/dist/esm/{browser.esm-e4fb17dc.js → browser.esm-a4b42432.js} +18 -1
  39. package/dist/esm/{cursors-00835249.js → cursors-d1c3b74a.js} +1 -1
  40. package/dist/esm/{orientation-bb34b652.js → frameStreaming-eb004a20.js} +53 -50
  41. package/dist/esm/grpc-web-client.umd-a3b4630b.js +1929 -0
  42. package/dist/esm/index.js +9828 -6
  43. package/dist/esm/index.mjs +9828 -6
  44. package/dist/esm/{markup-9b29aa94.js → markup-40e1a892.js} +1 -1
  45. package/dist/esm/{measurement-8430d5d6.js → measurement-4c6f73db.js} +1 -1
  46. package/dist/esm/{png-decoder-c4745070.js → png-decoder-22797a60.js} +2 -2
  47. package/dist/esm/{scene-72760305.js → scene-2e27b939.js} +23400 -14680
  48. package/dist/esm/{utils-f8e0baf7.js → utils-39521b84.js} +2 -2
  49. package/dist/esm/vertex-scene-tree.entry.js +264 -2016
  50. package/dist/esm/vertex-viewer-dom-element_3.entry.js +2 -2
  51. package/dist/esm/vertex-viewer-markup-tool.entry.js +2 -2
  52. package/dist/esm/vertex-viewer-markup.entry.js +2 -2
  53. package/dist/esm/vertex-viewer-measurement-distance_2.entry.js +3 -3
  54. package/dist/esm/vertex-viewer-measurement-tool.entry.js +3 -3
  55. package/dist/esm/vertex-viewer-measurements.entry.js +3 -3
  56. package/dist/esm/vertex-viewer-view-cube.entry.js +2 -2
  57. package/dist/esm/vertex-viewer.entry.js +5 -5
  58. package/dist/types/index.d.ts +1 -0
  59. package/dist/types/lib/grpc.d.ts +7 -0
  60. package/dist/types/lib/{mappers.d.ts → mappers/frameStreaming.d.ts} +2 -8
  61. package/dist/types/lib/mappers/geometry.d.ts +8 -0
  62. package/dist/types/lib/mappers/index.d.ts +3 -0
  63. package/dist/types/lib/mappers/material.d.ts +3 -0
  64. package/dist/types/lib/measurement/controller.d.ts +35 -0
  65. package/dist/types/lib/measurement/index.d.ts +2 -0
  66. package/dist/types/lib/measurement/mapper.d.ts +5 -0
  67. package/dist/types/lib/measurement/model.d.ts +165 -0
  68. package/dist/types/lib/types/depthBuffer.d.ts +2 -2
  69. package/dist/types/lib/types/stencilBuffer.d.ts +2 -2
  70. package/dist/types/testing/grpc.d.ts +2 -0
  71. package/dist/types/testing/index.d.ts +4 -0
  72. package/dist/types/testing/random.d.ts +2 -0
  73. package/dist/types/{components/scene-tree/lib/testing.d.ts → testing/sceneTree.d.ts} +1 -3
  74. package/dist/types/testing/sceneView.d.ts +9 -0
  75. package/dist/types/workers/png-decoder.d.ts +2 -2
  76. package/dist/viewer/index.esm.js +1 -1
  77. package/dist/viewer/{p-5389e9d4.js → p-0b6d3005.js} +1 -1
  78. package/dist/viewer/{p-68aaf1f8.entry.js → p-129e037d.entry.js} +1 -1
  79. package/dist/viewer/{p-1f8a238b.js → p-1690b2b2.js} +1 -1
  80. package/dist/viewer/p-2c5ec4bf.js +4 -0
  81. package/dist/viewer/p-2d28f2da.entry.js +32 -0
  82. package/dist/viewer/{p-f43e8cc2.entry.js → p-3be53969.entry.js} +1 -1
  83. package/dist/viewer/p-407d4fe0.js +4 -0
  84. package/dist/viewer/p-6cbcff5c.js +4 -0
  85. package/dist/viewer/{p-59d075d4.js → p-703dfd26.js} +2 -2
  86. package/dist/viewer/{p-f75436be.entry.js → p-8d0f8c4f.entry.js} +1 -1
  87. package/dist/viewer/{p-d42a482c.js → p-9e05e19c.js} +1 -1
  88. package/dist/viewer/{p-bc9e6919.entry.js → p-a7ba5406.entry.js} +1 -1
  89. package/dist/viewer/{p-c818c80e.entry.js → p-b5452cff.entry.js} +1 -1
  90. package/dist/viewer/p-c35c5596.entry.js +4 -0
  91. package/dist/viewer/{p-1c772ec1.entry.js → p-c5349b1e.entry.js} +1 -1
  92. package/dist/viewer/{p-012fb54f.js → p-ced8dc97.js} +1 -1
  93. package/dist/viewer/{p-79c45c02.entry.js → p-e5d73077.entry.js} +1 -1
  94. package/dist/viewer/{p-9faabd97.js → p-fc1c9e62.js} +1 -1
  95. package/dist/viewer/viewer.esm.js +1 -1
  96. package/package.json +15 -14
  97. package/dist/collection/components/scene-tree/lib/testing.js +0 -79
  98. package/dist/collection/lib/mappers.js +0 -49
  99. package/dist/viewer/p-117324c0.entry.js +0 -32
  100. package/dist/viewer/p-21e8510d.js +0 -4
  101. package/dist/viewer/p-3c2aff67.entry.js +0 -4
  102. package/dist/viewer/p-b122ee39.js +0 -4
@@ -490,6 +490,22 @@ function compose() {
490
490
  }, input);
491
491
  };
492
492
  }
493
+ function pickFirst() {
494
+ var decoders = [];
495
+ for (var _i = 0; _i < arguments.length; _i++) {
496
+ decoders[_i] = arguments[_i];
497
+ }
498
+ return function (input) {
499
+ return decoders.reduce(function (value, decoder) {
500
+ if (value === undefined) {
501
+ return decoder(input);
502
+ }
503
+ else {
504
+ return value;
505
+ }
506
+ }, undefined);
507
+ };
508
+ }
493
509
  /* eslint-enable padding-line-between-statements */
494
510
 
495
511
  var mapper = /*#__PURE__*/Object.freeze({
@@ -506,7 +522,8 @@ var mapper = /*#__PURE__*/Object.freeze({
506
522
  ifInvalidThrow: ifInvalidThrow,
507
523
  read: read,
508
524
  defineMapper: defineMapper,
509
- compose: compose
525
+ compose: compose,
526
+ pickFirst: pickFirst
510
527
  });
511
528
 
512
529
  /*!
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const browser_esm = require('./browser.esm-17419694.js');
6
+ const browser_esm = require('./browser.esm-8a3aa0c5.js');
7
7
 
8
8
  /**
9
9
  * The cursor manager maintains a prioritized list of cursors for the viewer.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const browser_esm = require('./browser.esm-17419694.js');
6
+ const browser_esm = require('./browser.esm-8a3aa0c5.js');
7
7
  const bundle_esm = require('./bundle.esm-b79513ef.js');
8
8
 
9
9
  function fromBoundingBoxAndLookAtCamera(boundingBox, camera) {
@@ -184,7 +184,7 @@ class DepthBuffer {
184
184
  DepthBuffer.MAX_DEPTH_VALUE = 2 ** 16 - 1;
185
185
 
186
186
  async function loadWorker() {
187
- return Promise.resolve().then(function () { return require('./png-decoder-97ea96ba.js'); });
187
+ return Promise.resolve().then(function () { return require('./png-decoder-1ae1827c.js'); });
188
188
  }
189
189
 
190
190
  let workerLoader;
@@ -593,52 +593,6 @@ StandardView.BOTTOM_LEFT = new StandardView(bundle_esm.vector3.add(bundle_esm.ve
593
593
  */
594
594
  StandardView.BOTTOM_RIGHT = new StandardView(bundle_esm.vector3.add(bundle_esm.vector3.down(), bundle_esm.vector3.left()), bundle_esm.vector3.up());
595
595
 
596
- const mapRGBi = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.requiredProp('r'), browser_esm.mapper.requiredProp('g'), browser_esm.mapper.requiredProp('b')), ([r, g, b]) => browser_esm.color.create(r, g, b));
597
- const mapVector3f = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.requiredProp('x'), browser_esm.mapper.requiredProp('y'), browser_esm.mapper.requiredProp('z')), ([x, y, z]) => bundle_esm.vector3.create(x, y, z));
598
- const mapBoundingBox3f = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.requiredProp('xmin'), browser_esm.mapper.requiredProp('ymin'), browser_esm.mapper.requiredProp('zmin'), browser_esm.mapper.requiredProp('xmax'), browser_esm.mapper.requiredProp('ymax'), browser_esm.mapper.requiredProp('zmax')), ([xmin, ymin, zmin, xmax, ymax, zmax]) => bundle_esm.boundingBox.create(bundle_esm.vector3.create(xmin, ymin, zmin), bundle_esm.vector3.create(xmax, ymax, zmax)));
599
- const mapDim = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.requiredProp('width'), browser_esm.mapper.requiredProp('height')), ([width, height]) => bundle_esm.dimensions.create(width, height));
600
- const mapRect = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.requiredProp('x'), browser_esm.mapper.requiredProp('y'), browser_esm.mapper.requiredProp('width'), browser_esm.mapper.requiredProp('height')), ([x, y, width, height]) => bundle_esm.rectangle.create(x, y, width, height));
601
- const mapCamera = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('position', browser_esm.mapper.compose(browser_esm.mapper.required('position'), mapVector3f)), browser_esm.mapper.mapProp('lookAt', browser_esm.mapper.compose(browser_esm.mapper.required('lookAt'), mapVector3f)), browser_esm.mapper.mapProp('up', browser_esm.mapper.compose(browser_esm.mapper.required('up'), mapVector3f))), ([position, lookAt, up]) => ({ position, lookAt, up }));
602
- const mapSectionPlane = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('normal', browser_esm.mapper.compose(browser_esm.mapper.required('normal'), mapVector3f)), browser_esm.mapper.requiredProp('offset')), ([normal, offset]) => ({ normal, offset }));
603
- const mapImageAttributes = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('frameDimensions', browser_esm.mapper.compose(browser_esm.mapper.required('frameDimensions'), mapDim)), browser_esm.mapper.mapProp('imageRect', browser_esm.mapper.compose(browser_esm.mapper.required('imageRect'), mapRect)), browser_esm.mapper.mapProp('scaleFactor', browser_esm.mapper.required('scaleFactor'))), ([frameDimensions, imageRect, scaleFactor]) => ({
604
- frameDimensions,
605
- imageRect,
606
- scaleFactor,
607
- }));
608
- const mapCrossSectioning = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('sectionPlanes', browser_esm.mapper.compose(browser_esm.mapper.required('sectionPlanes'), browser_esm.mapper.mapArray(mapSectionPlane))), browser_esm.mapper.mapProp('highlightColor', browser_esm.mapper.ifDefined(mapRGBi))), ([sectionPlanes, highlightColor]) => create({
609
- sectionPlanes,
610
- highlightColor: highlightColor || undefined,
611
- }));
612
- const mapFrameImageAttributes = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('imageAttributes', browser_esm.mapper.compose(browser_esm.mapper.required('imageAttributes'), mapImageAttributes))), ([imageAttr]) => imageAttr);
613
- const mapFrameImage = browser_esm.mapper.defineMapper(browser_esm.mapper.read(mapFrameImageAttributes, browser_esm.mapper.mapProp('image', browser_esm.mapper.required('image'))), ([imageAttr, image]) => new FrameImage(imageAttr.frameDimensions, imageAttr.imageRect, imageAttr.scaleFactor, image));
614
- const mapSceneAttributes = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('camera', browser_esm.mapper.compose(browser_esm.mapper.required('camera'), mapCamera)), browser_esm.mapper.mapProp('visibleBoundingBox', browser_esm.mapper.compose(browser_esm.mapper.required('visibleBoundingBox'), mapBoundingBox3f)), browser_esm.mapper.mapProp('crossSectioning', browser_esm.mapper.compose(browser_esm.mapper.required('crossSectioning'), mapCrossSectioning)), browser_esm.mapper.requiredProp('hasChanged')), ([camera, boundingBox, crossSectioning, hasChanged]) => ({
615
- camera,
616
- boundingBox,
617
- crossSectioning,
618
- hasChanged,
619
- }));
620
- const mapFrameSceneAttributes = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('sceneAttributes', browser_esm.mapper.compose(browser_esm.mapper.required('sceneAttributes'), mapSceneAttributes))), ([sceneAttr]) => sceneAttr);
621
- const mapFrameCamera = browser_esm.mapper.defineMapper(browser_esm.mapper.read(mapFrameSceneAttributes, mapFrameImageAttributes), ([sceneAttr, imageAttr]) => FramePerspectiveCamera.fromBoundingBox(sceneAttr.camera, sceneAttr.boundingBox, bundle_esm.dimensions.aspectRatio(imageAttr.frameDimensions)));
622
- function mapFrameScene(worldOrientation) {
623
- return browser_esm.mapper.defineMapper(browser_esm.mapper.read(mapFrameSceneAttributes, mapFrameCamera), ([sceneAttr, camera]) => new FrameScene(camera, sceneAttr.boundingBox, sceneAttr.crossSectioning, worldOrientation, sceneAttr.hasChanged));
624
- }
625
- function mapFrame(worldOrientation) {
626
- return browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('frameCorrelationIds', (ids) => (ids != null ? ids : [])), browser_esm.mapper.requiredProp('sequenceNumber'), browser_esm.mapper.compose(mapFrameImageAttributes, browser_esm.mapper.getProp('frameDimensions')), mapFrameScene(worldOrientation), mapFrameImage, browser_esm.mapper.getProp('depthBuffer')), ([correlationIds, seqNum, frameDimensions, scene, image, depthBuffer]) => {
627
- return new Frame(correlationIds, seqNum, frameDimensions, image, scene, (depthBuffer === null || depthBuffer === void 0 ? void 0 : depthBuffer.value) || undefined);
628
- });
629
- }
630
- function mapFrameOrThrow(worldOrientation) {
631
- return browser_esm.mapper.ifInvalidThrow(mapFrame(worldOrientation));
632
- }
633
- const mapWorldOrientation = browser_esm.mapper.defineMapper(browser_esm.mapper.compose(browser_esm.mapper.required('orientation'), browser_esm.mapper.read(browser_esm.mapper.mapProp('up', browser_esm.mapper.compose(browser_esm.mapper.required('up'), mapVector3f)), browser_esm.mapper.mapProp('front', browser_esm.mapper.compose(browser_esm.mapper.required('front'), mapVector3f)))), ([up, front]) => new Orientation(up, front));
634
- const mapWorldOrientationOrThrow = browser_esm.mapper.ifInvalidThrow(mapWorldOrientation);
635
- const mapStencilBufferResult = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapRequiredProp('imageAttributes', mapImageAttributes), browser_esm.mapper.requiredProp('stencilBuffer')), ([imageAttributes, stencilBuffer]) => ({ imageAttributes, stencilBuffer }));
636
- const mapStencilBuffer = mapStreamResponse('stencilBuffer', mapStencilBufferResult);
637
- const mapStencilBufferOrThrow = browser_esm.mapper.ifInvalidThrow(mapStencilBuffer);
638
- function mapStreamResponse(prop, mapper) {
639
- return browser_esm.mapper.mapRequiredProp(prop, mapper);
640
- }
641
-
642
596
  /**
643
597
  * A color that represents if a pixel does not contain a stencil value.
644
598
  */
@@ -870,6 +824,55 @@ class Orientation {
870
824
  */
871
825
  Orientation.DEFAULT = new Orientation(bundle_esm.vector3.up(), bundle_esm.vector3.back());
872
826
 
827
+ const mapRGBi = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.requiredProp('r'), browser_esm.mapper.requiredProp('g'), browser_esm.mapper.requiredProp('b')), ([r, g, b]) => browser_esm.color.create(r, g, b));
828
+
829
+ const mapDim = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.requiredProp('width'), browser_esm.mapper.requiredProp('height')), ([width, height]) => bundle_esm.dimensions.create(width, height));
830
+ const mapRect = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.requiredProp('x'), browser_esm.mapper.requiredProp('y'), browser_esm.mapper.requiredProp('width'), browser_esm.mapper.requiredProp('height')), ([x, y, width, height]) => bundle_esm.rectangle.create(x, y, width, height));
831
+ const mapVector3f = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.requiredProp('x'), browser_esm.mapper.requiredProp('y'), browser_esm.mapper.requiredProp('z')), ([x, y, z]) => bundle_esm.vector3.create(x, y, z));
832
+ const mapBoundingBox3f = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.requiredProp('xmin'), browser_esm.mapper.requiredProp('ymin'), browser_esm.mapper.requiredProp('zmin'), browser_esm.mapper.requiredProp('xmax'), browser_esm.mapper.requiredProp('ymax'), browser_esm.mapper.requiredProp('zmax')), ([xmin, ymin, zmin, xmax, ymax, zmax]) => bundle_esm.boundingBox.create(bundle_esm.vector3.create(xmin, ymin, zmin), bundle_esm.vector3.create(xmax, ymax, zmax)));
833
+ const mapPlane = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.requiredProp('d'), browser_esm.mapper.mapRequiredProp('normal', mapVector3f)), ([constant, normal]) => bundle_esm.plane.create({ normal, constant }));
834
+
835
+ const mapCamera = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('position', browser_esm.mapper.compose(browser_esm.mapper.required('position'), mapVector3f)), browser_esm.mapper.mapProp('lookAt', browser_esm.mapper.compose(browser_esm.mapper.required('lookAt'), mapVector3f)), browser_esm.mapper.mapProp('up', browser_esm.mapper.compose(browser_esm.mapper.required('up'), mapVector3f))), ([position, lookAt, up]) => ({ position, lookAt, up }));
836
+ const mapSectionPlane = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('normal', browser_esm.mapper.compose(browser_esm.mapper.required('normal'), mapVector3f)), browser_esm.mapper.requiredProp('offset')), ([normal, offset]) => ({ normal, offset }));
837
+ const mapImageAttributes = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('frameDimensions', browser_esm.mapper.compose(browser_esm.mapper.required('frameDimensions'), mapDim)), browser_esm.mapper.mapProp('imageRect', browser_esm.mapper.compose(browser_esm.mapper.required('imageRect'), mapRect)), browser_esm.mapper.mapProp('scaleFactor', browser_esm.mapper.required('scaleFactor'))), ([frameDimensions, imageRect, scaleFactor]) => ({
838
+ frameDimensions,
839
+ imageRect,
840
+ scaleFactor,
841
+ }));
842
+ const mapCrossSectioning = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('sectionPlanes', browser_esm.mapper.compose(browser_esm.mapper.required('sectionPlanes'), browser_esm.mapper.mapArray(mapSectionPlane))), browser_esm.mapper.mapProp('highlightColor', browser_esm.mapper.ifDefined(mapRGBi))), ([sectionPlanes, highlightColor]) => create({
843
+ sectionPlanes,
844
+ highlightColor: highlightColor || undefined,
845
+ }));
846
+ const mapFrameImageAttributes = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('imageAttributes', browser_esm.mapper.compose(browser_esm.mapper.required('imageAttributes'), mapImageAttributes))), ([imageAttr]) => imageAttr);
847
+ const mapFrameImage = browser_esm.mapper.defineMapper(browser_esm.mapper.read(mapFrameImageAttributes, browser_esm.mapper.mapProp('image', browser_esm.mapper.required('image'))), ([imageAttr, image]) => new FrameImage(imageAttr.frameDimensions, imageAttr.imageRect, imageAttr.scaleFactor, image));
848
+ const mapSceneAttributes = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('camera', browser_esm.mapper.compose(browser_esm.mapper.required('camera'), mapCamera)), browser_esm.mapper.mapProp('visibleBoundingBox', browser_esm.mapper.compose(browser_esm.mapper.required('visibleBoundingBox'), mapBoundingBox3f)), browser_esm.mapper.mapProp('crossSectioning', browser_esm.mapper.compose(browser_esm.mapper.required('crossSectioning'), mapCrossSectioning)), browser_esm.mapper.requiredProp('hasChanged')), ([camera, boundingBox, crossSectioning, hasChanged]) => ({
849
+ camera,
850
+ boundingBox,
851
+ crossSectioning,
852
+ hasChanged,
853
+ }));
854
+ const mapFrameSceneAttributes = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('sceneAttributes', browser_esm.mapper.compose(browser_esm.mapper.required('sceneAttributes'), mapSceneAttributes))), ([sceneAttr]) => sceneAttr);
855
+ const mapFrameCamera = browser_esm.mapper.defineMapper(browser_esm.mapper.read(mapFrameSceneAttributes, mapFrameImageAttributes), ([sceneAttr, imageAttr]) => FramePerspectiveCamera.fromBoundingBox(sceneAttr.camera, sceneAttr.boundingBox, bundle_esm.dimensions.aspectRatio(imageAttr.frameDimensions)));
856
+ function mapFrameScene(worldOrientation) {
857
+ return browser_esm.mapper.defineMapper(browser_esm.mapper.read(mapFrameSceneAttributes, mapFrameCamera), ([sceneAttr, camera]) => new FrameScene(camera, sceneAttr.boundingBox, sceneAttr.crossSectioning, worldOrientation, sceneAttr.hasChanged));
858
+ }
859
+ function mapFrame(worldOrientation) {
860
+ return browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapProp('frameCorrelationIds', (ids) => (ids != null ? ids : [])), browser_esm.mapper.requiredProp('sequenceNumber'), browser_esm.mapper.compose(mapFrameImageAttributes, browser_esm.mapper.getProp('frameDimensions')), mapFrameScene(worldOrientation), mapFrameImage, browser_esm.mapper.getProp('depthBuffer')), ([correlationIds, seqNum, frameDimensions, scene, image, depthBuffer]) => {
861
+ return new Frame(correlationIds, seqNum, frameDimensions, image, scene, (depthBuffer === null || depthBuffer === void 0 ? void 0 : depthBuffer.value) || undefined);
862
+ });
863
+ }
864
+ function mapFrameOrThrow(worldOrientation) {
865
+ return browser_esm.mapper.ifInvalidThrow(mapFrame(worldOrientation));
866
+ }
867
+ const mapWorldOrientation = browser_esm.mapper.defineMapper(browser_esm.mapper.compose(browser_esm.mapper.required('orientation'), browser_esm.mapper.read(browser_esm.mapper.mapProp('up', browser_esm.mapper.compose(browser_esm.mapper.required('up'), mapVector3f)), browser_esm.mapper.mapProp('front', browser_esm.mapper.compose(browser_esm.mapper.required('front'), mapVector3f)))), ([up, front]) => new Orientation(up, front));
868
+ const mapWorldOrientationOrThrow = browser_esm.mapper.ifInvalidThrow(mapWorldOrientation);
869
+ const mapStencilBufferResult = browser_esm.mapper.defineMapper(browser_esm.mapper.read(browser_esm.mapper.mapRequiredProp('imageAttributes', mapImageAttributes), browser_esm.mapper.requiredProp('stencilBuffer')), ([imageAttributes, stencilBuffer]) => ({ imageAttributes, stencilBuffer }));
870
+ const mapStencilBuffer = mapStreamResponse('stencilBuffer', mapStencilBufferResult);
871
+ const mapStencilBufferOrThrow = browser_esm.mapper.ifInvalidThrow(mapStencilBuffer);
872
+ function mapStreamResponse(prop, mapper) {
873
+ return browser_esm.mapper.mapRequiredProp(prop, mapper);
874
+ }
875
+
873
876
  exports.Frame = Frame;
874
877
  exports.FrameImage = FrameImage;
875
878
  exports.FramePerspectiveCamera = FramePerspectiveCamera;
@@ -880,4 +883,6 @@ exports.StandardView = StandardView;
880
883
  exports.StencilBufferManager = StencilBufferManager;
881
884
  exports.fromBoundingBoxAndLookAtCamera = fromBoundingBoxAndLookAtCamera;
882
885
  exports.mapFrameOrThrow = mapFrameOrThrow;
886
+ exports.mapPlane = mapPlane;
887
+ exports.mapVector3f = mapVector3f;
883
888
  exports.mapWorldOrientationOrThrow = mapWorldOrientationOrThrow;