@camstack/addon-provider-velux 0.2.82 → 0.2.83

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/addon.js CHANGED
@@ -29194,8 +29194,27 @@ var PrivacyMaskRegionSchema = object({
29194
29194
  /** Current on-camera privacy state — mask master enable + zones + microphone. */
29195
29195
  var PrivacyMaskStatusSchema = object({
29196
29196
  enabled: boolean(),
29197
- /** Active zones (normalized 0..1). Length ≤ maxRegions. */
29198
- regions: array(PrivacyMaskRegionSchema),
29197
+ /**
29198
+ * Active zones (normalized 0..1). Length ≤ maxRegions.
29199
+ *
29200
+ * `null` means "no answer" — the provider has never reached this camera
29201
+ * (a cold `runtimeState` slice, a battery camera asleep) or the read
29202
+ * failed. A consumer must render it as UNKNOWN and never as "this camera
29203
+ * has no zones": those two look identical to an operator right up to the
29204
+ * moment one of them is acted on, and acting on them differs completely.
29205
+ * The switch group turned an unanswered read into *"nothing is set up for
29206
+ * it to act on"* — an instruction to go and draw a zone that already
29207
+ * exists — and this editor seeded an EMPTY canvas from it, one Save away
29208
+ * from deleting the mask it could not read.
29209
+ *
29210
+ * Empty-and-answered is `[]` and stays a real answer: this camera genuinely
29211
+ * has no zones. The distinction is the same one {@link
29212
+ * PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
29213
+ * microphone, on the very same payload — both planes come from ONE refresh,
29214
+ * so it was never coherent for one of them to be able to say "unknown"
29215
+ * while the other could not.
29216
+ */
29217
+ regions: array(PrivacyMaskRegionSchema).nullable(),
29199
29218
  /**
29200
29219
  * Is the camera capturing sound right now? Read from the camera, never from
29201
29220
  * a server-side mirror.
package/dist/addon.mjs CHANGED
@@ -29193,8 +29193,27 @@ var PrivacyMaskRegionSchema = object({
29193
29193
  /** Current on-camera privacy state — mask master enable + zones + microphone. */
29194
29194
  var PrivacyMaskStatusSchema = object({
29195
29195
  enabled: boolean(),
29196
- /** Active zones (normalized 0..1). Length ≤ maxRegions. */
29197
- regions: array(PrivacyMaskRegionSchema),
29196
+ /**
29197
+ * Active zones (normalized 0..1). Length ≤ maxRegions.
29198
+ *
29199
+ * `null` means "no answer" — the provider has never reached this camera
29200
+ * (a cold `runtimeState` slice, a battery camera asleep) or the read
29201
+ * failed. A consumer must render it as UNKNOWN and never as "this camera
29202
+ * has no zones": those two look identical to an operator right up to the
29203
+ * moment one of them is acted on, and acting on them differs completely.
29204
+ * The switch group turned an unanswered read into *"nothing is set up for
29205
+ * it to act on"* — an instruction to go and draw a zone that already
29206
+ * exists — and this editor seeded an EMPTY canvas from it, one Save away
29207
+ * from deleting the mask it could not read.
29208
+ *
29209
+ * Empty-and-answered is `[]` and stays a real answer: this camera genuinely
29210
+ * has no zones. The distinction is the same one {@link
29211
+ * PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
29212
+ * microphone, on the very same payload — both planes come from ONE refresh,
29213
+ * so it was never coherent for one of them to be able to say "unknown"
29214
+ * while the other could not.
29215
+ */
29216
+ regions: array(PrivacyMaskRegionSchema).nullable(),
29198
29217
  /**
29199
29218
  * Is the camera capturing sound right now? Read from the camera, never from
29200
29219
  * a server-side mirror.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-velux",
3
- "version": "0.2.82",
3
+ "version": "0.2.83",
4
4
  "description": "Velux KLF-200 device-provider addon for CamStack — local-gateway window + shutter covers (positional, no tilt)",
5
5
  "keywords": [
6
6
  "camstack",