openvibers/openvibe.live Commits

The hero background keeps its pan on a phone (#761)

OP OpenVibers committed 3 days ago · d8f20cf51f · 3 files, +12 −3

Changes

ddiff --git a/public/css/style.css b/public/css/style.css
iindex 00cd0d18..88b587e3 100644
---- a/public/css/style.css
++++ b/public/css/style.css
@@@ -9473,7 +9473,8 @@ label.staff-inline-toggle.aiv-field { flex-direction:row; align-items:center; }
a stronger saving — and leaving this on made the expand animation impossible to measure:
each group reported its 120px placeholder height for two frames, so the container animated
to 602px and then snapped to its real 976px. */
-- .hero-bg-layer.active { animation: none !important; }
++ /* The hero background keeps its 12s pan on a phone: it is transform-only, and a narrow screen is not a
++ reason to stop motion (the owner, 2026-11-10). */
}
/* ── OV brand mark (navbar + hero): the O is a ring with a comet running around it, the V is
ddiff --git a/public/js/home-fx.js b/public/js/home-fx.js
iindex c3f51f7e..6ed528bc 100644
---- a/public/js/home-fx.js
++++ b/public/js/home-fx.js
@@@ -7,8 +7,8 @@
* - scroll reveal: section headers, cards and grids slide/fade in as they enter the viewport
* - count-up: hero stat numbers tick up from 0 when first painted
* - card tilt: stream cards tilt slightly toward the pointer
-- * Everything is disabled with motion off (Calm plays it), paused when the tab is hidden, and
-- * skips the canvas on coarse-pointer / narrow screens to keep phones cool.
++ * Everything is disabled with motion off (Calm plays it), paused when the tab is hidden, and the
++ * canvas is skipped on a device short of memory or saving data — never because its screen is narrow.
*/
(function () {
'use strict';
ddiff --git a/test/home-lite.test.js b/test/home-lite.test.js
iindex 5b7809d5..5a977192 100644
---- a/test/home-lite.test.js
++++ b/test/home-lite.test.js
@@@ -33,4 +33,12 @@ const block = css.slice(at, css.indexOf('\n}\n', at));
assert.ok(!/animation:\s*none/.test(block), 'the phone block stops no animation');
assert.ok(/\.hero-collage \{ display: none !important; \}/.test(block), 'it still leaves out the collage, which has no room');
++// The base stylesheet's phone block keeps layout and glass rules only too: the hero background's slow pan is
++// transform-only, and a narrow screen is not a reason to stop it.
++const style = read('public/css/style.css');
++const styleAt = style.indexOf('@media (max-width: 720px) {');
++assert.ok(styleAt > 0, 'the base stylesheet has its phone block');
++const styleBlock = style.slice(styleAt, style.indexOf('\n}\n', styleAt));
++assert.ok(!/\.hero-bg-layer\.active\s*\{[^}]*animation:\s*none/.test(styleBlock), 'the hero background keeps its 12s pan on a phone');
++
console.log('home-lite: ok');