@luxonis/visualizer-protobuf 2.35.0 → 2.37.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.
- package/dist/{communicator-D49kmBTQ.js → communicator-BI9L9U0t.js} +2 -17
- package/dist/{deserialization.worker-DsCOJqEa.js → deserialization.worker-BPzAkWKk.js} +135 -13
- package/dist/{protobuf-Cr0sn6Ua.js → encoding-B5mh1ygC.js} +20 -1
- package/dist/{index-B1XiXp8f.js → index-BcUufSRp.js} +1 -1
- package/dist/{index-BVoQTy60.js → index-Bei6XSzB.js} +1 -1
- package/dist/{index-B3FXkEX-.js → index-BfEpEBB4.js} +1 -1
- package/dist/{index-CFyETGYY.js → index-BkowtwNU.js} +8 -4
- package/dist/{index-BMhXEexX.js → index-BxVngweg.js} +1 -1
- package/dist/{index-C4bu9CwP.js → index-CFFrlSkz.js} +1 -1
- package/dist/{index-B0STFQmU.js → index-CWm0KJ8n.js} +1 -1
- package/dist/{index-C-cI8dE7.js → index-C_tuHIRp.js} +1 -1
- package/dist/{index-DCxgBMTe.js → index-Cu0BHwFo.js} +1 -1
- package/dist/{index-CnqkI6yW.js → index-D5sbve0w.js} +1 -1
- package/dist/{index-NHuLyXtC.js → index-DNHbzEBt.js} +1 -1
- package/dist/{index-DXRsZeIF.js → index-Dd6AtZgq.js} +1 -1
- package/dist/{index-DWqG1kKL.js → index-De6APqJN.js} +1 -1
- package/dist/{index-B13odtD4.js → index-DlKJr7qq.js} +1 -1
- package/dist/{index-D1HLpOAF.js → index-MePAd5yd.js} +2 -2
- package/dist/{index-ByPsJjYK.js → index-PBEeiMny.js} +1 -1
- package/dist/{index-denIhk8V.js → index-WsHMlt9k.js} +1 -1
- package/dist/{index-BfRV8GM9.js → index-hJAMpER3.js} +38 -35
- package/dist/{index-BoI3ALeF.js → index-jz0Ae7Bm.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/src/connection/connection.d.ts +8 -4
- package/dist/lib/src/connection/connection.d.ts.map +1 -1
- package/dist/lib/src/connection/connection.js +7 -7
- package/dist/lib/src/connection/connection.js.map +1 -1
- package/dist/lib/src/connection/foxglove-connection.d.ts +3 -1
- package/dist/lib/src/connection/foxglove-connection.d.ts.map +1 -1
- package/dist/lib/src/connection/foxglove-connection.js +26 -9
- package/dist/lib/src/connection/foxglove-connection.js.map +1 -1
- package/dist/lib/src/messaging/deserialization/video/h265.d.ts +17 -0
- package/dist/lib/src/messaging/deserialization/video/h265.d.ts.map +1 -0
- package/dist/lib/src/messaging/deserialization/video/h265.js +79 -0
- package/dist/lib/src/messaging/deserialization/video/h265.js.map +1 -0
- package/dist/lib/src/messaging/deserialization.worker.d.ts +1 -1
- package/dist/lib/src/messaging/deserialization.worker.d.ts.map +1 -1
- package/dist/lib/src/messaging/deserialization.worker.js +35 -13
- package/dist/lib/src/messaging/deserialization.worker.js.map +1 -1
- package/dist/lib/src/messaging/message-handler.d.ts +2 -1
- package/dist/lib/src/messaging/message-handler.d.ts.map +1 -1
- package/dist/lib/src/messaging/message-handler.js +2 -2
- package/dist/lib/src/messaging/message-handler.js.map +1 -1
- package/dist/lib/src/utils/encoding.d.ts +1 -0
- package/dist/lib/src/utils/encoding.d.ts.map +1 -1
- package/dist/lib/src/utils/encoding.js +4 -0
- package/dist/lib/src/utils/encoding.js.map +1 -1
- package/dist/lib/src/utils/error.d.ts +5 -0
- package/dist/lib/src/utils/error.d.ts.map +1 -0
- package/dist/lib/src/utils/error.js +8 -0
- package/dist/lib/src/utils/error.js.map +1 -0
- package/dist/packages/studio-base/src/i18n/en/threeDee.js +1 -1
- package/dist/packages/studio-base/src/i18n/en/threeDee.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.js +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js +6 -2
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js.map +1 -1
- package/dist/packages/studio-base/src/players/types.d.ts +1 -0
- package/dist/packages/studio-base/src/players/types.d.ts.map +1 -1
- package/dist/packages/studio-base/src/players/types.js.map +1 -1
- package/dist/{worker-aVL4LGa3.js → worker--cB8IFXH.js} +2 -2
- package/dist/{worker-B5OJw-Fq.js → worker-CYg1hGeK.js} +2 -2
- package/package.json +1 -1
|
@@ -1,19 +1,4 @@
|
|
|
1
|
-
import { p as protobufsBySchema } from './
|
|
2
|
-
|
|
3
|
-
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
4
|
-
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
5
|
-
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
6
|
-
|
|
7
|
-
function recordToDataView(record) {
|
|
8
|
-
const text = JSON.stringify(record);
|
|
9
|
-
if (!text) {
|
|
10
|
-
throw new Error("Invalid record");
|
|
11
|
-
}
|
|
12
|
-
const encoder = new TextEncoder();
|
|
13
|
-
const data = encoder.encode(text);
|
|
14
|
-
const dataView = new DataView(data.buffer);
|
|
15
|
-
return dataView;
|
|
16
|
-
}
|
|
1
|
+
import { p as protobufsBySchema, r as recordToDataView } from './encoding-B5mh1ygC.js';
|
|
17
2
|
|
|
18
3
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
19
4
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
@@ -144,4 +129,4 @@ class FoxgloveCommunicator {
|
|
|
144
129
|
}
|
|
145
130
|
}
|
|
146
131
|
|
|
147
|
-
export { FoxgloveCommunicator as F
|
|
132
|
+
export { FoxgloveCommunicator as F };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { e as expose } from './comlink-DHMAu6X7.js';
|
|
2
2
|
import { t as typescript } from './useMessageReducer-jNx5e6JW.js';
|
|
3
3
|
import { e as estimateObjectSize, d as dist } from './tslib.es6-C73eoP_E.js';
|
|
4
|
-
import { T as Type, P as PointsAnnotationType, p as protobufsBySchema, a as Profile } from './
|
|
4
|
+
import { T as Type, P as PointsAnnotationType, p as protobufsBySchema, i as isCapableOfEncodedStream, a as Profile } from './encoding-B5mh1ygC.js';
|
|
5
5
|
import 'react';
|
|
6
6
|
import './_commonjsHelpers-E-ZsRS8r.js';
|
|
7
7
|
import 'zustand';
|
|
@@ -841,7 +841,7 @@ function ensureWebCodecsSupported(target) {
|
|
|
841
841
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
842
842
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
843
843
|
|
|
844
|
-
function createVideoDecoder({
|
|
844
|
+
function createVideoDecoder$1({
|
|
845
845
|
topic,
|
|
846
846
|
callback,
|
|
847
847
|
topicDecoders
|
|
@@ -887,7 +887,7 @@ async function deserializeEncodedFrameH264({
|
|
|
887
887
|
return;
|
|
888
888
|
}
|
|
889
889
|
if (!topicDecoders.has(topic)) {
|
|
890
|
-
const decoder = createVideoDecoder({
|
|
890
|
+
const decoder = createVideoDecoder$1({
|
|
891
891
|
topic,
|
|
892
892
|
callback,
|
|
893
893
|
topicDecoders
|
|
@@ -928,6 +928,94 @@ async function deserializeEncodedFrameH264({
|
|
|
928
928
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
929
929
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
930
930
|
|
|
931
|
+
function createVideoDecoder({
|
|
932
|
+
topic,
|
|
933
|
+
callback,
|
|
934
|
+
topicDecoders
|
|
935
|
+
}) {
|
|
936
|
+
return new VideoDecoder({
|
|
937
|
+
output: async frame => {
|
|
938
|
+
const buffer = new Uint8Array(frame.allocationSize());
|
|
939
|
+
await frame.copyTo(buffer);
|
|
940
|
+
const receiveTime = topicDecoders.get(topic)?.timing.get(frame.timestamp) ?? dist.fromMicros(frame.timestamp);
|
|
941
|
+
const [encoding, step] = parsePixelFormat(frame.format);
|
|
942
|
+
const foxgloveMessage = {
|
|
943
|
+
timestamp: receiveTime,
|
|
944
|
+
frame_id: `h265-${topic}-frame`,
|
|
945
|
+
width: frame.displayWidth,
|
|
946
|
+
height: frame.displayHeight,
|
|
947
|
+
data: buffer,
|
|
948
|
+
encoding,
|
|
949
|
+
step: frame.displayWidth * step
|
|
950
|
+
};
|
|
951
|
+
callback({
|
|
952
|
+
topic,
|
|
953
|
+
receiveTime,
|
|
954
|
+
message: foxgloveMessage,
|
|
955
|
+
sizeInBytes: estimateObjectSize(foxgloveMessage),
|
|
956
|
+
schemaName: "foxglove.RawImage"
|
|
957
|
+
});
|
|
958
|
+
frame.close();
|
|
959
|
+
},
|
|
960
|
+
error: console.error
|
|
961
|
+
});
|
|
962
|
+
}
|
|
963
|
+
async function deserializeEncodedFrameH265({
|
|
964
|
+
topic,
|
|
965
|
+
message,
|
|
966
|
+
topicDecoders,
|
|
967
|
+
callback
|
|
968
|
+
}) {
|
|
969
|
+
const {
|
|
970
|
+
receiveTime
|
|
971
|
+
} = parseMessage(message);
|
|
972
|
+
const supported = ensureWebCodecsSupported("VideoDecoder");
|
|
973
|
+
if (!supported) {
|
|
974
|
+
return;
|
|
975
|
+
}
|
|
976
|
+
if (!topicDecoders.has(topic)) {
|
|
977
|
+
const decoder = createVideoDecoder({
|
|
978
|
+
topic,
|
|
979
|
+
callback,
|
|
980
|
+
topicDecoders
|
|
981
|
+
});
|
|
982
|
+
console.log("creating decoder", "hev1.1.6.L93.B0");
|
|
983
|
+
decoder.configure({
|
|
984
|
+
codec: "hev1.1.6.L93.B0",
|
|
985
|
+
optimizeForLatency: true
|
|
986
|
+
});
|
|
987
|
+
topicDecoders.set(topic, {
|
|
988
|
+
decoder,
|
|
989
|
+
timing: new Map()
|
|
990
|
+
});
|
|
991
|
+
}
|
|
992
|
+
const decoderInfo = topicDecoders.get(topic);
|
|
993
|
+
if (!decoderInfo) {
|
|
994
|
+
return;
|
|
995
|
+
}
|
|
996
|
+
if (decoderInfo.decoder.decodeQueueSize > 60) {
|
|
997
|
+
decoderInfo.decoder.reset();
|
|
998
|
+
return;
|
|
999
|
+
}
|
|
1000
|
+
const microTimestamp = receiveTime.sec * 1_000_000 + Math.floor(receiveTime.nsec / 1_000);
|
|
1001
|
+
decoderInfo.timing.set(microTimestamp, receiveTime);
|
|
1002
|
+
const frame = {
|
|
1003
|
+
type: 'key',
|
|
1004
|
+
data: message.data,
|
|
1005
|
+
timestamp: microTimestamp
|
|
1006
|
+
};
|
|
1007
|
+
try {
|
|
1008
|
+
const chunk = new EncodedVideoChunk(frame);
|
|
1009
|
+
decoderInfo.decoder.decode(chunk);
|
|
1010
|
+
} catch {
|
|
1011
|
+
topicDecoders.delete(topic);
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
1016
|
+
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
1017
|
+
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
1018
|
+
|
|
931
1019
|
async function deserializeMJPEGFrame({
|
|
932
1020
|
topic,
|
|
933
1021
|
message,
|
|
@@ -969,6 +1057,13 @@ async function deserializeMJPEGFrame({
|
|
|
969
1057
|
});
|
|
970
1058
|
}
|
|
971
1059
|
|
|
1060
|
+
class EncodedStreamNotSupportedError extends Error {
|
|
1061
|
+
constructor(topicName) {
|
|
1062
|
+
super("Encoded stream not supported on this platform");
|
|
1063
|
+
this.topicName = topicName;
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
1066
|
+
|
|
972
1067
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
973
1068
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
974
1069
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
@@ -982,22 +1077,35 @@ function handleMessageToDecode({
|
|
|
982
1077
|
schema,
|
|
983
1078
|
buffer,
|
|
984
1079
|
topic
|
|
985
|
-
}) {
|
|
1080
|
+
}, errorCallback) {
|
|
1081
|
+
const handleDecodingError = error => {
|
|
1082
|
+
// TODO: Enable this log once we fix topic unsubscription not working
|
|
1083
|
+
// console.error("An error occurred during DAI message decoding.", error);
|
|
1084
|
+
|
|
1085
|
+
errorCallback?.(error);
|
|
1086
|
+
};
|
|
986
1087
|
const protobufSchema = protobufsBySchema[schema];
|
|
987
1088
|
if (!protobufSchema) {
|
|
988
1089
|
console.warn(`Unsupported message schema "${schema}"`);
|
|
1090
|
+
handleDecodingError(new Error(`Unsupported message schema "${schema}"`));
|
|
989
1091
|
return;
|
|
990
1092
|
}
|
|
991
1093
|
const bufferArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1094
|
+
try {
|
|
1095
|
+
const message = protobufSchema.decoder.decode(bufferArray);
|
|
1096
|
+
|
|
1097
|
+
// Handle the promise correctly
|
|
1098
|
+
deserializeDepthAiMessage({
|
|
1099
|
+
topic,
|
|
1100
|
+
topicSizes,
|
|
1101
|
+
topicDecoders,
|
|
1102
|
+
message,
|
|
1103
|
+
callback,
|
|
1104
|
+
type: protobufSchema.type
|
|
1105
|
+
}).catch(handleDecodingError);
|
|
1106
|
+
} catch (error) {
|
|
1107
|
+
handleDecodingError(error);
|
|
1108
|
+
}
|
|
1001
1109
|
}
|
|
1002
1110
|
async function deserializeDepthAiMessage(args) {
|
|
1003
1111
|
const {
|
|
@@ -1011,6 +1119,9 @@ async function deserializeDepthAiMessage(args) {
|
|
|
1011
1119
|
switch (type) {
|
|
1012
1120
|
case "encodedFrame":
|
|
1013
1121
|
{
|
|
1122
|
+
if (!isCapableOfEncodedStream()) {
|
|
1123
|
+
throw new EncodedStreamNotSupportedError(topic);
|
|
1124
|
+
}
|
|
1014
1125
|
topicSizes.set(topic, {
|
|
1015
1126
|
width: message.width,
|
|
1016
1127
|
height: message.height
|
|
@@ -1028,6 +1139,13 @@ async function deserializeDepthAiMessage(args) {
|
|
|
1028
1139
|
message,
|
|
1029
1140
|
callback
|
|
1030
1141
|
});
|
|
1142
|
+
} else if (message.profile === Profile.HEVC) {
|
|
1143
|
+
await deserializeEncodedFrameH265({
|
|
1144
|
+
topic,
|
|
1145
|
+
message,
|
|
1146
|
+
topicDecoders,
|
|
1147
|
+
callback
|
|
1148
|
+
});
|
|
1031
1149
|
} else ;
|
|
1032
1150
|
break;
|
|
1033
1151
|
}
|
|
@@ -1124,6 +1242,10 @@ async function deserializeDepthAiMessage(args) {
|
|
|
1124
1242
|
}
|
|
1125
1243
|
}
|
|
1126
1244
|
}
|
|
1245
|
+
|
|
1246
|
+
// Update the exported API
|
|
1247
|
+
|
|
1248
|
+
// Expose the updated API
|
|
1127
1249
|
expose({
|
|
1128
1250
|
initCallback,
|
|
1129
1251
|
handleMessageToDecode
|
|
@@ -5069,4 +5069,23 @@ const protobufsBySchema = Object.fromEntries(Object.entries(protobufs).map(([typ
|
|
|
5069
5069
|
...data
|
|
5070
5070
|
}]));
|
|
5071
5071
|
|
|
5072
|
-
|
|
5072
|
+
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
5073
|
+
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
5074
|
+
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
5075
|
+
|
|
5076
|
+
// Function decides if the current browser is capable of working with encoded streams
|
|
5077
|
+
function isCapableOfEncodedStream() {
|
|
5078
|
+
return !!navigator?.userAgent?.includes('Chrome');
|
|
5079
|
+
}
|
|
5080
|
+
function recordToDataView(record) {
|
|
5081
|
+
const text = JSON.stringify(record);
|
|
5082
|
+
if (!text) {
|
|
5083
|
+
throw new Error("Invalid record");
|
|
5084
|
+
}
|
|
5085
|
+
const encoder = new TextEncoder();
|
|
5086
|
+
const data = encoder.encode(text);
|
|
5087
|
+
const dataView = new DataView(data.buffer);
|
|
5088
|
+
return dataView;
|
|
5089
|
+
}
|
|
5090
|
+
|
|
5091
|
+
export { PointsAnnotationType as P, Type as T, Profile as a, isCapableOfEncodedStream as i, protobufsBySchema as p, recordToDataView as r };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, N as foldNodeProp, a2 as foldInside, K as indentNodeProp, M as continuedIndent, a8 as defineCSSCompletionSource, U as LanguageSupport } from './index-
|
|
1
|
+
import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, N as foldNodeProp, a2 as foldInside, K as indentNodeProp, M as continuedIndent, a8 as defineCSSCompletionSource, U as LanguageSupport } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, $ as syntaxTree, Y as ifNotIn, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, a6 as IterMode, Z as completeFromList, a7 as NodeWeakMap, a5 as snippetCompletion } from './index-
|
|
1
|
+
import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, $ as syntaxTree, Y as ifNotIn, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, a6 as IterMode, Z as completeFromList, a7 as NodeWeakMap, a5 as snippetCompletion } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as indentNodeProp, M as continuedIndent, N as foldNodeProp, O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, V as ExternalTokenizer, X as LRParser, Y as ifNotIn, Z as completeFromList, $ as syntaxTree } from './index-
|
|
1
|
+
import { K as indentNodeProp, M as continuedIndent, N as foldNodeProp, O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, V as ExternalTokenizer, X as LRParser, Y as ifNotIn, Z as completeFromList, $ as syntaxTree } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -3,7 +3,7 @@ import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Compo
|
|
|
3
3
|
import ReactDOM__default from 'react-dom';
|
|
4
4
|
import { S as isSymbol, U as toString, V as keys, W as getSymbols$1, X as stubArray, Y as arrayPush, Z as baseGetAllKeys, g as getTag, $ as getAllKeys, k as baseGet, c as baseIteratee, j as castPath, t as toKey, a0 as arrayMap$1, a1 as baseUniq, b as baseFlatten, a2 as useMustNotChange, a3 as useCurrentLayoutActions, a4 as useCurrentLayoutSelector, r as reportError, A as AppError, L as Logger, u as useGuaranteedContext, a5 as usePanelMosaicId, a6 as useSelectedPanels, a7 as PANEL_TITLE_CONFIG_KEY, a8 as noop$4, o as getPanelTypeFromId, M as useShallowMemo, T as TAB_PANEL_TYPE, J as filterMap, d as dist$3, a9 as useAppConfiguration, aa as useValueChangedDebugLog, ab as useJsonTreeTheme } from './tslib.es6-C73eoP_E.js';
|
|
5
5
|
import { createStore, useStore } from 'zustand';
|
|
6
|
-
import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, P as PropTypes, E as ErrorDisplay, S as Stack$1, m as makeStyles$1, _ as _extends$1, W as WorkspaceContext, u as useAnalytics, a as AppEvent, L as LeftSidebarItemKeys, R as RightSidebarItemKeys, d as useTranslation, e as usePanelCatalog, h as EmptyState, i as isEmpty, j as PanelContext, k as PanelCatalogContext, l as usePanelStateStore, n as useDefaultPanelTitle, o as useWorkspaceStore, p as WorkspaceStoreSelectors, q as difference, r as usePanelContext, s as useMessagePipeline, v as v4, t as useHoverValue, w as useSetHoverValue, x as useClearHoverValue, y as useMessagePipelineGetter, z as usePanelSettingsTreeUpdate, B as PlayerCapabilities, C as assertNever, D as PlayerPresence, F as isEqual, G as isDesktopApp, H as createTheme, I as propTypesExports, J as DEFAULT_CAMERA_STATE$1 } from './index-
|
|
6
|
+
import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, P as PropTypes, E as ErrorDisplay, S as Stack$1, m as makeStyles$1, _ as _extends$1, W as WorkspaceContext, u as useAnalytics, a as AppEvent, L as LeftSidebarItemKeys, R as RightSidebarItemKeys, d as useTranslation, e as usePanelCatalog, h as EmptyState, i as isEmpty, j as PanelContext, k as PanelCatalogContext, l as usePanelStateStore, n as useDefaultPanelTitle, o as useWorkspaceStore, p as WorkspaceStoreSelectors, q as difference, r as usePanelContext, s as useMessagePipeline, v as v4, t as useHoverValue, w as useSetHoverValue, x as useClearHoverValue, y as useMessagePipelineGetter, z as usePanelSettingsTreeUpdate, B as PlayerCapabilities, C as assertNever, D as PlayerPresence, F as isEqual, G as isDesktopApp, H as createTheme, I as propTypesExports, J as DEFAULT_CAMERA_STATE$1 } from './index-hJAMpER3.js';
|
|
7
7
|
import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
|
|
8
8
|
import { t as typescript } from './useMessageReducer-jNx5e6JW.js';
|
|
9
9
|
import { g as getDefaultExportFromCjs, c as commonjsGlobal, a as getAugmentedNamespace } from './_commonjsHelpers-E-ZsRS8r.js';
|
|
@@ -33637,7 +33637,11 @@ class MessageHandler {
|
|
|
33637
33637
|
};
|
|
33638
33638
|
const ghostTimeMs = annoationsFpsToGhostTimeMs(this.#averageAnnotationsFps);
|
|
33639
33639
|
if (result.found && [...result.messages.annotationsByTopic.values()].length === 0 && this.#ghostAnnotation && now - this.#ghostAnnotation.createdAtMs < ghostTimeMs) {
|
|
33640
|
-
console.warn(
|
|
33640
|
+
//console.warn(
|
|
33641
|
+
// `No annotations found for this frame but still in ghost period (diff = ${
|
|
33642
|
+
// now - this.#ghostAnnotation.createdAtMs
|
|
33643
|
+
// } ms, ghostTimeMs = ${ghostTimeMs} ms) - returning ghost annotation`,
|
|
33644
|
+
//);
|
|
33641
33645
|
renderState.annotationsByTopic = this.#ghostAnnotation.annotations;
|
|
33642
33646
|
}
|
|
33643
33647
|
return renderState;
|
|
@@ -33703,7 +33707,7 @@ function findSynchronizedSetAndRemoveOlderItems(tree, visibleAnnotations) {
|
|
|
33703
33707
|
}
|
|
33704
33708
|
if (validEntry) {
|
|
33705
33709
|
if (validEntry[1].annotationsByTopic.size === 0 && lastAnnotationsOrphanEntry) {
|
|
33706
|
-
console.warn("Using annotationsByTopic from lastAnnotationsEntry orphan");
|
|
33710
|
+
// console.warn("Using annotationsByTopic from lastAnnotationsEntry orphan");
|
|
33707
33711
|
validEntry[1].annotationsByTopic = lastAnnotationsOrphanEntry[1].annotationsByTopic;
|
|
33708
33712
|
}
|
|
33709
33713
|
|
|
@@ -74080,7 +74084,7 @@ class CameraStateSettings extends SceneExtension {
|
|
|
74080
74084
|
if (deltaX === 0 && deltaY === 0) {
|
|
74081
74085
|
return;
|
|
74082
74086
|
}
|
|
74083
|
-
const deltaAzimuth =
|
|
74087
|
+
const deltaAzimuth = deltaX * AZIMUTH_SENSITIVITY;
|
|
74084
74088
|
const deltaPolar = -deltaY * POLAR_SENSITIVITY;
|
|
74085
74089
|
const previousState = cloneDeep(this.renderer.config.cameraState);
|
|
74086
74090
|
this.renderer.updateConfig(draft => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-
|
|
1
|
+
import { O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, N as foldNodeProp, ad as bracketMatchingHandle, U as LanguageSupport, a9 as EditorView, $ as syntaxTree, aa as EditorSelection } from './index-
|
|
1
|
+
import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, N as foldNodeProp, ad as bracketMatchingHandle, U as LanguageSupport, a9 as EditorView, $ as syntaxTree, aa as EditorSelection } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, ac as parseMixed } from './index-
|
|
1
|
+
import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, ac as parseMixed } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, ab as html, U as LanguageSupport, ac as parseMixed } from './index-
|
|
1
|
+
import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, ab as html, U as LanguageSupport, ac as parseMixed } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, a4 as LocalTokenGroup, a5 as snippetCompletion, $ as syntaxTree, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, Y as ifNotIn, Z as completeFromList, a6 as IterMode, a7 as NodeWeakMap } from './index-
|
|
1
|
+
import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, a4 as LocalTokenGroup, a5 as snippetCompletion, $ as syntaxTree, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, Y as ifNotIn, Z as completeFromList, a6 as IterMode, a7 as NodeWeakMap } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, X as LRParser, a4 as LocalTokenGroup, ab as html, ac as parseMixed, ae as javascriptLanguage } from './index-
|
|
1
|
+
import { O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, X as LRParser, a4 as LocalTokenGroup, ab as html, ac as parseMixed, ae as javascriptLanguage } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-
|
|
1
|
+
import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-
|
|
1
|
+
import { O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, O as styleTags, Q as tags, U as LanguageSupport, X as LRParser } from './index-
|
|
1
|
+
import { T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, O as styleTags, Q as tags, U as LanguageSupport, X as LRParser } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a9 as EditorView, aa as EditorSelection, T as LRLanguage, O as styleTags, Q as tags, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, U as LanguageSupport, X as LRParser, $ as syntaxTree, ab as html, ac as parseMixed, V as ExternalTokenizer } from './index-
|
|
1
|
+
import { a9 as EditorView, aa as EditorSelection, T as LRLanguage, O as styleTags, Q as tags, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, U as LanguageSupport, X as LRParser, $ as syntaxTree, ab as html, ac as parseMixed, V as ExternalTokenizer } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ImagePanel } from './index-
|
|
1
|
+
import { ImagePanel } from './index-BkowtwNU.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'react-dom';
|
|
4
4
|
import './tslib.es6-C73eoP_E.js';
|
|
@@ -7,7 +7,7 @@ import './_commonjsHelpers-E-ZsRS8r.js';
|
|
|
7
7
|
import '@mui/material';
|
|
8
8
|
import './isArrayLikeObject-Bytw9p-q.js';
|
|
9
9
|
import 'zustand';
|
|
10
|
-
import './index-
|
|
10
|
+
import './index-hJAMpER3.js';
|
|
11
11
|
import './comlink-DHMAu6X7.js';
|
|
12
12
|
import './utils-Hzt3wxhG.js';
|
|
13
13
|
import './FoxgloveServer-C39Uooyk.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { O as styleTags, Q as tags, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, a8 as defineCSSCompletionSource, U as LanguageSupport, X as LRParser, V as ExternalTokenizer } from './index-
|
|
1
|
+
import { O as styleTags, Q as tags, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, a8 as defineCSSCompletionSource, U as LanguageSupport, X as LRParser, V as ExternalTokenizer } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { O as styleTags, Q as tags, ae as javascriptLanguage, T as LRLanguage, U as LanguageSupport, X as LRParser, ab as html, ac as parseMixed, V as ExternalTokenizer } from './index-
|
|
1
|
+
import { O as styleTags, Q as tags, ae as javascriptLanguage, T as LRLanguage, U as LanguageSupport, X as LRParser, ab as html, ac as parseMixed, V as ExternalTokenizer } from './index-hJAMpER3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|