@bubo-squared/gyroview 0.3.1 → 0.4.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 (55) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +1 -1
  3. package/dist/index.d.ts +36 -0
  4. package/dist/packages/adapters/mediabunny/src/MediabunnyAudioPackager.js +49 -15
  5. package/dist/packages/adapters/mediabunny/src/MediabunnyCodecReader.js +3 -1
  6. package/dist/packages/adapters/mediabunny/src/decoderConfigurations.js +2 -2
  7. package/dist/packages/adapters/mediabunny/src/trackColour.js +21 -0
  8. package/dist/packages/adapters/mse-audio/src/SourceBufferFeeder.js +12 -1
  9. package/dist/packages/adapters/three/src/ThreeFrameRenderer.js +3 -0
  10. package/dist/packages/adapters/three/src/conversionUniforms.js +61 -0
  11. package/dist/packages/adapters/three/src/glslLiterals.js +10 -0
  12. package/dist/packages/adapters/three/src/matrixCorrections.js +35 -0
  13. package/dist/packages/adapters/three/src/rendererUniforms.js +33 -12
  14. package/dist/packages/adapters/three/src/shaderPrograms.js +4 -2
  15. package/dist/packages/adapters/three/src/shaders/analysis.frag.js +1 -1
  16. package/dist/packages/adapters/three/src/shaders/displayConversion.js +4 -0
  17. package/dist/packages/adapters/three/src/shaders/lensModels.js +1 -1
  18. package/dist/packages/adapters/three/src/shaders/lensSampling.js +1 -1
  19. package/dist/packages/adapters/three/src/shaders/rawLenses.frag.js +1 -1
  20. package/dist/packages/adapters/three/src/shaders/stitch.frag.js +1 -1
  21. package/dist/packages/adapters/three/src/threeMatrix.js +10 -0
  22. package/dist/packages/adapters/webcodecs/src/WebCodecsVideoDecoderPort.js +4 -2
  23. package/dist/packages/adapters/webcodecs/src/colorSpaceOf.js +32 -0
  24. package/dist/packages/core/src/application/recording/frameTimesOf.js +0 -1
  25. package/dist/packages/core/src/domain/colour/DisplayConversion.js +137 -0
  26. package/dist/packages/core/src/domain/colour/TrackColour.js +38 -0
  27. package/dist/packages/core/src/domain/colour/matrixCorrection.js +76 -0
  28. package/dist/packages/core/src/domain/format/calibration/CalibrationVersion.js +7 -4
  29. package/dist/packages/core/src/domain/format/calibration/layouts/CalibrationStringLayout.js +1 -1
  30. package/dist/packages/core/src/domain/format/calibration/layouts/LegacyCalibrationLayout.js +1 -0
  31. package/dist/packages/core/src/domain/format/calibration/layouts/MeiCalibrationLayout.js +109 -35
  32. package/dist/packages/core/src/domain/format/calibration/layouts/PolynomialCalibrationLayout.js +1 -0
  33. package/dist/packages/core/src/domain/format/calibration/offsetTokens.js +33 -4
  34. package/dist/packages/core/src/domain/format/calibration/parseOffsetString.js +22 -17
  35. package/dist/packages/core/src/domain/format/calibration/selectCalibration.js +28 -15
  36. package/dist/packages/core/src/domain/format/calibration/v6TermReading.js +20 -0
  37. package/dist/packages/core/src/domain/format/info/calibrationSources.js +27 -0
  38. package/dist/packages/core/src/domain/format/info/infoFields.js +8 -2
  39. package/dist/packages/core/src/domain/format/info/parseInfoRecord.js +11 -6
  40. package/dist/packages/core/src/domain/motion/imu/ImuFrame.js +17 -8
  41. package/dist/packages/core/src/domain/motion/timing/FrameTimes.js +1 -3
  42. package/dist/packages/core/src/domain/motion/timing/frameTimeSources.js +0 -3
  43. package/dist/packages/core/src/domain/optics/MeiDistortion.js +43 -0
  44. package/dist/packages/core/src/domain/optics/MeiModel.js +6 -14
  45. package/dist/packages/core/src/domain/optics/scaledProjection.js +30 -0
  46. package/dist/packages/core/src/domain/stitching/StitchingSetup.js +13 -4
  47. package/dist/packages/core/src/index.js +6 -2
  48. package/dist/packages/core/src/shared/index.js +11 -0
  49. package/dist/packages/core/src/shared/mapRecord.js +11 -0
  50. package/dist/packages/core/src/shared/protobuf/ProtobufMessage.js +12 -26
  51. package/dist/packages/core/src/shared/protobuf/wireFormat.js +16 -0
  52. package/dist/packages/player/src/composition/buildPipeline.js +2 -1
  53. package/dist/packages/player/src/composition/openInputs.js +4 -1
  54. package/dist/standalone.js +211 -100
  55. package/package.json +4 -4
@@ -0,0 +1,16 @@
1
+ //#region ../../packages/core/src/shared/protobuf/wireFormat.ts
2
+ /**
3
+ * The Protocol Buffers wire format (protobuf encoding spec, "Message Structure"): the wire types
4
+ * a field key names and how keys and varints are laid out. The decoder and the fixtures' encoder
5
+ * share it, so that the two cannot disagree on a byte.
6
+ *
7
+ * The wire types the info record uses; groups (3, 4) are obsolete, and the decoder rejects them.
8
+ */
9
+ var WireType = {
10
+ Varint: 0,
11
+ Fixed64: 1,
12
+ LengthDelimited: 2,
13
+ Fixed32: 5
14
+ };
15
+ //#endregion
16
+ export { WireType };
@@ -122,7 +122,8 @@ function wallClock(warning) {
122
122
  function stitchingSetupOf(opened) {
123
123
  return buildStitchingSetup({
124
124
  calibration: opened.calibration,
125
- layout: opened.layout
125
+ layout: opened.layout,
126
+ displayConversions: opened.displayConversions
126
127
  });
127
128
  }
128
129
  function sinkOver(renderer, opened) {
@@ -3,6 +3,7 @@ import { seconds } from "../../../core/src/shared/units/time.js";
3
3
  import { timeRecording } from "../../../core/src/application/recording/timeRecording.js";
4
4
  import { detectLensLayout } from "../../../core/src/domain/format/layout/detectLensLayout.js";
5
5
  import { lensFrameOrder } from "../../../core/src/domain/stitching/StitchingSetup.js";
6
+ import { displayConversionsOf } from "../../../core/src/domain/colour/DisplayConversion.js";
6
7
  import { startFileDownload } from "../../../core/src/application/download/startFileDownload.js";
7
8
  import { downloadPolicyFor } from "../../../core/src/domain/download/DownloadPolicy.js";
8
9
  import { RecordingBuffer } from "../../../core/src/application/download/RecordingBuffer.js";
@@ -77,18 +78,20 @@ function calibrationOf(recording) {
77
78
  function assemble(parts, packager, disposables) {
78
79
  const { read, files, layout, frameSources, calibration, timing } = parts;
79
80
  const duration = seconds(Math.min(...files.map((file) => file.duration)));
81
+ const display = displayConversionsOf(frameSources.map((source) => source.description.colour));
80
82
  const [sound] = files.flatMap((file) => file.audioTracks);
81
83
  return {
82
84
  recording: read.recording,
83
85
  layout,
84
86
  frameSources,
85
87
  calibration,
88
+ displayConversions: display.conversions,
86
89
  duration,
87
90
  frameTimes: timing.frameTimes,
88
91
  motion: timing.motion,
89
92
  soundSegments: sound && (() => packager.segmentsOf(sound.samples, sound.configuration)),
90
93
  metadata: metadataOf(parts, duration, sound !== void 0),
91
- warnings: timing.warnings,
94
+ warnings: [...timing.warnings, ...display.warnings],
92
95
  readAhead: () => {
93
96
  for (const file of files) file.download.startReadingAhead();
94
97
  },