openvibers/openvibe.cam Commits

Motion: Calm reduces, only Off stops (#135)

OP OpenVibers committed 3 days ago · 429e945ddc · 6 files, +9 −15

* Bump openvibe-shared v4.179.0 → v4.183.0

The pin and the lockfile only (ov bump, no model). CI's pin-drift check failed on v4.179.0.

* Motion: Calm reduces, only Off stops

Delete the four rules that stopped the room effects under reduced motion, including the embed's inline stylesheet.

* Pin: name openvibe-shared 4.183.0 in README and STATUS

Changes

ddiff --git a/README.md b/README.md
iindex b1509aa..ce9e5d4 100644
---- a/README.md
++++ b/README.md
@@@ -260,5 +260,5 @@ AGPL-3.0-only. See [LICENSE](LICENSE).
<!-- versions:start -->
- openvibe-contracts: v0.384.0
- openvibe-sdk: v0.133.0
--- openvibe-shared: v4.179.0
++- openvibe-shared: v4.183.0
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex c732c2a..628caa6 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -10,11 +10,11 @@
"domain": "openvibe.cam",
"contracts": "openvibe-contracts v0.384.0",
"sdk": "openvibe-sdk v0.133.0",
-- "shared": "openvibe-shared v4.179.0",
++ "shared": "openvibe-shared v4.183.0",
"packages": [
"openvibe-contracts v0.384.0",
"openvibe-sdk v0.133.0",
-- "openvibe-shared v4.179.0"
++ "openvibe-shared v4.183.0"
],
"summary": "OpenVibe.Cam is the camera app, the private wall for cameras a person owns, the API Live's cam button calls, and F1's event timeline. The camera preview, timer, burst, grid and filter run in the browser; a photo is posted to Cam and forwarded to OpenVibe.Pics with the person's own Network token. A camera is private: its owner sees it, and a viewer sees it only while a grant naming them is unrevoked and unexpired, checked on every read, so a revocation is refused at once. Familiar faces proxy the owner's own token to OpenVibe.Vision's library; Cam keeps only the Vision library id and no template or crop. A detection becomes one event with a 10 s/20 s clip reference, a still, away-mode priority, a Network notification, a private link and a police export.",
"works": [
ddiff --git a/package-lock.json b/package-lock.json
iindex 2d157e4..fc64859 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -17,7 +17,7 @@
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.384.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.133.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.179.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.183.0",
"pg": "^8.23.0"
},
"devDependencies": {
@@@ -1194,9 +1194,9 @@
}
},
"node_modules/openvibe-shared": {
-- "version": "4.179.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.179.0",
-- "integrity": "sha512-Fjffjq3gLINhiXTqQJwsKQT/QbV4TYvsmz6GTp5hBJ8xA6KUQgu0wDgCQ3BRxCZ0ehmn0HGVAHUI+5m0LtPQCQ==",
++ "version": "4.183.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.183.0",
++ "integrity": "sha512-vp9gg++Dhyj3h0cwvBjujM6dSFYoeXdh1UXdZ6OXP/NjG672Fs7uRANV4MjT467JtFDN7r7qLI3OJAwGQxOuQw==",
"license": "MIT",
"dependencies": {
"jsonwebtoken": "^9.0.0",
ddiff --git a/package.json b/package.json
iindex c09e1a4..a731bb1 100644
---- a/package.json
++++ b/package.json
@@@ -25,7 +25,7 @@
"iovalkey": "^0.4.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.384.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.133.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.179.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.183.0",
"pg": "^8.23.0"
},
"engines": {
ddiff --git a/public/css/cam.css b/public/css/cam.css
iindex 6198f6d..e30ec9e 100644
---- a/public/css/cam.css
++++ b/public/css/cam.css
@@@ -146,9 +146,6 @@ html, body { margin: 0; background: var(--bg-primary, #0a0f1c); color: var(--tex
.cm-f-strip li.is-on { color: var(--ovk-text); font-weight: 700; }
.cm-f-strip li.is-on img { outline-color: var(--room-accent, var(--ovk-accent)); }
--@media (prefers-reduced-motion: reduce) {
-- .cm-live-btn, .cm-live-flash, .cm-live-chat, .cm-g-bar i, .cm-f-saved { animation: none; }
--}
/* The room's motif: the camera's viewfinder on the sample picture. The focus square locks once and the shutter waits;
nothing loops. */
@@@ -176,7 +173,6 @@ html, body { margin: 0; background: var(--bg-primary, #0a0f1c); color: var(--tex
.cm-vf { width: min(100%, 280px); border-radius: 18px; }
.cm-vf-shutter { width: 44px; height: 44px; margin-left: -22px; bottom: 14px; }
}
--@media (prefers-reduced-motion: reduce) { .cm-vf-focus { animation: none; } }
/* A code sample scrolls inside its own box; a long line never widens the page on a phone (11-01 phone sweep). */
.cm-code { max-width: 100%; overflow-x: auto; padding: 12px 14px; border: 1px solid var(--border, #26344d); border-radius: 12px; background: var(--bg-card, #0f1729); font-size: .84rem; line-height: 1.5; }
@@@ -328,7 +324,6 @@ html, body { margin: 0; background: var(--bg-primary, #0a0f1c); color: var(--tex
.cm-shutter span { width: 66px; height: 66px; }
.cm-under { grid-column: 1; grid-row: 2; grid-template-columns: minmax(0, 520px) auto; justify-content: center; align-items: center; gap: 16px; }
}
--@media (prefers-reduced-motion: reduce) { .cm-flash.is-on, .cm-count.is-tick, .cm-thumb.is-new { animation: none; } .cm-stage video, .cm-mode-say, .cm-mode { transition: none; } }
/* The /developers embed: the attributes, events and methods tables read as text, not as nowrap cells, and the live
ddiff --git a/public/embed/ov-camera.js b/public/embed/ov-camera.js
iindex 9148a81..242ccb9 100644
---- a/public/embed/ov-camera.js
++++ b/public/embed/ov-camera.js
@@@ -208,8 +208,7 @@
'.camera[data-mode="burst"] .shutter span{background:var(--_accent)}',
'.shutter[disabled]{opacity:.45;cursor:not-allowed}',
'.status{margin:0;min-height:1.4em;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;color:var(--_muted)}',
-- '.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}',
-- '@media (prefers-reduced-motion:reduce){.count.is-tick{animation:none}.stage video{transition:none}}'
++ '.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}'
].join('');
var TEMPLATE = '<div class="wrap camera" part="wrap"><div class="stage" part="stage">'