@camstack/addon-model-studio 1.1.108 → 1.1.110
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/{PrivacyMaskSettings-D_yq7O4C.mjs → PrivacyMaskSettings-UekMg4X1.mjs} +94 -87
- package/dist/_stub.js +3 -3
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-3wcLR0KF.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DzC3DjlC.mjs} +4 -4
- package/dist/{hostInit-DLs_q5QW.mjs → hostInit-BfJGQc_v.mjs} +3 -3
- package/dist/model-studio.addon.js +57 -8
- package/dist/model-studio.addon.mjs +57 -8
- package/dist/remoteEntry.js +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-yLoaWzGF.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-C-J1T9CA.mjs} +1 -1
- package/package.json +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { c as e, h as t, m as n, p as r, u as i, y as a } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DJDHChgO.mjs";
|
|
2
2
|
import { a as ee, n as te, r as ne, s as o, t as s } from "./responsive-CDob01xQ.mjs";
|
|
3
|
-
import { n as re, t as
|
|
4
|
-
import { n as
|
|
5
|
-
import { t as
|
|
6
|
-
import { n as
|
|
7
|
-
import { MaskShapeCanvas as
|
|
8
|
-
var
|
|
3
|
+
import { n as re, t as ie } from "./player-overlays-zjGpr2DV.mjs";
|
|
4
|
+
import { n as ae, r as oe, t as se } from "./square-DVxG0_w-.mjs";
|
|
5
|
+
import { t as c } from "./trash-2-BgbLMJP2.mjs";
|
|
6
|
+
import { n as l, r as u, t as ce } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
|
|
7
|
+
import { MaskShapeCanvas as le } from "./MaskShapeCanvas-C4g96eMz.mjs";
|
|
8
|
+
var ue = o("hexagon", [["path", {
|
|
9
9
|
d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",
|
|
10
10
|
key: "yt0hxn"
|
|
11
|
-
}]]),
|
|
11
|
+
}]]), de = o("mic-off", [
|
|
12
12
|
["path", {
|
|
13
13
|
d: "M12 19v3",
|
|
14
14
|
key: "npa21l"
|
|
@@ -37,15 +37,15 @@ var le = o("hexagon", [["path", {
|
|
|
37
37
|
//#endregion
|
|
38
38
|
//#region ../ui-library/src/composites/cap-settings/privacy-mask-audio.ts
|
|
39
39
|
a();
|
|
40
|
-
var
|
|
41
|
-
function
|
|
40
|
+
var d = "Microphone", f = "The camera encodes no audio at all — live view, recordings, exports and the audio analyzer are all silent.";
|
|
41
|
+
function p(e) {
|
|
42
42
|
let t = e.supportsAudioMute === !0, n = t ? e.audioEnabled : null, r = e.pendingOn ?? null;
|
|
43
43
|
return {
|
|
44
|
-
label:
|
|
44
|
+
label: d,
|
|
45
45
|
supported: t,
|
|
46
46
|
on: n === null ? null : r ?? n,
|
|
47
47
|
available: t && n !== null,
|
|
48
|
-
costWhenOff:
|
|
48
|
+
costWhenOff: f
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
51
|
function m(e) {
|
|
@@ -53,34 +53,38 @@ function m(e) {
|
|
|
53
53
|
}
|
|
54
54
|
//#endregion
|
|
55
55
|
//#region ../ui-library/src/composites/cap-settings/PrivacyMaskSettings.tsx
|
|
56
|
-
var fe = 120,
|
|
57
|
-
function
|
|
56
|
+
var fe = 120, pe = "privacy-mask", h = "rounded-md border border-border bg-surface px-2 py-1 text-[11px] font-medium text-foreground-subtle hover:bg-surface-hover disabled:opacity-40 transition-colors", g = "rounded-md border border-primary/50 bg-primary/15 px-2.5 py-1 text-[11px] font-medium text-primary hover:bg-primary/25 disabled:opacity-40 transition-colors";
|
|
57
|
+
function _(e) {
|
|
58
58
|
return e.kind === "rect" || e.kind === "polygon" ? e : null;
|
|
59
59
|
}
|
|
60
|
-
function
|
|
60
|
+
function me(e) {
|
|
61
61
|
let t = new Set(e.map((e) => e.id)), n = 0;
|
|
62
62
|
for (; t.has(n);) n += 1;
|
|
63
63
|
return n;
|
|
64
64
|
}
|
|
65
|
-
function
|
|
65
|
+
function he(e, t) {
|
|
66
66
|
if (e.length !== t.length) return !1;
|
|
67
67
|
for (let n = 0; n < e.length; n += 1) if (JSON.stringify(e[n]) !== JSON.stringify(t[n])) return !1;
|
|
68
68
|
return !0;
|
|
69
69
|
}
|
|
70
|
-
function
|
|
71
|
-
let o = ne(ee().trpcClient, a), [
|
|
70
|
+
function v({ deviceId: a }) {
|
|
71
|
+
let o = ne(ee().trpcClient, a), [d, f] = t(null), [v, y] = t(!1), [b, x] = t(!1), [S, C] = t(null), [w, T] = t(null), [E, D] = t(!1), [O, k] = t(!1), [A, j] = t(null), [M, N] = t(null), [ge, P] = t(null), [F, I] = t(null), [L, R] = t(null), z = n(!1);
|
|
72
72
|
i(() => {
|
|
73
73
|
if (!o) return;
|
|
74
74
|
let e = !1;
|
|
75
|
-
return z.current = !1,
|
|
75
|
+
return z.current = !1, f(null), y(!1), x(!1), C(null), T(null), k(!1), j(null), N(null), P(null), I(null), R(null), (async () => {
|
|
76
76
|
try {
|
|
77
77
|
let t = await o.privacyMask?.getOptions({});
|
|
78
78
|
if (e) return;
|
|
79
79
|
if (!t) throw Error("device proxy not ready");
|
|
80
|
-
if (
|
|
80
|
+
if (f(t), z.current) return;
|
|
81
81
|
let n = await o.privacyMask?.getStatus({});
|
|
82
82
|
if (e) return;
|
|
83
83
|
if (!n) throw Error("device proxy not ready");
|
|
84
|
+
if (n.regions === null) {
|
|
85
|
+
x(!0), P(n.audioEnabled);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
84
88
|
z.current = !0;
|
|
85
89
|
let r = {
|
|
86
90
|
enabled: n.enabled,
|
|
@@ -89,17 +93,17 @@ function b({ deviceId: a }) {
|
|
|
89
93
|
T(r), C(r), P(n.audioEnabled);
|
|
90
94
|
} catch (t) {
|
|
91
95
|
if (e) return;
|
|
92
|
-
te(t) ?
|
|
96
|
+
te(t) ? y(!0) : console.error("Privacy Mask load failed", t);
|
|
93
97
|
}
|
|
94
98
|
})(), () => {
|
|
95
99
|
e = !0;
|
|
96
100
|
};
|
|
97
101
|
}, [o]);
|
|
98
|
-
let B = r(() => S !== null && w !== null && (S.enabled !== w.enabled || !
|
|
102
|
+
let B = r(() => S !== null && w !== null && (S.enabled !== w.enabled || !he(S.regions, w.regions)), [S, w]), V = S ? S.regions.length : 0, H = d ? d.maxRegions : 0, U = n(0);
|
|
99
103
|
i(() => {
|
|
100
104
|
U.current = H;
|
|
101
105
|
}, [H]);
|
|
102
|
-
let W = H > 0 && V >= H,
|
|
106
|
+
let W = H > 0 && V >= H, _e = e(() => {
|
|
103
107
|
C((e) => e && {
|
|
104
108
|
...e,
|
|
105
109
|
enabled: !e.enabled
|
|
@@ -112,7 +116,7 @@ function b({ deviceId: a }) {
|
|
|
112
116
|
enabled: e.enabled,
|
|
113
117
|
label: `Zone ${String(e.id)}`
|
|
114
118
|
})) : [], [S]), q = e((e, t) => {
|
|
115
|
-
let n =
|
|
119
|
+
let n = _(t);
|
|
116
120
|
n && C((t) => t && {
|
|
117
121
|
...t,
|
|
118
122
|
regions: t.regions.map((t) => t.id === e ? {
|
|
@@ -121,12 +125,12 @@ function b({ deviceId: a }) {
|
|
|
121
125
|
} : t)
|
|
122
126
|
});
|
|
123
127
|
}, []), J = e((e) => {
|
|
124
|
-
let t =
|
|
128
|
+
let t = _(e);
|
|
125
129
|
t && (N(null), C((e) => {
|
|
126
130
|
if (!e) return e;
|
|
127
131
|
let n = U.current;
|
|
128
132
|
if (n > 0 && e.regions.length >= n) return e;
|
|
129
|
-
let r =
|
|
133
|
+
let r = me(e.regions), i = {
|
|
130
134
|
id: r,
|
|
131
135
|
enabled: !0,
|
|
132
136
|
shape: t
|
|
@@ -138,19 +142,19 @@ function b({ deviceId: a }) {
|
|
|
138
142
|
}));
|
|
139
143
|
}, []), Y = e((e) => {
|
|
140
144
|
k(!0), j(null), N(e);
|
|
141
|
-
}, []),
|
|
145
|
+
}, []), ve = e((e) => {
|
|
142
146
|
k(!0), N(null), j(e);
|
|
143
147
|
}, []), X = e((e) => {
|
|
144
148
|
j((t) => t === e ? null : t), C((t) => t && {
|
|
145
149
|
...t,
|
|
146
150
|
regions: t.regions.filter((t) => t.id !== e)
|
|
147
151
|
});
|
|
148
|
-
}, []),
|
|
152
|
+
}, []), ye = e(() => {
|
|
149
153
|
N(null), j(null), w && C({
|
|
150
154
|
enabled: w.enabled,
|
|
151
155
|
regions: w.regions
|
|
152
156
|
});
|
|
153
|
-
}, [w]),
|
|
157
|
+
}, [w]), be = e(async () => {
|
|
154
158
|
if (!(!o || !S)) {
|
|
155
159
|
D(!0);
|
|
156
160
|
try {
|
|
@@ -159,7 +163,7 @@ function b({ deviceId: a }) {
|
|
|
159
163
|
regions: [...S.regions]
|
|
160
164
|
} });
|
|
161
165
|
let e = await o.privacyMask?.getStatus({});
|
|
162
|
-
if (e) {
|
|
166
|
+
if (e && e.regions !== null) {
|
|
163
167
|
let t = {
|
|
164
168
|
enabled: e.enabled,
|
|
165
169
|
regions: e.regions
|
|
@@ -172,11 +176,11 @@ function b({ deviceId: a }) {
|
|
|
172
176
|
D(!1);
|
|
173
177
|
}
|
|
174
178
|
}
|
|
175
|
-
}, [o, S]), Z =
|
|
176
|
-
supportsAudioMute:
|
|
177
|
-
audioEnabled:
|
|
179
|
+
}, [o, S]), Z = p({
|
|
180
|
+
supportsAudioMute: d === null ? null : d.supportsAudioMute,
|
|
181
|
+
audioEnabled: ge,
|
|
178
182
|
pendingOn: F
|
|
179
|
-
}),
|
|
183
|
+
}), xe = e(async () => {
|
|
180
184
|
let e = m(Z);
|
|
181
185
|
if (!(!o || e === null)) {
|
|
182
186
|
I(e.enabled), R(null);
|
|
@@ -190,17 +194,17 @@ function b({ deviceId: a }) {
|
|
|
190
194
|
I(null);
|
|
191
195
|
}
|
|
192
196
|
}
|
|
193
|
-
}, [o, Z]),
|
|
197
|
+
}, [o, Z]), Se = e(() => {
|
|
194
198
|
k((e) => (e && (N(null), j(null)), !e));
|
|
195
|
-
}, []), Q =
|
|
196
|
-
|
|
197
|
-
id:
|
|
199
|
+
}, []), Q = d?.supportedShapes ?? [];
|
|
200
|
+
ie(r(() => O && !v && d && S ? {
|
|
201
|
+
id: pe,
|
|
198
202
|
order: fe,
|
|
199
|
-
node: /* @__PURE__ */
|
|
203
|
+
node: /* @__PURE__ */ l(le, {
|
|
200
204
|
transparent: !0,
|
|
201
205
|
items: K,
|
|
202
206
|
supportedShapes: Q,
|
|
203
|
-
polygonVertices:
|
|
207
|
+
polygonVertices: d.polygonVertices,
|
|
204
208
|
selectedId: A,
|
|
205
209
|
onSelect: G,
|
|
206
210
|
onShapeChange: q,
|
|
@@ -209,8 +213,8 @@ function b({ deviceId: a }) {
|
|
|
209
213
|
})
|
|
210
214
|
} : null, [
|
|
211
215
|
O,
|
|
212
|
-
|
|
213
|
-
|
|
216
|
+
v,
|
|
217
|
+
d,
|
|
214
218
|
S,
|
|
215
219
|
K,
|
|
216
220
|
Q,
|
|
@@ -220,70 +224,73 @@ function b({ deviceId: a }) {
|
|
|
220
224
|
J,
|
|
221
225
|
M
|
|
222
226
|
]));
|
|
223
|
-
let
|
|
224
|
-
return o ? /* @__PURE__ */
|
|
227
|
+
let Ce = d?.supportedShapes.includes("rect") ?? !1, we = d?.supportedShapes.includes("polygon") ?? !1, $ = d !== null && (d.maxRegions <= 0 || d.supportedShapes.length === 0);
|
|
228
|
+
return o ? /* @__PURE__ */ l(re, {
|
|
225
229
|
title: "Privacy Mask",
|
|
226
|
-
icon: /* @__PURE__ */
|
|
227
|
-
children: /* @__PURE__ */
|
|
230
|
+
icon: /* @__PURE__ */ l(oe, { className: "h-3.5 w-3.5 text-foreground-subtle" }),
|
|
231
|
+
children: /* @__PURE__ */ u("div", {
|
|
228
232
|
className: "flex flex-col gap-3",
|
|
229
|
-
children: [
|
|
233
|
+
children: [v || $ ? /* @__PURE__ */ l("p", {
|
|
230
234
|
className: `${s} leading-relaxed`,
|
|
231
235
|
children: "This camera doesn't support an on-board privacy mask."
|
|
232
|
-
}) :
|
|
233
|
-
|
|
236
|
+
}) : b ? /* @__PURE__ */ l("p", {
|
|
237
|
+
className: `${s} leading-relaxed`,
|
|
238
|
+
children: "This camera hasn't answered, so what it currently masks is unknown — the editor stays closed rather than showing an empty frame you could save over. A battery camera answers once it wakes; otherwise check that it is reachable."
|
|
239
|
+
}) : !v && !$ && !b && d !== null && S !== null ? /* @__PURE__ */ u(ce, { children: [
|
|
240
|
+
/* @__PURE__ */ u("p", {
|
|
234
241
|
className: `${s} leading-relaxed`,
|
|
235
242
|
children: [
|
|
236
243
|
"Toggle ",
|
|
237
|
-
/* @__PURE__ */
|
|
244
|
+
/* @__PURE__ */ l("strong", {
|
|
238
245
|
className: "text-foreground",
|
|
239
246
|
children: "Edit mask"
|
|
240
247
|
}),
|
|
241
248
|
" to draw blanked-out zones on the live frame, then ",
|
|
242
|
-
/* @__PURE__ */
|
|
249
|
+
/* @__PURE__ */ l("strong", {
|
|
243
250
|
className: "text-foreground",
|
|
244
251
|
children: "Save"
|
|
245
252
|
}),
|
|
246
253
|
" to push them to the camera. Drag a rectangle to move, its corner to resize; drag polygon vertices, click an edge midpoint to add one, or right-click a vertex to remove it."
|
|
247
254
|
]
|
|
248
255
|
}),
|
|
249
|
-
/* @__PURE__ */
|
|
256
|
+
/* @__PURE__ */ u("div", {
|
|
250
257
|
className: "flex items-center gap-2 flex-wrap",
|
|
251
258
|
children: [
|
|
252
|
-
/* @__PURE__ */
|
|
259
|
+
/* @__PURE__ */ l("button", {
|
|
253
260
|
type: "button",
|
|
254
|
-
onClick:
|
|
261
|
+
onClick: Se,
|
|
255
262
|
disabled: E,
|
|
256
263
|
"aria-pressed": O,
|
|
257
|
-
className: O ?
|
|
264
|
+
className: O ? g : h,
|
|
258
265
|
children: O ? "Done editing" : "Edit mask"
|
|
259
266
|
}),
|
|
260
|
-
/* @__PURE__ */
|
|
267
|
+
/* @__PURE__ */ l("button", {
|
|
261
268
|
type: "button",
|
|
262
|
-
onClick:
|
|
269
|
+
onClick: _e,
|
|
263
270
|
disabled: E,
|
|
264
271
|
"aria-pressed": S.enabled,
|
|
265
|
-
className: S.enabled ?
|
|
272
|
+
className: S.enabled ? g : h,
|
|
266
273
|
children: S.enabled ? "Mask on" : "Mask off"
|
|
267
274
|
}),
|
|
268
|
-
|
|
275
|
+
Ce && /* @__PURE__ */ l("button", {
|
|
269
276
|
type: "button",
|
|
270
277
|
onClick: () => Y("rect"),
|
|
271
278
|
disabled: E || W,
|
|
272
279
|
"aria-pressed": M === "rect",
|
|
273
|
-
className: M === "rect" ?
|
|
280
|
+
className: M === "rect" ? g : h,
|
|
274
281
|
title: W ? "Maximum zones reached" : "Add a rectangle zone",
|
|
275
282
|
children: "+ Rect"
|
|
276
283
|
}),
|
|
277
|
-
|
|
284
|
+
we && /* @__PURE__ */ l("button", {
|
|
278
285
|
type: "button",
|
|
279
286
|
onClick: () => Y("polygon"),
|
|
280
287
|
disabled: E || W,
|
|
281
288
|
"aria-pressed": M === "polygon",
|
|
282
|
-
className: M === "polygon" ?
|
|
289
|
+
className: M === "polygon" ? g : h,
|
|
283
290
|
title: W ? "Maximum zones reached" : "Add a polygon zone",
|
|
284
291
|
children: "+ Polygon"
|
|
285
292
|
}),
|
|
286
|
-
/* @__PURE__ */
|
|
293
|
+
/* @__PURE__ */ u("span", {
|
|
287
294
|
className: `${s} ml-1 tabular-nums`,
|
|
288
295
|
children: [
|
|
289
296
|
V,
|
|
@@ -292,73 +299,73 @@ function b({ deviceId: a }) {
|
|
|
292
299
|
" zones"
|
|
293
300
|
]
|
|
294
301
|
}),
|
|
295
|
-
/* @__PURE__ */
|
|
296
|
-
/* @__PURE__ */
|
|
302
|
+
/* @__PURE__ */ l("span", { className: "flex-1" }),
|
|
303
|
+
/* @__PURE__ */ l("button", {
|
|
297
304
|
type: "button",
|
|
298
|
-
onClick:
|
|
305
|
+
onClick: ye,
|
|
299
306
|
disabled: E || !B,
|
|
300
307
|
className: "rounded-md border border-border bg-surface px-2 py-1 text-[11px] text-foreground-subtle hover:bg-surface-hover disabled:opacity-40 transition-colors",
|
|
301
308
|
children: "Revert"
|
|
302
309
|
}),
|
|
303
|
-
/* @__PURE__ */
|
|
310
|
+
/* @__PURE__ */ l("button", {
|
|
304
311
|
type: "button",
|
|
305
|
-
onClick: () => void
|
|
312
|
+
onClick: () => void be(),
|
|
306
313
|
disabled: E || !B,
|
|
307
|
-
className:
|
|
314
|
+
className: g,
|
|
308
315
|
children: E ? "Saving…" : "Save"
|
|
309
316
|
})
|
|
310
317
|
]
|
|
311
318
|
}),
|
|
312
|
-
V > 0 ? /* @__PURE__ */
|
|
319
|
+
V > 0 ? /* @__PURE__ */ l("div", {
|
|
313
320
|
className: "flex flex-col gap-1",
|
|
314
321
|
children: S.regions.map((e) => {
|
|
315
|
-
let t = A === e.id, n = e.shape.kind === "polygon" ?
|
|
316
|
-
return /* @__PURE__ */
|
|
322
|
+
let t = A === e.id, n = e.shape.kind === "polygon" ? ue : se;
|
|
323
|
+
return /* @__PURE__ */ u("div", {
|
|
317
324
|
className: `flex items-center gap-2 rounded-md border px-2 py-1 transition-colors ${t ? "border-primary/50 bg-primary/10" : "border-border bg-surface"}`,
|
|
318
|
-
children: [/* @__PURE__ */
|
|
325
|
+
children: [/* @__PURE__ */ u("button", {
|
|
319
326
|
type: "button",
|
|
320
|
-
onClick: () =>
|
|
327
|
+
onClick: () => ve(e.id),
|
|
321
328
|
disabled: E,
|
|
322
329
|
className: "flex flex-1 items-center gap-2 text-left text-[11px] font-medium text-foreground-subtle hover:text-foreground disabled:opacity-40 transition-colors",
|
|
323
330
|
children: [
|
|
324
|
-
/* @__PURE__ */
|
|
325
|
-
/* @__PURE__ */
|
|
326
|
-
/* @__PURE__ */
|
|
331
|
+
/* @__PURE__ */ l(n, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
332
|
+
/* @__PURE__ */ u("span", { children: ["Zone ", e.id] }),
|
|
333
|
+
/* @__PURE__ */ l("span", {
|
|
327
334
|
className: "text-foreground-faint capitalize",
|
|
328
335
|
children: e.shape.kind
|
|
329
336
|
})
|
|
330
337
|
]
|
|
331
|
-
}), /* @__PURE__ */
|
|
338
|
+
}), /* @__PURE__ */ l("button", {
|
|
332
339
|
type: "button",
|
|
333
340
|
onClick: () => X(e.id),
|
|
334
341
|
disabled: E,
|
|
335
342
|
"aria-label": `Delete zone ${String(e.id)}`,
|
|
336
343
|
title: "Delete zone",
|
|
337
344
|
className: "inline-flex h-6 w-6 items-center justify-center rounded border border-border bg-surface text-foreground-subtle hover:border-red-400/40 hover:bg-red-500/10 hover:text-red-400 disabled:opacity-40 transition-colors",
|
|
338
|
-
children: /* @__PURE__ */
|
|
345
|
+
children: /* @__PURE__ */ l(c, { className: "h-3.5 w-3.5" })
|
|
339
346
|
})]
|
|
340
347
|
}, e.id);
|
|
341
348
|
})
|
|
342
349
|
}) : null
|
|
343
|
-
] }) : /* @__PURE__ */
|
|
350
|
+
] }) : /* @__PURE__ */ l("p", {
|
|
344
351
|
className: `${s} leading-relaxed`,
|
|
345
352
|
children: "Loading the camera's privacy mask…"
|
|
346
|
-
}), Z.supported && /* @__PURE__ */
|
|
353
|
+
}), Z.supported && /* @__PURE__ */ u("div", {
|
|
347
354
|
className: "flex items-start gap-3 rounded-md border border-border bg-surface px-2 py-2",
|
|
348
|
-
children: [/* @__PURE__ */
|
|
355
|
+
children: [/* @__PURE__ */ l("button", {
|
|
349
356
|
type: "button",
|
|
350
357
|
role: "switch",
|
|
351
358
|
"aria-label": Z.label,
|
|
352
359
|
"aria-checked": Z.on === !0,
|
|
353
360
|
disabled: !Z.available || F !== null,
|
|
354
|
-
onClick: () => void
|
|
361
|
+
onClick: () => void xe(),
|
|
355
362
|
title: Z.on === null ? "Microphone — state unknown; the camera did not answer." : Z.on ? `The camera is capturing sound. Turning it off: ${Z.costWhenOff}` : `The camera is silent. ${Z.costWhenOff}`,
|
|
356
|
-
className: Z.on === !1 || Z.on === null ?
|
|
357
|
-
children: /* @__PURE__ */
|
|
363
|
+
className: Z.on === !1 || Z.on === null ? h : g,
|
|
364
|
+
children: /* @__PURE__ */ u("span", {
|
|
358
365
|
className: "inline-flex items-center gap-1.5",
|
|
359
|
-
children: [Z.on === !1 ? /* @__PURE__ */
|
|
366
|
+
children: [Z.on === !1 ? /* @__PURE__ */ l(de, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ l(ae, { className: "h-3.5 w-3.5" }), Z.on === null ? "Microphone unknown" : Z.on ? "Microphone on" : "Microphone off"]
|
|
360
367
|
})
|
|
361
|
-
}), /* @__PURE__ */
|
|
368
|
+
}), /* @__PURE__ */ l("p", {
|
|
362
369
|
className: "text-[10px] text-foreground-subtle flex-1 leading-relaxed",
|
|
363
370
|
children: L === null ? Z.on === null ? "The camera did not report its microphone, so this state is unknown." : Z.costWhenOff : `Write failed: ${L}`
|
|
364
371
|
})]
|
|
@@ -367,4 +374,4 @@ function b({ deviceId: a }) {
|
|
|
367
374
|
}) : null;
|
|
368
375
|
}
|
|
369
376
|
//#endregion
|
|
370
|
-
export {
|
|
377
|
+
export { v as PrivacyMaskSettings };
|
package/dist/_stub.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./virtualExposes-CWSi4E_g.mjs";
|
|
2
|
-
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-
|
|
2
|
+
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-C-J1T9CA.mjs";
|
|
3
3
|
import { _ as e, c as t, d as n, h as r, i, l as a, m as o, p as s, r as c, t as l, u, y as d } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DJDHChgO.mjs";
|
|
4
4
|
import { a as f, i as p, o as m, r as h, s as g } from "./responsive-CDob01xQ.mjs";
|
|
5
5
|
import { d as _, l as v, u as y } from "./use-device-snapshot-esDPfd9B.mjs";
|
|
@@ -3514,7 +3514,7 @@ d(), d(), d(), d(), d(), d(), d(), m("camstack:vod-playback", {
|
|
|
3514
3514
|
mode: "live",
|
|
3515
3515
|
positionMs: null,
|
|
3516
3516
|
send: () => !1
|
|
3517
|
-
}), d(), d(), d(), d(), d(), d(), i(() => import("./MotionZonesSettings-B3Ws1xqb.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./PrivacyMaskSettings-
|
|
3517
|
+
}), d(), d(), d(), d(), d(), d(), i(() => import("./MotionZonesSettings-B3Ws1xqb.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./PrivacyMaskSettings-UekMg4X1.mjs").then((e) => ({ default: e.PrivacyMaskSettings }))), d(), d();
|
|
3518
3518
|
var zr = Object.defineProperty, Br = Object.getOwnPropertySymbols, Vr = Object.prototype.hasOwnProperty, Hr = Object.prototype.propertyIsEnumerable, Ur = (e, t, n) => t in e ? zr(e, t, {
|
|
3519
3519
|
enumerable: !0,
|
|
3520
3520
|
configurable: !0,
|
|
@@ -15964,7 +15964,7 @@ var K_ = class {
|
|
|
15964
15964
|
} catch {}
|
|
15965
15965
|
}
|
|
15966
15966
|
};
|
|
15967
|
-
d(), new K_(), d(), d(), d(), d(), i(() => import("./MaskShapeCanvas-C4g96eMz.mjs").then((e) => ({ default: e.MaskShapeCanvas }))), i(() => import("./MotionZonesSettings-B3Ws1xqb.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./SceneMonitorEditor-6Z16a4l3.mjs").then((e) => ({ default: e.SceneMonitorEditor }))), i(() => import("./PrivacyMaskSettings-
|
|
15967
|
+
d(), new K_(), d(), d(), d(), d(), i(() => import("./MaskShapeCanvas-C4g96eMz.mjs").then((e) => ({ default: e.MaskShapeCanvas }))), i(() => import("./MotionZonesSettings-B3Ws1xqb.mjs").then((e) => ({ default: e.MotionZonesSettings }))), i(() => import("./SceneMonitorEditor-6Z16a4l3.mjs").then((e) => ({ default: e.SceneMonitorEditor }))), i(() => import("./PrivacyMaskSettings-UekMg4X1.mjs").then((e) => ({ default: e.PrivacyMaskSettings })));
|
|
15968
15968
|
//#endregion
|
|
15969
15969
|
//#region src/scrypted/scrypted-yolo-manifest-data.json
|
|
15970
15970
|
var q_ = /*#__PURE__*/ JSON.parse("[{\"id\":\"scrypted-yolov9t-relu-coreml\",\"label\":\"Scrypted YOLOv9T ReLU CoreML\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9t_relu/scrypted_yolov9t_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"0a8733949d77e3204dba6418e81a11a8cc177015711457ce2c171266f23382d6\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu/scrypted_yolov9t_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322229,\"sha256\":\"f5a62f196f1e72a84efa1637119dffb6501621af9cf6f867bc76b4b59c9242a0\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu/scrypted_yolov9t_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":3797160,\"sha256\":\"b994419b8b68cfd6b89c3c6f3fe6b37458c86cc1d87fcca3df5034476a99dd38\"}],\"sizeMB\":4.12},{\"id\":\"scrypted-yolov9t-relu-onnx\",\"label\":\"Scrypted YOLOv9T ReLU ONNX\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9t_relu/scrypted_yolov9t_relu.onnx\",\"size\":8499266,\"sha256\":\"3f11ea2071b27c285b58c16636a44d6a0a27bdd1ca8b64112dfadabd39cfea47\"}],\"sizeMB\":8.5},{\"id\":\"scrypted-yolov9t-relu-test-coreml\",\"label\":\"Scrypted YOLOv9T ReLU test CoreML\",\"family\":\"yolov9t\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"a5e0128b643f1a66f3e07d4b332f9ccbca97ccab75651c794f0b9f1fb41c8491\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322229,\"sha256\":\"79f4f647f2a0c79db3b560c84251b48c7ba7cbe9c1fecc9674d1a603a389dfa3\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":3797160,\"sha256\":\"72efc9dc6af9241b5e5ee7de24a4f55741f6425d0e279d797f0f223e3d355f84\"}],\"sizeMB\":4.12},{\"id\":\"scrypted-yolov9t-relu-test-onnx\",\"label\":\"Scrypted YOLOv9T ReLU test ONNX\",\"family\":\"yolov9t\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.onnx\",\"size\":8499266,\"sha256\":\"d20aa0e6923a3af7f5e84e3a6d28fb00e8ecd592e3225f986f93bd34b634e2f8\"}],\"sizeMB\":8.5},{\"id\":\"scrypted-yolov9s-relu-coreml\",\"label\":\"Scrypted YOLOv9S ReLU CoreML\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9s_relu/scrypted_yolov9s_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"3bcdb820b82f1e89266f2d11bae1604d3ee4ca6d11dc5bd5c57055ff4157e9f3\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu/scrypted_yolov9s_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322664,\"sha256\":\"9a9c3c9cbca406ec2f0418ec867ed6b878ec6d02c16636d30e0bbd83d2ff7c40\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu/scrypted_yolov9s_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":14190120,\"sha256\":\"fd51eda58a993997268f6a2e424b536ba173207ad7974ab8bee2a8ff76d52dab\"}],\"sizeMB\":14.51},{\"id\":\"scrypted-yolov9s-relu-onnx\",\"label\":\"Scrypted YOLOv9S ReLU ONNX\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9s_relu/scrypted_yolov9s_relu.onnx\",\"size\":29287339,\"sha256\":\"ca0b5bd98d5f59eb2029c6cb5129d53af59873f62a317a028beda463bbb96399\"}],\"sizeMB\":29.29},{\"id\":\"scrypted-yolov9s-relu-test-coreml\",\"label\":\"Scrypted YOLOv9S ReLU test CoreML\",\"family\":\"yolov9s\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"e2d24de0ce7e8573f19572029765e55abc714f36a85175ad7fcb95c001a76653\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322664,\"sha256\":\"186b147cdfd15c5ed7a381ec3a426a22cee0b5c52d56f14efd26da06357f5cb0\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":14190120,\"sha256\":\"e50651924c2cbffd56008a8953569e66c3de69f21807fcf7d825390ce30f21f8\"}],\"sizeMB\":14.51},{\"id\":\"scrypted-yolov9s-relu-test-onnx\",\"label\":\"Scrypted YOLOv9S ReLU test ONNX\",\"family\":\"yolov9s\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.onnx\",\"size\":29287339,\"sha256\":\"115ddb83333762a0f2599421335678696454a5c3571ade5df9bac8e9cb5fb4cf\"}],\"sizeMB\":29.29},{\"id\":\"scrypted-yolov9m-relu-coreml\",\"label\":\"Scrypted YOLOv9M ReLU CoreML\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9m_relu/scrypted_yolov9m_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"c548c6e1ff768b2b01bd71e230aa712a1635ae2baa30e0369557a42fc531ecbf\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu/scrypted_yolov9m_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":247061,\"sha256\":\"1c40e02fc2a2559cb906ea6cd9da9c730d4a78f5019290cbb38d2fcaae379fe7\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu/scrypted_yolov9m_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":39880616,\"sha256\":\"4cf938e5bfcc3ee1644813e4eb4702a7de450cc0581df94c719cf43d0ed2e408\"}],\"sizeMB\":40.13},{\"id\":\"scrypted-yolov9m-relu-onnx\",\"label\":\"Scrypted YOLOv9M ReLU ONNX\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9m_relu/scrypted_yolov9m_relu.onnx\",\"size\":80380404,\"sha256\":\"e7a81fb33224a0105d2a0a594c3fa43c398c361de623f1d14156ae826e7312d5\"}],\"sizeMB\":80.38},{\"id\":\"scrypted-yolov9m-relu-test-coreml\",\"label\":\"Scrypted YOLOv9M ReLU test CoreML\",\"family\":\"yolov9m\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"8e2684b286d02b4bdf9db1027c84cb89bf8e4830cfb58269f3ec457c5a010650\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":247061,\"sha256\":\"53d5946e74b13b15c5f8616081c9f15e8a95a5df3d5b45b830fc5a7f49561c16\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":39880616,\"sha256\":\"69774bf0032c37707601b8cdc1e1820dbd9f8288eb5d6f3879618a5d34ff5199\"}],\"sizeMB\":40.13},{\"id\":\"scrypted-yolov9m-relu-test-onnx\",\"label\":\"Scrypted YOLOv9M ReLU test ONNX\",\"family\":\"yolov9m\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.onnx\",\"size\":80380404,\"sha256\":\"8bb054f099295909ec518e2a6598d63db24d3f90edc8105a0f016903f2a205a2\"}],\"sizeMB\":80.38},{\"id\":\"scrypted-yolov9c-relu-coreml\",\"label\":\"Scrypted YOLOv9C ReLU CoreML\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9c_relu/scrypted_yolov9c_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"813a306ebd69cabfd31f00434f5a961feeca7d237833f3e11805dcf4ad120ba9\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu/scrypted_yolov9c_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":263210,\"sha256\":\"862f082619075e470738306b0ff0a37ae70a7d08e684ca6a6dfa1971d404e0c3\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu/scrypted_yolov9c_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":50489960,\"sha256\":\"ed89747e58943758e2a87221d1d404f6a4466cbc039c3c6f96e327cadc403d27\"}],\"sizeMB\":50.75},{\"id\":\"scrypted-yolov9c-relu-onnx\",\"label\":\"Scrypted YOLOv9C ReLU ONNX\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9c_relu/scrypted_yolov9c_relu.onnx\",\"size\":101631962,\"sha256\":\"b9372c4428daf4cd944c114b1e80d1a9ff0487d743e53a77216a051cfbef7116\"}],\"sizeMB\":101.63},{\"id\":\"scrypted-yolov9c-relu-test-coreml\",\"label\":\"Scrypted YOLOv9C ReLU test CoreML\",\"family\":\"yolov9c\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"966ef82a93cb0ccf1036a8c9729c065fd372fa9590a97d0945e581cc674f7ad2\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":263210,\"sha256\":\"08718ecd3e9552d21a702bd8df60911cad0eec7b2ae382466809550f14634711\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":50489960,\"sha256\":\"fe5936b9430ab4c87f30b148220131d6ec998b2377223d033e2fa2a00e60aada\"}],\"sizeMB\":50.75},{\"id\":\"scrypted-yolov9c-relu-test-onnx\",\"label\":\"Scrypted YOLOv9C ReLU test ONNX\",\"family\":\"yolov9c\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.onnx\",\"size\":101631962,\"sha256\":\"2f4e2031e8efb4cbc871594338b2e875d78ab4af3ee0258d253273b1aac84742\"}],\"sizeMB\":101.63},{\"id\":\"scrypted-yolov9t-relu-openvino-fp32\",\"label\":\"Scrypted YOLOv9T ReLU OpenVINO FP32\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9t_relu/best-converted.xml\",\"size\":628222,\"sha256\":\"01b5a9d02a0f281e1aaf4860e1b0ed3a7f16b9d78975be8ff985ae0ee283d877\"},{\"relativePath\":\"openvino/scrypted_yolov9t_relu/best-converted.bin\",\"size\":7542204,\"sha256\":\"4fe9ce8dbdf94514fdd450cbfc907f257153e4898a0c1489a44e4912d8e32cc7\"}],\"sizeMB\":8.17},{\"id\":\"scrypted-yolov9s-relu-openvino-fp32\",\"label\":\"Scrypted YOLOv9S ReLU OpenVINO FP32\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9s_relu/best-converted.xml\",\"size\":629249,\"sha256\":\"5b4a229bf7229425698b63bd065a403e440a6151a6ddff0034867659cc4a480d\"},{\"relativePath\":\"openvino/scrypted_yolov9s_relu/best-converted.bin\",\"size\":28329724,\"sha256\":\"c030bd219208ea94082578c81f383d4ef9ec45d7150eec1c2c2ff2569cf49b35\"}],\"sizeMB\":28.96},{\"id\":\"scrypted-yolov9m-relu-openvino-fp32\",\"label\":\"Scrypted YOLOv9M ReLU OpenVINO FP32\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9m_relu/best-converted.xml\",\"size\":485439,\"sha256\":\"c66f9f1965bf70fd3635d4dfc3cb94c72c06b344c256713237d77706725b9a0c\"},{\"relativePath\":\"openvino/scrypted_yolov9m_relu/best-converted.bin\",\"size\":79717372,\"sha256\":\"dfc2d8952bbca9ad0e116168e3fd5c754e601c327d78c4f4d0d4cae12f0e1d2a\"}],\"sizeMB\":80.2},{\"id\":\"scrypted-yolov9c-relu-openvino-fp32\",\"label\":\"Scrypted YOLOv9C ReLU OpenVINO FP32\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9c_relu/best-converted.xml\",\"size\":535047,\"sha256\":\"836c1e998ebf76108ff64d554fdfa07aa72c42624f1a5448701bb409f27b8d68\"},{\"relativePath\":\"openvino/scrypted_yolov9c_relu/best-converted.bin\",\"size\":100942972,\"sha256\":\"11a1b330ac9843b349927977b3c7c7f17bb42af73a7ff102969132f27ab81814\"}],\"sizeMB\":101.48},{\"id\":\"scrypted-yolov9t-relu-openvino-int8\",\"label\":\"Scrypted YOLOv9T ReLU OpenVINO INT8\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9t_relu_int8/best-converted.xml\",\"size\":1380379,\"sha256\":\"e5a76bf88ac69fc0ebc50c04b61ff91550dd9c2349af1f6d7e4cac949c640cec\"},{\"relativePath\":\"openvino/scrypted_yolov9t_relu_int8/best-converted.bin\",\"size\":1954956,\"sha256\":\"98fb5b6826d7c6697a585f69ba96754873772d9d61fbed8335aab761e8248659\"}],\"sizeMB\":3.34},{\"id\":\"scrypted-yolov9t-relu-test-openvino-int8\",\"label\":\"Scrypted YOLOv9T ReLU test OpenVINO INT8\",\"family\":\"yolov9t\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9t_relu_test_int8/best-converted.xml\",\"size\":1380383,\"sha256\":\"9e4119284e923e08c9929e78fd31e2552e602a552ac538ae99bf34a50dd4d172\"},{\"relativePath\":\"openvino/scrypted_yolov9t_relu_test_int8/best-converted.bin\",\"size\":1954960,\"sha256\":\"efe5b0a2fd2f5ddef5923eeb9e592a7ef14719061bb7605c86e05b35c2c58ea9\"}],\"sizeMB\":3.34},{\"id\":\"scrypted-yolov9s-relu-openvino-int8\",\"label\":\"Scrypted YOLOv9S ReLU OpenVINO INT8\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9s_relu_int8/best-converted.xml\",\"size\":1382088,\"sha256\":\"4e6c24cf24afbab21462f7e1a15bd05b1cbbe5915046000e03c2435d8110bbbf\"},{\"relativePath\":\"openvino/scrypted_yolov9s_relu_int8/best-converted.bin\",\"size\":7197308,\"sha256\":\"23fd3d666a938c41db232d9c6239baec1134716cfb4ed4ddd3d602dd20eb8ac0\"}],\"sizeMB\":8.58},{\"id\":\"scrypted-yolov9s-relu-test-openvino-int8\",\"label\":\"Scrypted YOLOv9S ReLU test OpenVINO INT8\",\"family\":\"yolov9s\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9s_relu_test_int8/best-converted.xml\",\"size\":1382092,\"sha256\":\"49865bfeafe7576afce089ba6f5c3e25a9192c8b514eb96265c90fe877795641\"},{\"relativePath\":\"openvino/scrypted_yolov9s_relu_test_int8/best-converted.bin\",\"size\":7197312,\"sha256\":\"78e9d36e6b74754db2b624ea3ec0b3ff57ed6dfed59a4f2225e1a271054597de\"}],\"sizeMB\":8.58},{\"id\":\"scrypted-yolov9m-relu-openvino-int8\",\"label\":\"Scrypted YOLOv9M ReLU OpenVINO INT8\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9m_relu_int8/best-converted.xml\",\"size\":1024595,\"sha256\":\"1242ab8d8c73b2e80c5dd541177ade6e102a2684114b059136acb4cad6efb034\"},{\"relativePath\":\"openvino/scrypted_yolov9m_relu_int8/best-converted.bin\",\"size\":20090516,\"sha256\":\"da8e44af8bee66478e6f359e9504bfb13ab4b76f4bd8a2f1b10cfbc22febcf6e\"}],\"sizeMB\":21.12},{\"id\":\"scrypted-yolov9m-relu-test-openvino-int8\",\"label\":\"Scrypted YOLOv9M ReLU test OpenVINO INT8\",\"family\":\"yolov9m\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9m_relu_test_int8/best-converted.xml\",\"size\":1024601,\"sha256\":\"24395ae5fdbb321304c865372cd2b905cdc55abb7610520f3963702e2371decb\"},{\"relativePath\":\"openvino/scrypted_yolov9m_relu_test_int8/best-converted.bin\",\"size\":20090520,\"sha256\":\"4360fe0312067f92c49f180c7b8a10271f14d58b8909aa9b96b13af4ab9289aa\"}],\"sizeMB\":21.12},{\"id\":\"scrypted-yolov9c-relu-openvino-int8\",\"label\":\"Scrypted YOLOv9C ReLU OpenVINO INT8\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9c_relu_int8/best-converted.xml\",\"size\":1092695,\"sha256\":\"a45c62940120c4301d8fff9fb3b275c29e3618f403ea68a785f2f3220cefec7a\"},{\"relativePath\":\"openvino/scrypted_yolov9c_relu_int8/best-converted.bin\",\"size\":25428280,\"sha256\":\"0643403a56178c3ed1e066c7884458d8ea6780115d662bdc38d10754d7a11c79\"}],\"sizeMB\":26.52},{\"id\":\"scrypted-yolov9c-relu-test-openvino-int8\",\"label\":\"Scrypted YOLOv9C ReLU test OpenVINO INT8\",\"family\":\"yolov9c\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9c_relu_test_int8/best-converted.xml\",\"size\":1092695,\"sha256\":\"a8a1899848ebd060af2326d3c8d3c09ea83354f0bedff6cce6fa08b284ea5519\"},{\"relativePath\":\"openvino/scrypted_yolov9c_relu_test_int8/best-converted.bin\",\"size\":25428280,\"sha256\":\"2eb6bb3d0a03a9b239b6f623f9e7bced62eea61fbe4d8ff89c1b3e2e2b7978a2\"}],\"sizeMB\":26.52},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-float16\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite float16\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"float16\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_float16.tflite\",\"size\":14482836,\"sha256\":\"04889db3b81af361c361e41ffa99327330d37b71d680a2f889e6cdf1e94c0d8c\"}],\"sizeMB\":14.48},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-float32\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite float32\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"float32\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_float32.tflite\",\"size\":28777068,\"sha256\":\"f5d7d08fc1d8f2262633d2df4391638e0481740331aaa1837880a47c33001a96\"}],\"sizeMB\":28.78},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-int8\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite int8\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_int8.tflite\",\"size\":7325616,\"sha256\":\"1e9866b16fe80931383bf3c94dc629fe93a37ba3dc1465ea019eb0a50bd428df\"}],\"sizeMB\":7.33},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-integer_quant\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite integer_quant\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"integer_quant\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_integer_quant.tflite\",\"size\":7342552,\"sha256\":\"bc1c902e9a9865637ee2403f70c6bf5c29c695d9163e58ad658feb29bb097ebc\"}],\"sizeMB\":7.34},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-full_integer_quant\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite full_integer_quant\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"full_integer_quant\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_full_integer_quant.tflite\",\"size\":7341704,\"sha256\":\"483ce38dbe33ee5a35f40a82f56c77629a44fa5d95efd8ade9fa97e4d2a261fd\"}],\"sizeMB\":7.34},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-edgetpu\",\"label\":\"Scrypted YOLOv9s ReLU sep 320 TFLite edgetpu\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"edgetpu\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_full_integer_quant_edgetpu.tflite\",\"size\":8164480,\"sha256\":\"e1e6b074a3b9fdf19a171baf615553ad375a046aa7de2a3fef9a1950175fab22\"}],\"sizeMB\":8.16}]"), J_ = /^[0-9a-f]{64}$/, Y_ = "https://huggingface.co", X_ = "scrypted/plugin-models", Z_ = "187402b20a3be0a7fab9bceee21d857ed6ae0064", Q_ = [
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-
|
|
1
|
+
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-C-J1T9CA.mjs";
|
|
2
2
|
//#region \0virtual:mf-localSharedImportMap:__mfe_internal__addon_model_studio_page
|
|
3
3
|
var e = {
|
|
4
4
|
"@camstack/sdk": {
|
|
5
5
|
name: "@camstack/sdk",
|
|
6
|
-
version: "1.2.
|
|
6
|
+
version: "1.2.87",
|
|
7
7
|
scope: ["default"],
|
|
8
8
|
loaded: !1,
|
|
9
9
|
from: "addon_model_studio_page",
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.2.
|
|
21
|
+
version: "1.2.167",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_model_studio_page",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.135",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_model_studio_page",
|
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.167",
|
|
40
40
|
scope: "default",
|
|
41
41
|
shareConfig: {
|
|
42
42
|
singleton: !0,
|
|
@@ -45,7 +45,7 @@ async function r() {
|
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"@camstack/sdk": {
|
|
48
|
-
version: "1.2.
|
|
48
|
+
version: "1.2.87",
|
|
49
49
|
scope: "default",
|
|
50
50
|
shareConfig: {
|
|
51
51
|
singleton: !0,
|
|
@@ -81,7 +81,7 @@ async function r() {
|
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"@camstack/ui-library": {
|
|
84
|
-
version: "1.2.
|
|
84
|
+
version: "1.2.135",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|
|
@@ -19007,11 +19007,30 @@ var SensorEventSchema = object({
|
|
|
19007
19007
|
value: record(string(), unknown()).nullable(),
|
|
19008
19008
|
timestamp: number()
|
|
19009
19009
|
});
|
|
19010
|
+
/**
|
|
19011
|
+
* One stored sighting on a track's trajectory.
|
|
19012
|
+
*
|
|
19013
|
+
* The array these live in is returned in TIME order (D399) — it is APPENDED in
|
|
19014
|
+
* arrival order, and the two detector passes interleave, so a consumer must not
|
|
19015
|
+
* assume the two are the same on a row written by an older build.
|
|
19016
|
+
*/
|
|
19010
19017
|
var TrackPositionSchema = object({
|
|
19011
19018
|
x: number(),
|
|
19012
19019
|
y: number(),
|
|
19013
19020
|
timestamp: number(),
|
|
19014
|
-
bbox: BoundingBoxSchema
|
|
19021
|
+
bbox: BoundingBoxSchema,
|
|
19022
|
+
/**
|
|
19023
|
+
* Which detector pass measured this box (D399): `frame` is the full-frame
|
|
19024
|
+
* pass on the analysis raster, `recovery` is the native-resolution
|
|
19025
|
+
* small-subject second pass (D377/D378). Both write into one array, and until
|
|
19026
|
+
* this field existed the only way to tell them apart was that full-frame boxes
|
|
19027
|
+
* are exact multiples of 1.2 while recovery boxes are full-precision floats.
|
|
19028
|
+
* Absent on rows written before D399.
|
|
19029
|
+
*/
|
|
19030
|
+
source: _enum(["frame", "recovery"]).optional(),
|
|
19031
|
+
/** Detection score of this box, so a position can be weighed and not only
|
|
19032
|
+
* plotted. Absent on rows written before D399. */
|
|
19033
|
+
score: number().optional()
|
|
19015
19034
|
});
|
|
19016
19035
|
var TrackSnapshotSchema = object({
|
|
19017
19036
|
timestamp: number(),
|
|
@@ -19411,14 +19430,25 @@ var TrackSchema = object({
|
|
|
19411
19430
|
*/
|
|
19412
19431
|
hasRider: boolean().optional(),
|
|
19413
19432
|
/**
|
|
19414
|
-
* WHY this track ended without a NATIVE best-shot
|
|
19415
|
-
* ([D276](../decisions/adr-0276-a-stand-in-tile-is-provisional-and-a-close-says-why.md)
|
|
19433
|
+
* WHY this track ended without a NATIVE best-shot FRAME
|
|
19434
|
+
* ([D276](../decisions/adr-0276-a-stand-in-tile-is-provisional-and-a-close-says-why.md),
|
|
19435
|
+
* widened by [D400](../decisions/adr-0400-the-picture-is-judged-on-what-is-delivered.md)) —
|
|
19416
19436
|
* a composed token line (`no-key-frame capture=keyframe:native-missx4`,
|
|
19417
|
-
* `derive-returned-null tile=standin`,
|
|
19418
|
-
*
|
|
19419
|
-
*
|
|
19437
|
+
* `derive-returned-null tile=standin`,
|
|
19438
|
+
* `native-tile tile=native no-key-frame-at-close`, …) written at close and
|
|
19439
|
+
* CLEARED by the late-keyFrame upgrade when a native tile lands after all.
|
|
19440
|
+
* The operator-facing answer to "perché manca l'immagine?" on a track whose
|
|
19420
19441
|
* tile is a face/plate stand-in, a raster crop, or an icon.
|
|
19421
19442
|
*
|
|
19443
|
+
* **`no-key-frame-at-close` (D400).** The line used to be written ONLY when
|
|
19444
|
+
* the TILE ranked below native, so a track whose thumbnail landed natively
|
|
19445
|
+
* while its key frame missed carried no reason at all — three of the four
|
|
19446
|
+
* `MISSING_KEYFRAME` tracks in the 2026-09-07 operator audit were exactly
|
|
19447
|
+
* that shape, and their "niente ultimo" had no cause anywhere on the row.
|
|
19448
|
+
* The key frame is the head of a cascade (`keyFrame ⇒ keyFrameSmall ⇒ the
|
|
19449
|
+
* lastFrame copy source`), so its absence is now on this line whatever the
|
|
19450
|
+
* tile ended up being.
|
|
19451
|
+
*
|
|
19422
19452
|
* **Absent ≠ "missed silently"**: a row written before the column, a hub
|
|
19423
19453
|
* that predates the field, and every track whose tile landed native all
|
|
19424
19454
|
* omit it. Render nothing when absent.
|
|
@@ -27726,8 +27756,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
27726
27756
|
});
|
|
27727
27757
|
object({
|
|
27728
27758
|
enabled: boolean(),
|
|
27729
|
-
/**
|
|
27730
|
-
|
|
27759
|
+
/**
|
|
27760
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
27761
|
+
*
|
|
27762
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
27763
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
27764
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
27765
|
+
* has no zones": those two look identical to an operator right up to the
|
|
27766
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
27767
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
27768
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
27769
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
27770
|
+
* from deleting the mask it could not read.
|
|
27771
|
+
*
|
|
27772
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
27773
|
+
* has no zones. The distinction is the same one {@link
|
|
27774
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
27775
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
27776
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
27777
|
+
* while the other could not.
|
|
27778
|
+
*/
|
|
27779
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
27731
27780
|
/**
|
|
27732
27781
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
27733
27782
|
* a server-side mirror.
|
|
@@ -18986,11 +18986,30 @@ var SensorEventSchema = object({
|
|
|
18986
18986
|
value: record(string(), unknown()).nullable(),
|
|
18987
18987
|
timestamp: number()
|
|
18988
18988
|
});
|
|
18989
|
+
/**
|
|
18990
|
+
* One stored sighting on a track's trajectory.
|
|
18991
|
+
*
|
|
18992
|
+
* The array these live in is returned in TIME order (D399) — it is APPENDED in
|
|
18993
|
+
* arrival order, and the two detector passes interleave, so a consumer must not
|
|
18994
|
+
* assume the two are the same on a row written by an older build.
|
|
18995
|
+
*/
|
|
18989
18996
|
var TrackPositionSchema = object({
|
|
18990
18997
|
x: number(),
|
|
18991
18998
|
y: number(),
|
|
18992
18999
|
timestamp: number(),
|
|
18993
|
-
bbox: BoundingBoxSchema
|
|
19000
|
+
bbox: BoundingBoxSchema,
|
|
19001
|
+
/**
|
|
19002
|
+
* Which detector pass measured this box (D399): `frame` is the full-frame
|
|
19003
|
+
* pass on the analysis raster, `recovery` is the native-resolution
|
|
19004
|
+
* small-subject second pass (D377/D378). Both write into one array, and until
|
|
19005
|
+
* this field existed the only way to tell them apart was that full-frame boxes
|
|
19006
|
+
* are exact multiples of 1.2 while recovery boxes are full-precision floats.
|
|
19007
|
+
* Absent on rows written before D399.
|
|
19008
|
+
*/
|
|
19009
|
+
source: _enum(["frame", "recovery"]).optional(),
|
|
19010
|
+
/** Detection score of this box, so a position can be weighed and not only
|
|
19011
|
+
* plotted. Absent on rows written before D399. */
|
|
19012
|
+
score: number().optional()
|
|
18994
19013
|
});
|
|
18995
19014
|
var TrackSnapshotSchema = object({
|
|
18996
19015
|
timestamp: number(),
|
|
@@ -19390,14 +19409,25 @@ var TrackSchema = object({
|
|
|
19390
19409
|
*/
|
|
19391
19410
|
hasRider: boolean().optional(),
|
|
19392
19411
|
/**
|
|
19393
|
-
* WHY this track ended without a NATIVE best-shot
|
|
19394
|
-
* ([D276](../decisions/adr-0276-a-stand-in-tile-is-provisional-and-a-close-says-why.md)
|
|
19412
|
+
* WHY this track ended without a NATIVE best-shot FRAME
|
|
19413
|
+
* ([D276](../decisions/adr-0276-a-stand-in-tile-is-provisional-and-a-close-says-why.md),
|
|
19414
|
+
* widened by [D400](../decisions/adr-0400-the-picture-is-judged-on-what-is-delivered.md)) —
|
|
19395
19415
|
* a composed token line (`no-key-frame capture=keyframe:native-missx4`,
|
|
19396
|
-
* `derive-returned-null tile=standin`,
|
|
19397
|
-
*
|
|
19398
|
-
*
|
|
19416
|
+
* `derive-returned-null tile=standin`,
|
|
19417
|
+
* `native-tile tile=native no-key-frame-at-close`, …) written at close and
|
|
19418
|
+
* CLEARED by the late-keyFrame upgrade when a native tile lands after all.
|
|
19419
|
+
* The operator-facing answer to "perché manca l'immagine?" on a track whose
|
|
19399
19420
|
* tile is a face/plate stand-in, a raster crop, or an icon.
|
|
19400
19421
|
*
|
|
19422
|
+
* **`no-key-frame-at-close` (D400).** The line used to be written ONLY when
|
|
19423
|
+
* the TILE ranked below native, so a track whose thumbnail landed natively
|
|
19424
|
+
* while its key frame missed carried no reason at all — three of the four
|
|
19425
|
+
* `MISSING_KEYFRAME` tracks in the 2026-09-07 operator audit were exactly
|
|
19426
|
+
* that shape, and their "niente ultimo" had no cause anywhere on the row.
|
|
19427
|
+
* The key frame is the head of a cascade (`keyFrame ⇒ keyFrameSmall ⇒ the
|
|
19428
|
+
* lastFrame copy source`), so its absence is now on this line whatever the
|
|
19429
|
+
* tile ended up being.
|
|
19430
|
+
*
|
|
19401
19431
|
* **Absent ≠ "missed silently"**: a row written before the column, a hub
|
|
19402
19432
|
* that predates the field, and every track whose tile landed native all
|
|
19403
19433
|
* omit it. Render nothing when absent.
|
|
@@ -27705,8 +27735,27 @@ var PrivacyMaskRegionSchema = object({
|
|
|
27705
27735
|
});
|
|
27706
27736
|
object({
|
|
27707
27737
|
enabled: boolean(),
|
|
27708
|
-
/**
|
|
27709
|
-
|
|
27738
|
+
/**
|
|
27739
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
27740
|
+
*
|
|
27741
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
27742
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
27743
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
27744
|
+
* has no zones": those two look identical to an operator right up to the
|
|
27745
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
27746
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
27747
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
27748
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
27749
|
+
* from deleting the mask it could not read.
|
|
27750
|
+
*
|
|
27751
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
27752
|
+
* has no zones. The distinction is the same one {@link
|
|
27753
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
27754
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
27755
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
27756
|
+
* while the other could not.
|
|
27757
|
+
*/
|
|
27758
|
+
regions: array(PrivacyMaskRegionSchema).nullable(),
|
|
27710
27759
|
/**
|
|
27711
27760
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
27712
27761
|
* a server-side mirror.
|
package/dist/remoteEntry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-
|
|
1
|
+
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-C-J1T9CA.mjs";
|
|
2
2
|
export { t as get, e as init };
|
|
@@ -2753,7 +2753,7 @@ async function rr(e) {
|
|
|
2753
2753
|
}
|
|
2754
2754
|
}
|
|
2755
2755
|
async function ir() {
|
|
2756
|
-
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-
|
|
2756
|
+
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DzC3DjlC.mjs")).catch((e) => {
|
|
2757
2757
|
throw tr = void 0, e;
|
|
2758
2758
|
}), tr;
|
|
2759
2759
|
}
|