@luxonis/depthai-viewer-common 2.4.0 → 2.4.1

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.
@@ -0,0 +1,158 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6
+ BENCHMARKS_DIR="${SCRIPT_DIR}/src/utils/benchmarks"
7
+ MAX_DOWNLOAD_ATTEMPTS="${BENCHMARK_DOWNLOAD_RETRIES:-3}"
8
+
9
+ BENCHMARKS=(
10
+ "bgr888i-stream"
11
+ "encoded-stream"
12
+ "nv12-stream"
13
+ "pointcloud"
14
+ )
15
+
16
+ BENCHMARK_ASSETS=(
17
+ "bgr888i-stream|bgr888i_stream.pkl|https://oak-viewer-releases.luxonis.com/benchmark/bgr888i-stream/bgr888i_stream.pkl"
18
+ "encoded-stream|encoded_stream.pkl|https://oak-viewer-releases.luxonis.com/benchmark/encoded-stream/encoded_stream.pkl"
19
+ "nv12-stream|nv12_stream.pkl|https://oak-viewer-releases.luxonis.com/benchmark/nv12-stream/nv12_stream.pkl"
20
+ "pointcloud|encoded_stream.pkl|https://oak-viewer-releases.luxonis.com/benchmark/pointcloud/encoded_stream.pkl"
21
+ "pointcloud|depth_stream.pkl|https://oak-viewer-releases.luxonis.com/benchmark/pointcloud/depth_stream.pkl"
22
+ )
23
+
24
+ trap 'exit 130' INT
25
+ trap 'exit 143' TERM
26
+
27
+ log() {
28
+ printf '[benchmark-download] %s\n' "$1"
29
+ }
30
+
31
+ file_size() {
32
+ local file_path=$1
33
+ stat -f%z "${file_path}" 2>/dev/null || stat -c%s "${file_path}"
34
+ }
35
+
36
+ install_requirements() {
37
+ local requirements_file="${BENCHMARKS_DIR}/requirements.txt"
38
+ log "Installing Python dependencies from ${requirements_file}"
39
+ python3 -m pip install --quiet -r "${requirements_file}"
40
+ }
41
+
42
+ get_remote_file_size() {
43
+ local url=$1
44
+ curl --head --silent --show-error --location --fail "${url}" |
45
+ awk 'BEGIN { IGNORECASE = 1 } /^content-length:/ { gsub("\r", "", $2); print $2; exit }'
46
+ }
47
+
48
+ download_asset() {
49
+ local benchmark_id=$1
50
+ local file_name=$2
51
+ local url=$3
52
+ local benchmark_dir="${BENCHMARKS_DIR}/${benchmark_id}"
53
+ local output_path="${benchmark_dir}/${file_name}"
54
+ local partial_path="${output_path}.part"
55
+ local expected_size=""
56
+ local final_size=""
57
+ local partial_size=""
58
+ local attempt=1
59
+ local curl_args=(
60
+ --fail
61
+ --location
62
+ --progress-bar
63
+ --output "${partial_path}"
64
+ "${url}"
65
+ )
66
+
67
+ expected_size="$(get_remote_file_size "${url}" || true)"
68
+
69
+ if [[ -f "${output_path}" ]]; then
70
+ if [[ -n "${expected_size}" ]]; then
71
+ final_size="$(file_size "${output_path}")"
72
+ if [[ "${final_size}" == "${expected_size}" ]]; then
73
+ log "Using existing asset ${file_name} for ${benchmark_id}"
74
+ return
75
+ fi
76
+
77
+ log "Existing file size mismatch for ${file_name}: found ${final_size} bytes, expected ${expected_size} bytes. Preparing to resume..."
78
+ else
79
+ log "Using existing asset ${file_name} for ${benchmark_id}"
80
+ return
81
+ fi
82
+
83
+ if [[ -f "${partial_path}" ]]; then
84
+ partial_size="$(file_size "${partial_path}")"
85
+ if [[ "${partial_size}" -lt "${final_size}" ]]; then
86
+ rm -f "${partial_path}"
87
+ mv "${output_path}" "${partial_path}"
88
+ else
89
+ rm -f "${output_path}"
90
+ fi
91
+ else
92
+ mv "${output_path}" "${partial_path}"
93
+ fi
94
+ fi
95
+
96
+ if [[ -f "${partial_path}" ]]; then
97
+ if [[ -n "${expected_size}" ]]; then
98
+ partial_size="$(file_size "${partial_path}")"
99
+ if [[ "${partial_size}" == "${expected_size}" ]]; then
100
+ mv "${partial_path}" "${output_path}"
101
+ log "Recovered completed asset ${file_name} for ${benchmark_id}"
102
+ return
103
+ fi
104
+
105
+ if [[ "${partial_size}" -gt "${expected_size}" ]]; then
106
+ log "Partial download for ${file_name} is larger than expected. Restarting download..."
107
+ rm -f "${partial_path}"
108
+ else
109
+ log "Resuming ${file_name} for ${benchmark_id} from ${partial_size} of ${expected_size} bytes"
110
+ fi
111
+ else
112
+ log "Resuming ${file_name} for ${benchmark_id} from existing partial file"
113
+ fi
114
+
115
+ curl_args=(--continue-at - "${curl_args[@]}")
116
+ else
117
+ log "Downloading ${file_name} for ${benchmark_id}"
118
+ fi
119
+
120
+ while (( attempt <= MAX_DOWNLOAD_ATTEMPTS )); do
121
+ if curl "${curl_args[@]}"; then
122
+ if [[ -n "${expected_size}" ]]; then
123
+ partial_size="$(file_size "${partial_path}")"
124
+ if [[ "${partial_size}" != "${expected_size}" ]]; then
125
+ log "Downloaded size mismatch for ${file_name}: expected ${expected_size} bytes, got ${partial_size} bytes"
126
+ else
127
+ mv "${partial_path}" "${output_path}"
128
+ log "Download completed: ${file_name}"
129
+ return
130
+ fi
131
+ else
132
+ mv "${partial_path}" "${output_path}"
133
+ log "Download completed: ${file_name}"
134
+ return
135
+ fi
136
+ fi
137
+
138
+ if (( attempt == MAX_DOWNLOAD_ATTEMPTS )); then
139
+ log "Download failed for ${file_name} after ${MAX_DOWNLOAD_ATTEMPTS} attempts"
140
+ return 1
141
+ fi
142
+
143
+ log "Retrying ${file_name} (${attempt}/${MAX_DOWNLOAD_ATTEMPTS})..."
144
+ attempt=$((attempt + 1))
145
+ done
146
+ }
147
+
148
+ log 'Upgrading pip'
149
+ python3 -m pip install --quiet --upgrade pip
150
+
151
+ install_requirements
152
+
153
+ for benchmark_asset in "${BENCHMARK_ASSETS[@]}"; do
154
+ IFS='|' read -r benchmark_id file_name url <<<"${benchmark_asset}"
155
+ download_asset "${benchmark_id}" "${file_name}" "${url}"
156
+ done
157
+
158
+ log 'Benchmark assets are ready'
@@ -0,0 +1,87 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ BENCHMARK_VISUALIZER_LOG="${BENCHMARK_VISUALIZER_LOG:-/tmp/depthai-benchmark-visualizer.log}"
6
+ BENCHMARK_VISUALIZER_PIDFILE="${BENCHMARK_VISUALIZER_PIDFILE:-/tmp/depthai-benchmark-visualizer.pid}"
7
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8
+ REPO_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
9
+ VISUALIZER_DIR="${REPO_ROOT}/packages/visualizer"
10
+ VITE_BIN="${REPO_ROOT}/node_modules/.bin/vite"
11
+
12
+ if [[ $# -eq 0 ]]; then
13
+ echo 'Usage: ./benchmark-root.sh -- <command> [args...]'
14
+ exit 1
15
+ fi
16
+
17
+ if [[ "$1" == "--" ]]; then
18
+ shift
19
+ fi
20
+
21
+ if [[ $# -eq 0 ]]; then
22
+ echo 'Usage: ./benchmark-root.sh -- <command> [args...]'
23
+ exit 1
24
+ fi
25
+
26
+ cleanup() {
27
+ if [[ -f "${BENCHMARK_VISUALIZER_PIDFILE}" ]]; then
28
+ local visualizer_pid
29
+ while IFS= read -r visualizer_pid; do
30
+ if [[ -n "${visualizer_pid}" ]]; then
31
+ kill_process_tree "${visualizer_pid}"
32
+ fi
33
+ done <"${BENCHMARK_VISUALIZER_PIDFILE}"
34
+ rm -f "${BENCHMARK_VISUALIZER_PIDFILE}"
35
+ fi
36
+ }
37
+
38
+ kill_process_tree() {
39
+ local parent_pid="$1"
40
+
41
+ if [[ -z "${parent_pid}" ]] || ! kill -0 "${parent_pid}" 2>/dev/null; then
42
+ return
43
+ fi
44
+
45
+ local child_pid
46
+ while IFS= read -r child_pid; do
47
+ kill_process_tree "${child_pid}"
48
+ done < <(pgrep -P "${parent_pid}" 2>/dev/null || true)
49
+
50
+ kill "${parent_pid}" 2>/dev/null || true
51
+ wait "${parent_pid}" 2>/dev/null || true
52
+ }
53
+
54
+ trap cleanup EXIT HUP INT QUIT TERM
55
+ cleanup
56
+
57
+ (
58
+ cd "${VISUALIZER_DIR}"
59
+ BENCHMARK=true npm run build
60
+ BENCHMARK=true "${VITE_BIN}" preview --host localhost --open '/'
61
+ ) >"${BENCHMARK_VISUALIZER_LOG}" 2>&1 &
62
+ visualizer_pid=$!
63
+ printf '%s' "${visualizer_pid}" >"${BENCHMARK_VISUALIZER_PIDFILE}"
64
+
65
+ for _ in {1..120}; do
66
+ if ! kill -0 "${visualizer_pid}" 2>/dev/null; then
67
+ echo "[benchmark] Visualizer preview exited early. See ${BENCHMARK_VISUALIZER_LOG}"
68
+ exit 1
69
+ fi
70
+
71
+ if curl -sf http://localhost:4173/ >/dev/null; then
72
+ listener_pid="$(lsof -tiTCP:4173 -sTCP:LISTEN 2>/dev/null | head -n 1 || true)"
73
+ if [[ -n "${listener_pid}" ]] && ! grep -qx "${listener_pid}" "${BENCHMARK_VISUALIZER_PIDFILE}"; then
74
+ printf '\n%s' "${listener_pid}" >>"${BENCHMARK_VISUALIZER_PIDFILE}"
75
+ fi
76
+ break
77
+ fi
78
+
79
+ sleep 1
80
+ done
81
+
82
+ if ! curl -sf http://localhost:4173/ >/dev/null; then
83
+ echo "[benchmark] Visualizer preview did not become ready. See ${BENCHMARK_VISUALIZER_LOG}"
84
+ exit 1
85
+ fi
86
+
87
+ "$@"
package/benchmark.sh ADDED
@@ -0,0 +1,110 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6
+ BENCHMARKS_DIR="${SCRIPT_DIR}/src/utils/benchmarks"
7
+ INTER_BENCHMARK_DELAY_SECONDS="${BENCHMARK_INTER_BENCHMARK_DELAY_SECONDS:-5}"
8
+ FINALIZATION_DELAY_SECONDS="${BENCHMARK_FINALIZATION_DELAY_SECONDS:-8}"
9
+
10
+ BENCHMARKS=(
11
+ "bgr888i-stream|BGR888i Stream"
12
+ "encoded-stream|H.264 Stream"
13
+ "nv12-stream|NV12 Stream"
14
+ "pointcloud|Point Cloud"
15
+ )
16
+ BENCHMARK_RESOLUTION="${BENCHMARK_RESOLUTION:-1920x1080}"
17
+
18
+ trap 'exit 130' INT
19
+ trap 'exit 143' TERM
20
+
21
+ log() {
22
+ printf '[benchmark] %s\n' "$1"
23
+ }
24
+
25
+ parse_args() {
26
+ while [[ $# -gt 0 ]]; do
27
+ case "$1" in
28
+ --resolution)
29
+ if [[ $# -lt 2 ]]; then
30
+ log 'Missing value for --resolution'
31
+ exit 1
32
+ fi
33
+
34
+ if [[ ! "$2" =~ ^[0-9]+x[0-9]+$ ]]; then
35
+ log 'Resolution must be in WIDTHxHEIGHT format'
36
+ exit 1
37
+ fi
38
+
39
+ local width="${2%x*}"
40
+ local height="${2#*x}"
41
+ if (( width <= 0 || height <= 0 )); then
42
+ log 'Resolution width and height must be positive'
43
+ exit 1
44
+ fi
45
+
46
+ if (( width % 2 != 0 || height % 2 != 0 )); then
47
+ log 'Resolution width and height must be even'
48
+ exit 1
49
+ fi
50
+
51
+ BENCHMARK_RESOLUTION="$2"
52
+ shift 2
53
+ ;;
54
+ -h|--help)
55
+ cat <<EOF
56
+ Usage: ./benchmark.sh [--resolution WIDTHxHEIGHT]
57
+
58
+ Options:
59
+ --resolution WIDTHxHEIGHT Resize image benchmarks before publishing.
60
+ EOF
61
+ exit 0
62
+ ;;
63
+ *)
64
+ log "Unknown argument: $1"
65
+ exit 1
66
+ ;;
67
+ esac
68
+ done
69
+ }
70
+
71
+ run_benchmark() {
72
+ local benchmark_id=$1
73
+ local benchmark_dir="${BENCHMARKS_DIR}/${benchmark_id}"
74
+ local -a benchmark_args=()
75
+
76
+ log "Starting benchmark ${benchmark_id}"
77
+ if [[ -n "${BENCHMARK_RESOLUTION}" ]]; then
78
+ log "Using resolution ${BENCHMARK_RESOLUTION} for ${benchmark_id}"
79
+ benchmark_args+=(--resolution "${BENCHMARK_RESOLUTION}")
80
+ else
81
+ log "Using recorded source resolution for ${benchmark_id}"
82
+ fi
83
+
84
+ (
85
+ cd "${benchmark_dir}"
86
+ if (( ${#benchmark_args[@]} > 0 )); then
87
+ python3 main.py "${benchmark_args[@]}"
88
+ else
89
+ python3 main.py
90
+ fi
91
+ )
92
+ }
93
+
94
+ parse_args "$@"
95
+
96
+ for benchmark_index in "${!BENCHMARKS[@]}"; do
97
+ benchmark_config="${BENCHMARKS[benchmark_index]}"
98
+ IFS='|' read -r benchmark_id _topic_name <<<"${benchmark_config}"
99
+ run_benchmark "${benchmark_id}"
100
+
101
+ if (( benchmark_index < ${#BENCHMARKS[@]} - 1 )); then
102
+ log "Waiting ${INTER_BENCHMARK_DELAY_SECONDS}s before starting the next benchmark"
103
+ sleep "${INTER_BENCHMARK_DELAY_SECONDS}"
104
+ fi
105
+ done
106
+
107
+ log "Waiting ${FINALIZATION_DELAY_SECONDS}s for CSV download finalization"
108
+ sleep "${FINALIZATION_DELAY_SECONDS}"
109
+
110
+ log 'Benchmark run complete'
@@ -1 +1 @@
1
- {"version":3,"file":"Streams.d.ts","sourceRoot":"","sources":["../../src/components/Streams.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,EAAE,KAAK,GAAG,EAAkB,MAAM,OAAO,CAAC;AAIxD,OAAO,EAAmB,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE9F,OAAO,EAAkB,KAAK,UAAU,EAAe,MAAM,yBAAyB,CAAC;AAEvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAsE7E,KAAK,cAAc,GAAG,CACrB,KAAK,EAAE,KAAK,CAAC,UAAU,EACvB,iBAAiB,EACd;IACA,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACf,GACD,SAAS,KACR,IAAI,CAAC;AAkcV,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,KAAK,MAAM,CAAC;IACtD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrD,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oBAAoB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;CACzC,CA8QA,CAAC"}
1
+ {"version":3,"file":"Streams.d.ts","sourceRoot":"","sources":["../../src/components/Streams.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,EAAE,KAAK,GAAG,EAAkB,MAAM,OAAO,CAAC;AAIxD,OAAO,EAAmB,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE9F,OAAO,EAAkB,KAAK,UAAU,EAAe,MAAM,yBAAyB,CAAC;AAGvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAsE7E,KAAK,cAAc,GAAG,CACrB,KAAK,EAAE,KAAK,CAAC,UAAU,EACvB,iBAAiB,EACd;IACA,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACf,GACD,SAAS,KACR,IAAI,CAAC;AAmcV,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,KAAK,MAAM,CAAC;IACtD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrD,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oBAAoB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;CACzC,CA+QA,CAAC"}
@@ -7,6 +7,7 @@ import { TbRulerMeasure } from 'react-icons/tb';
7
7
  import { ResizableLayout } from '@luxonis/depthai-viewer-common';
8
8
  import { FaUsersViewfinder as VisualizerIcon } from 'react-icons/fa6';
9
9
  import { HIDDEN_STREAMS, StreamTypes } from '../constants/streams.js';
10
+ import { useBenchmarkAutomation } from '../hooks/benchmark-automation.js';
10
11
  import { useFullscreenDynamic } from '../hooks/useFullScreen.js';
11
12
  import { useDaiConnection } from '../providers/ConnectionProvider.js';
12
13
  import { useData } from '../providers/DataProvider.js';
@@ -273,6 +274,7 @@ export const Streams = ({ targetFps, triggerToast, deviceOptions, hideToolbar, d
273
274
  const [shouldDisplayHelper, setShouldDisplayHelper] = React.useState(false);
274
275
  const [connecting, setConnecting] = React.useState(false);
275
276
  const allowedTopicNames = React.useMemo(() => allowedTopics ?? topics.map((topic) => topic.name), [allowedTopics, topics]);
277
+ useBenchmarkAutomation({ daiConnection, topics, toggleTopic });
276
278
  const enabledTopics = React.useMemo(() => makeColumns(topicSortingFunction
277
279
  ? topics
278
280
  .filter((topic) => allowedTopicNames.includes(topic.name) &&
@@ -1 +1 @@
1
- {"version":3,"file":"Streams.js","sourceRoot":"","sources":["../../src/components/Streams.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Streams.js","sourceRoot":"","sources":["../../src/components/Streams.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { DAIConnection } from '../dai-connection/connection.js';
2
+ import type { Topic } from './connection.js';
3
+ export declare function useBenchmarkAutomation({ daiConnection, topics, toggleTopic, }: {
4
+ daiConnection: DAIConnection | null;
5
+ topics: Topic[];
6
+ toggleTopic: (topicName: string) => void;
7
+ }): void;
8
+ //# sourceMappingURL=benchmark-automation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-automation.d.ts","sourceRoot":"","sources":["../../src/hooks/benchmark-automation.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AA4P7C,wBAAgB,sBAAsB,CAAC,EACtC,aAAa,EACb,MAAM,EACN,WAAW,GACX,EAAE;IACF,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,QA4LA"}
@@ -0,0 +1,306 @@
1
+ import { constructKeyForTopicRenderMetrics, globalRenderMetricsManager, } from '@luxonis/visualizer-protobuf';
2
+ import React from 'react';
3
+ import { StreamTypes } from '../constants/streams.js';
4
+ import { useFlatSearch } from './search.js';
5
+ const BENCHMARK_POLL_INTERVAL_MS = 500;
6
+ const BENCHMARK_IDLE_TIMEOUT_MS = 2_000;
7
+ const BENCHMARK_START_TIMEOUT_MS = 10_000;
8
+ const BENCHMARK_TOPIC_ENABLE_RETRY_MS = 1_500;
9
+ const BENCHMARK_MODE_ENABLED = import.meta.env?.BENCHMARK === 'true';
10
+ const DEFAULT_BENCHMARK_PLAN = [
11
+ { id: 'bgr888i-stream', topicName: 'BGR888i Stream' },
12
+ { id: 'encoded-stream', topicName: StreamTypes.Encoded },
13
+ { id: 'nv12-stream', topicName: 'NV12 Stream' },
14
+ { id: 'pointcloud', topicName: StreamTypes.PointCloud },
15
+ ];
16
+ const isFiniteNumber = (value) => Number.isFinite(value);
17
+ function parseBenchmarkPlan(rawPlan) {
18
+ if (!rawPlan || Array.isArray(rawPlan)) {
19
+ return [];
20
+ }
21
+ try {
22
+ const parsed = JSON.parse(rawPlan);
23
+ return parsed.filter((entry) => typeof entry?.id === 'string' && typeof entry?.topicName === 'string');
24
+ }
25
+ catch {
26
+ return [];
27
+ }
28
+ }
29
+ function getDefaultBenchmarkPlan() {
30
+ const envPlan = parseBenchmarkPlan(import.meta.env?.BENCHMARK_PLAN);
31
+ return envPlan.length > 0 ? envPlan : DEFAULT_BENCHMARK_PLAN;
32
+ }
33
+ function getRequiredTopicsForBenchmark(benchmark) {
34
+ return new Set([benchmark.topicName]);
35
+ }
36
+ function hasEnabledTopic(topics, topicName) {
37
+ return topics.some((topic) => topic.name === topicName && topic.enabled);
38
+ }
39
+ function hasTopicTransportActivity(daiConnection, topicName) {
40
+ const metrics = daiConnection?.connection?.getTopicMetrics(topicName);
41
+ return (isFiniteNumber(metrics?.incomingMessagesFps) || isFiniteNumber(metrics?.decodedMessagesFps));
42
+ }
43
+ function calculateSummary(samples) {
44
+ if (samples.length === 0) {
45
+ return { min: null, median: null, max: null };
46
+ }
47
+ const sortedSamples = [...samples].sort((left, right) => left - right);
48
+ const middleIndex = Math.floor(sortedSamples.length / 2);
49
+ const median = sortedSamples.length % 2 === 0
50
+ ? Number(((sortedSamples[middleIndex - 1] + sortedSamples[middleIndex]) / 2).toFixed(2))
51
+ : sortedSamples[middleIndex];
52
+ return {
53
+ min: sortedSamples[0],
54
+ median,
55
+ max: sortedSamples.at(-1) ?? sortedSamples[0],
56
+ };
57
+ }
58
+ function formatCsvValue(value) {
59
+ if (value === null) {
60
+ return '';
61
+ }
62
+ const stringValue = String(value);
63
+ if (stringValue.includes(',') || stringValue.includes('"')) {
64
+ return `"${stringValue.replaceAll('"', '""')}"`;
65
+ }
66
+ return stringValue;
67
+ }
68
+ function downloadResults(results) {
69
+ const header = [
70
+ 'benchmark_id',
71
+ 'topic_name',
72
+ 'incoming_fps_min',
73
+ 'incoming_fps_median',
74
+ 'incoming_fps_max',
75
+ 'decoded_fps_min',
76
+ 'decoded_fps_median',
77
+ 'decoded_fps_max',
78
+ 'rendering_fps_min',
79
+ 'rendering_fps_median',
80
+ 'rendering_fps_max',
81
+ 'sample_count',
82
+ ];
83
+ const rows = results.map((result) => [
84
+ result.benchmarkId,
85
+ result.topicName,
86
+ result.incomingFps.min,
87
+ result.incomingFps.median,
88
+ result.incomingFps.max,
89
+ result.decodedFps.min,
90
+ result.decodedFps.median,
91
+ result.decodedFps.max,
92
+ result.renderingFps.min,
93
+ result.renderingFps.median,
94
+ result.renderingFps.max,
95
+ result.sampleCount,
96
+ ]
97
+ .map(formatCsvValue)
98
+ .join(','));
99
+ const csvContents = [header.join(','), ...rows].join('\n');
100
+ const blob = new Blob([csvContents], { type: 'text/csv;charset=utf-8' });
101
+ const url = window.URL.createObjectURL(blob);
102
+ const anchor = document.createElement('a');
103
+ anchor.href = url;
104
+ anchor.download = `visualizer-benchmark-results-${new Date().toISOString().replaceAll(':', '-')}.csv`;
105
+ document.body.append(anchor);
106
+ anchor.click();
107
+ window.setTimeout(() => {
108
+ anchor.remove();
109
+ window.URL.revokeObjectURL(url);
110
+ }, 0);
111
+ }
112
+ function toBenchmarkResult(activeBenchmark) {
113
+ return {
114
+ benchmarkId: activeBenchmark.benchmarkId,
115
+ topicName: activeBenchmark.topicName,
116
+ incomingFps: calculateSummary(activeBenchmark.incomingFpsSamples),
117
+ decodedFps: calculateSummary(activeBenchmark.decodedFpsSamples),
118
+ renderingFps: calculateSummary(activeBenchmark.renderingFpsSamples),
119
+ sampleCount: Math.max(activeBenchmark.incomingFpsSamples.length, activeBenchmark.decodedFpsSamples.length, activeBenchmark.renderingFpsSamples.length),
120
+ };
121
+ }
122
+ function syncManagedTopicStates({ now, topics, managedBenchmarkTopics, requiredTopics, pendingTopicStates, toggleTopic, }) {
123
+ const pointCloudTopic = topics.find((topic) => topic.name === StreamTypes.PointCloud);
124
+ for (const topic of topics) {
125
+ if (!managedBenchmarkTopics.has(topic.name)) {
126
+ continue;
127
+ }
128
+ // `toggleTopic(Point Cloud)` already toggles `_Point Cloud Color`.
129
+ // If Point Cloud isn't enabled yet, wait for that toggle instead of
130
+ // immediately toggling the companion stream back to the wrong state.
131
+ if (topic.name === StreamTypes._PointCloudColor &&
132
+ requiredTopics.has(StreamTypes.PointCloud) &&
133
+ !(pointCloudTopic?.enabled ?? false)) {
134
+ continue;
135
+ }
136
+ const shouldBeEnabled = requiredTopics.has(topic.name);
137
+ const pendingState = pendingTopicStates.get(topic.name);
138
+ if (topic.enabled === shouldBeEnabled) {
139
+ pendingTopicStates.delete(topic.name);
140
+ continue;
141
+ }
142
+ if (pendingState &&
143
+ pendingState.desiredEnabled === shouldBeEnabled &&
144
+ now - pendingState.attemptedAt < BENCHMARK_TOPIC_ENABLE_RETRY_MS) {
145
+ continue;
146
+ }
147
+ pendingTopicStates.set(topic.name, {
148
+ desiredEnabled: shouldBeEnabled,
149
+ attemptedAt: now,
150
+ });
151
+ toggleTopic(topic.name);
152
+ }
153
+ }
154
+ export function useBenchmarkAutomation({ daiConnection, topics, toggleTopic, }) {
155
+ const { search } = useFlatSearch({});
156
+ const benchmarkPlan = React.useMemo(() => {
157
+ const planFromSearch = parseBenchmarkPlan(search.benchmark_plan);
158
+ return planFromSearch.length > 0 ? planFromSearch : getDefaultBenchmarkPlan();
159
+ }, [search.benchmark_plan]);
160
+ const benchmarkEnabled = BENCHMARK_MODE_ENABLED && benchmarkPlan.length > 0;
161
+ const managedBenchmarkTopics = React.useMemo(() => {
162
+ const managedTopics = new Set();
163
+ for (const benchmark of benchmarkPlan) {
164
+ for (const topicName of getRequiredTopicsForBenchmark(benchmark)) {
165
+ managedTopics.add(topicName);
166
+ }
167
+ }
168
+ return managedTopics;
169
+ }, [benchmarkPlan]);
170
+ const currentBenchmarkIndexRef = React.useRef(0);
171
+ const activeBenchmarkRef = React.useRef(null);
172
+ const benchmarkSequenceStartedRef = React.useRef(false);
173
+ const completedResultsRef = React.useRef([]);
174
+ const hasDownloadedRef = React.useRef(false);
175
+ const pendingTopicStatesRef = React.useRef(new Map());
176
+ React.useEffect(() => {
177
+ currentBenchmarkIndexRef.current = 0;
178
+ activeBenchmarkRef.current = null;
179
+ benchmarkSequenceStartedRef.current = false;
180
+ completedResultsRef.current = [];
181
+ hasDownloadedRef.current = false;
182
+ pendingTopicStatesRef.current = new Map();
183
+ }, [benchmarkEnabled, benchmarkPlan]);
184
+ React.useEffect(() => {
185
+ if (!benchmarkEnabled) {
186
+ return;
187
+ }
188
+ const interval = window.setInterval(() => {
189
+ const currentBenchmark = benchmarkPlan[currentBenchmarkIndexRef.current];
190
+ if (!currentBenchmark) {
191
+ if (!benchmarkSequenceStartedRef.current) {
192
+ return;
193
+ }
194
+ syncManagedTopicStates({
195
+ now: Date.now(),
196
+ topics,
197
+ managedBenchmarkTopics,
198
+ requiredTopics: new Set(),
199
+ pendingTopicStates: pendingTopicStatesRef.current,
200
+ toggleTopic,
201
+ });
202
+ if (!hasDownloadedRef.current) {
203
+ hasDownloadedRef.current = true;
204
+ downloadResults(completedResultsRef.current);
205
+ }
206
+ return;
207
+ }
208
+ const now = Date.now();
209
+ const requiredTopics = getRequiredTopicsForBenchmark(currentBenchmark);
210
+ syncManagedTopicStates({
211
+ now,
212
+ topics,
213
+ managedBenchmarkTopics,
214
+ requiredTopics,
215
+ pendingTopicStates: pendingTopicStatesRef.current,
216
+ toggleTopic,
217
+ });
218
+ const matchingTopic = topics.find((topic) => topic.name === currentBenchmark.topicName);
219
+ const isMatchingTopicEnabled = matchingTopic?.enabled ?? false;
220
+ const areAllRequiredTopicsEnabled = [...requiredTopics].every((topicName) => hasEnabledTopic(topics, topicName));
221
+ const hasObservedManagedTopic = topics.some((topic) => managedBenchmarkTopics.has(topic.name));
222
+ if (hasObservedManagedTopic) {
223
+ benchmarkSequenceStartedRef.current = true;
224
+ }
225
+ const metrics = daiConnection?.connection?.getTopicMetrics(currentBenchmark.topicName);
226
+ const incomingFps = metrics?.incomingMessagesFps;
227
+ const decodedFps = metrics?.decodedMessagesFps;
228
+ const renderMetricsKey = constructKeyForTopicRenderMetrics('renderImageFrame', currentBenchmark.topicName);
229
+ const renderingFps = globalRenderMetricsManager.calculate(renderMetricsKey);
230
+ const hasFpsSample = isFiniteNumber(incomingFps) || isFiniteNumber(decodedFps) || isFiniteNumber(renderingFps);
231
+ const hasRequiredTopicActivity = [...requiredTopics].some((topicName) => hasTopicTransportActivity(daiConnection, topicName));
232
+ if (hasFpsSample || hasRequiredTopicActivity) {
233
+ benchmarkSequenceStartedRef.current = true;
234
+ }
235
+ if (!benchmarkSequenceStartedRef.current && !matchingTopic && !hasRequiredTopicActivity) {
236
+ return;
237
+ }
238
+ const activeBenchmark = activeBenchmarkRef.current;
239
+ if (!activeBenchmark || activeBenchmark.benchmarkId !== currentBenchmark.id) {
240
+ activeBenchmarkRef.current = {
241
+ benchmarkId: currentBenchmark.id,
242
+ topicName: currentBenchmark.topicName,
243
+ incomingFpsSamples: [],
244
+ decodedFpsSamples: [],
245
+ renderingFpsSamples: [],
246
+ startedAt: now,
247
+ hasObservedTopic: false,
248
+ lastActivityAt: null,
249
+ lastFpsSampleAt: null,
250
+ };
251
+ }
252
+ if (matchingTopic) {
253
+ if (activeBenchmarkRef.current) {
254
+ activeBenchmarkRef.current.hasObservedTopic = true;
255
+ }
256
+ }
257
+ if (hasRequiredTopicActivity && activeBenchmarkRef.current) {
258
+ activeBenchmarkRef.current.lastActivityAt = now;
259
+ }
260
+ if (hasFpsSample) {
261
+ const sampleTimestamp = now;
262
+ if (isFiniteNumber(incomingFps)) {
263
+ activeBenchmarkRef.current?.incomingFpsSamples.push(incomingFps);
264
+ }
265
+ if (isFiniteNumber(decodedFps)) {
266
+ activeBenchmarkRef.current?.decodedFpsSamples.push(decodedFps);
267
+ }
268
+ if (isFiniteNumber(renderingFps)) {
269
+ activeBenchmarkRef.current?.renderingFpsSamples.push(renderingFps);
270
+ }
271
+ if (activeBenchmarkRef.current) {
272
+ activeBenchmarkRef.current.lastFpsSampleAt = sampleTimestamp;
273
+ }
274
+ }
275
+ const currentActiveBenchmark = activeBenchmarkRef.current;
276
+ if (!currentActiveBenchmark || currentActiveBenchmark.benchmarkId !== currentBenchmark.id) {
277
+ return;
278
+ }
279
+ const isBenchmarkIdle = !hasRequiredTopicActivity &&
280
+ currentActiveBenchmark.lastActivityAt !== null &&
281
+ now - currentActiveBenchmark.lastActivityAt >= BENCHMARK_IDLE_TIMEOUT_MS;
282
+ const hasBenchmarkTimedOut = now - currentActiveBenchmark.startedAt >= BENCHMARK_START_TIMEOUT_MS;
283
+ const shouldFinalizeWithoutSamples = currentActiveBenchmark.lastActivityAt === null &&
284
+ hasBenchmarkTimedOut &&
285
+ !areAllRequiredTopicsEnabled &&
286
+ (!isMatchingTopicEnabled || currentActiveBenchmark.hasObservedTopic);
287
+ const shouldFinalizeAfterTopicEnded = !isMatchingTopicEnabled &&
288
+ currentActiveBenchmark.hasObservedTopic &&
289
+ currentActiveBenchmark.lastFpsSampleAt !== null;
290
+ if (!isBenchmarkIdle && !shouldFinalizeWithoutSamples && !shouldFinalizeAfterTopicEnded) {
291
+ return;
292
+ }
293
+ if (currentActiveBenchmark.benchmarkId === currentBenchmark.id &&
294
+ (currentActiveBenchmark.hasObservedTopic || hasBenchmarkTimedOut)) {
295
+ completedResultsRef.current.push(toBenchmarkResult(currentActiveBenchmark));
296
+ activeBenchmarkRef.current = null;
297
+ pendingTopicStatesRef.current = new Map();
298
+ currentBenchmarkIndexRef.current += 1;
299
+ }
300
+ }, BENCHMARK_POLL_INTERVAL_MS);
301
+ return () => {
302
+ window.clearInterval(interval);
303
+ };
304
+ }, [benchmarkEnabled, benchmarkPlan, daiConnection, topics, toggleTopic]);
305
+ }
306
+ //# sourceMappingURL=benchmark-automation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-automation.js","sourceRoot":"","sources":["../../src/hooks/benchmark-automation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIzE,OAAO,EACN,aAAa,EACb,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,MAAM,iCAAiC,CAAC;AAOzC,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC;AAEzE,MAAM,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,YAAY,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,iBAAiB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACnC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EACnC,IAAI,EACJ,cAAc,EACd,eAAe,EACf,QAAgB,EAChB,UAAe,EACf,YAAoB,EACpB,GAAG,MAAM,EACT,EAAE,uBAAuB,GAAG,cAAc,CA6J1C"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIzE,OAAO,EACN,aAAa,EACb,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,MAAM,iCAAiC,CAAC;AAUzC,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC;AAEzE,MAAM,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,YAAY,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,iBAAiB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACnC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EACnC,IAAI,EACJ,cAAc,EACd,eAAe,EACf,QAAgB,EAChB,UAAe,EACf,YAAoB,EACpB,GAAG,MAAM,EACT,EAAE,uBAAuB,GAAG,cAAc,CA2M1C"}
@@ -7,6 +7,8 @@ import { Logger } from '../utils/logger.js';
7
7
  import { isPointCloudTopic } from '../utils/topic.js';
8
8
  import { useFlatSearch } from './search.js';
9
9
  const logger = Logger.getLogger();
10
+ const VISUALIZER_RECONNECT_DELAY_MS = 1_000;
11
+ const BENCHMARK_MODE_ENABLED = import.meta.env?.BENCHMARK === 'true';
10
12
  export function useCreateConnection({ type, activeServices, onNewConnection, isViewer = false, fakeTopics = [], tokenRefresh = false, ...params }) {
11
13
  const { updateSearch, search } = useFlatSearch({
12
14
  defaultInit: { cid: '', t: '', preset: '' },
@@ -21,16 +23,38 @@ export function useCreateConnection({ type, activeServices, onNewConnection, isV
21
23
  const [isPipelineLoading, setIsPipelineLoading] = React.useState(false);
22
24
  const [isConnectionError, setIsConnectionError] = React.useState(false);
23
25
  const [connection, setConnection] = React.useState(null);
26
+ const [connectionAttempt, setConnectionAttempt] = React.useState(0);
27
+ const reconnectTimeoutRef = React.useRef(null);
24
28
  const { toast } = useToast();
25
29
  const defaultTokenRefresh = (token) => {
26
30
  updateSearch('t', token);
27
31
  };
32
+ const clearReconnectTimeout = React.useCallback(() => {
33
+ if (reconnectTimeoutRef.current !== null) {
34
+ window.clearTimeout(reconnectTimeoutRef.current);
35
+ reconnectTimeoutRef.current = null;
36
+ }
37
+ }, []);
38
+ const scheduleReconnect = React.useCallback(() => {
39
+ if (isViewer || !BENCHMARK_MODE_ENABLED || reconnectTimeoutRef.current !== null) {
40
+ return;
41
+ }
42
+ reconnectTimeoutRef.current = window.setTimeout(() => {
43
+ reconnectTimeoutRef.current = null;
44
+ setConnectionAttempt((attempt) => attempt + 1);
45
+ }, VISUALIZER_RECONNECT_DELAY_MS);
46
+ }, [isViewer]);
28
47
  const refreshConnection = () => {
48
+ clearReconnectTimeout();
29
49
  const newConnection = new DAIConnection(fakeTopics);
50
+ setTopicsLoading(true);
51
+ setIsConnectionError(false);
30
52
  newConnection.on('error', handleError);
31
53
  newConnection.on('open', () => {
54
+ clearReconnectTimeout();
32
55
  setConnected(true);
33
56
  setIsPipelineLoading(true);
57
+ setIsConnectionError(false);
34
58
  });
35
59
  newConnection.on('close', () => {
36
60
  setConnected(false);
@@ -39,6 +63,9 @@ export function useCreateConnection({ type, activeServices, onNewConnection, isV
39
63
  setFullPipeline(undefined);
40
64
  setPipelineState(null);
41
65
  setIsPipelineLoading(false);
66
+ setTopicsLoading(true);
67
+ setConnection((currentConnection) => currentConnection === newConnection ? null : currentConnection);
68
+ scheduleReconnect();
42
69
  });
43
70
  newConnection.on('topics', (t) => {
44
71
  setTopicsLoading(false);
@@ -57,16 +84,24 @@ export function useCreateConnection({ type, activeServices, onNewConnection, isV
57
84
  });
58
85
  newConnection.on('disconnect', (error) => {
59
86
  log.error({ error }, 'DepthAI Connection disconnected!');
60
- toast({
61
- description: 'The link to the application frontend is not valid. You need to open the frontend from Luxonis Hub again.',
62
- colorVariant: 'error',
63
- duration: 'long',
64
- name: 'connection-error',
65
- });
87
+ if (isViewer) {
88
+ toast({
89
+ description: 'The link to the application frontend is not valid. You need to open the frontend from Luxonis Hub again.',
90
+ colorVariant: 'error',
91
+ duration: 'long',
92
+ name: 'connection-error',
93
+ });
94
+ }
66
95
  setConnected(false);
67
96
  setTopics([]);
68
97
  setPipeline(undefined);
69
- setIsConnectionError(true);
98
+ setFullPipeline(undefined);
99
+ setPipelineState(null);
100
+ setIsPipelineLoading(false);
101
+ setTopicsLoading(true);
102
+ setIsConnectionError(isViewer);
103
+ setConnection((currentConnection) => currentConnection === newConnection ? null : currentConnection);
104
+ scheduleReconnect();
70
105
  });
71
106
  onNewConnection?.(newConnection);
72
107
  if (newConnection.alive) {
@@ -85,13 +120,18 @@ export function useCreateConnection({ type, activeServices, onNewConnection, isV
85
120
  };
86
121
  // biome-ignore lint/correctness/useExhaustiveDependencies: `params` will always change on re-renders
87
122
  React.useEffect(() => {
88
- if (!connected) {
123
+ if (!connected && connection === null && reconnectTimeoutRef.current === null) {
89
124
  refreshConnection();
90
125
  }
91
- }, [params.clientId, params.connectionUrl, params.token, onNewConnection, connected]);
126
+ }, [params.clientId, params.connectionUrl, params.token, onNewConnection, connected, connection, connectionAttempt]);
92
127
  React.useEffect(() => {
93
128
  connection?.setActiveServices(activeServices);
94
129
  }, [connection, activeServices]);
130
+ React.useEffect(() => {
131
+ return () => {
132
+ clearReconnectTimeout();
133
+ };
134
+ }, [clearReconnectTimeout]);
95
135
  const connections = React.useMemo(() => (connection?.connection ? [connection.connection] : []), [connection]);
96
136
  React.useEffect(() => {
97
137
  if (connected) {
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxonis/depthai-viewer-common",
3
- "version": "2.4.0",
3
+ "version": "2.4.1",
4
4
  "description": "Common utilities and components for building a frontend application for DepthAI projects",
5
5
  "license": "ISC",
6
6
  "author": "Luxonis Holding Corporation",
@@ -20,7 +20,9 @@
20
20
  "build:clean": "rm -fr ../../node_modules/.tmp/tsconfig-common.tsbuildinfo dist && npm run build",
21
21
  "build:clean:win": "if exist ..\\..\\node_modules\\.tmp\\tsconfig-common.tsbuildinfo del /Q ..\\..\\node_modules\\.tmp\\tsconfig-common.tsbuildinfo & if exist dist rmdir /S /Q dist & npm run build:win",
22
22
  "check-deps": "npm run deps:check -w @luxonis/depthai-web-viewer",
23
- "prepublishOnly": "npm run check-deps && npm run build:clean"
23
+ "prepublishOnly": "npm run check-deps && npm run build:clean",
24
+ "benchmark": "./benchmark-download.sh && ./benchmark.sh",
25
+ "benchmark:download": "./benchmark-download.sh"
24
26
  },
25
27
  "publishConfig": {
26
28
  "access": "public"