openvibers/openvibe.design Commits

Rules: one list of sites in eight groups; a player's row never runs off the screen (#258)

OP OpenVibers committed 2 days ago · 3cbc34a9f5 · 1 file, +6 −0

Two decisions of 2026-11-10 (asks 274 and 288), each with the owner's words or the measured cause.

Changes

ddiff --git a/server/rules/register.js b/server/rules/register.js
iindex 5873371..97a2c22 100644
---- a/server/rules/register.js
++++ b/server/rules/register.js
@@@ -381,6 +381,12 @@ const RULES = Object.freeze([
R('only-the-pair', 'look', 'The Pair is the only mark, and it does the waiting.',
'Every logo, favicon, app card and share image is the Pair from openvibe-shared/mark; a page at work shows the mark\'s own wait (ov-mark.js), never a generic spinner.',
'2026-11-10', 'The owner, with an old round V on a sign-in card: "why is there still remnants of the old logo … why isn\'t the logo animations used everywhere."'),
++ R('one-list-of-sites', 'products', 'One list of sites, in eight groups of at most seven.',
++ 'Watch & stream, Talk & belong, Play, Read & ask, Shop & money, Free tools, Make with AI, For developers: the menu, its folders, the footer and every home page read the same list; a site whose visits are not visits (an API, a section) is a section of another, not a tile.',
++ '2026-11-10', 'The owner: "a huge cleanup and re-analysis across all sites … what\'s the most intuitive way to have everything advertised." Three groupings disagreed; usage and co-use (site-inventory, 2026-11-10) set the eight.'),
++ R('player-row-never-runs-off', 'phone', 'A player\'s controls are one row that never runs off the screen.',
++ 'What does not fit steps out in a fixed order (speed and picture-in-picture, then the volume slider, then the length beside the position); play, mute, captions and fullscreen always show. Phone rules sit last in a stylesheet so a later sizing block cannot win over them.',
++ '2026-11-10', 'At 390 px the fullscreen button was cut off on openvibe.video: the phone rules lost to the bar\'s sizing block later in the file.'),
R('cascade-in-order', 'building', 'Check a style in the order the page loads it.',
'A preview that appends a rule last proves nothing about a rule that loads first; measure on the real page.',
'2026-10-25', 'A phone rule looked right in a preview and lost to a later file in production.'),