studio-engine 0.65.0 → 0.65.1
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.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3aa4604073fec8349d92e58a72bfb14d5c87fbaf03081f4bcb3e430a0ec35bf6
|
|
4
|
+
data.tar.gz: 3653491831ad04c4cb7aad8f1950297655b42a0582864173c998cbf8ea005a06
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 38cd8f8eedcf34cb0cac87d4c7737bb3fd29af673651e4593a1a93f0e91e822e582500e62ffdb7172c6de1d6f8673fe6502da4717376b789ee91f0e9b9ed2fc4
|
|
7
|
+
data.tar.gz: 2ac51eaf964ad5ef2d9e026298dd0565466540de68ae68677c77eb2b802f17bc392691d63594794bd537282b2a9d315fc64c01e52800a72a82cc87cf5a1ed329
|
|
@@ -395,6 +395,28 @@ body.modal-open .studio-app-banner {
|
|
|
395
395
|
x-data="navCollapse()" on it, and override only the endpoints that differ
|
|
396
396
|
from the defaults below.
|
|
397
397
|
|
|
398
|
+
ADOPTING IT IN A FORK COSTS MORE THAN THE OPT-IN, corrected 2026-08-28 after
|
|
399
|
+
checking against a real forked header. Two attributes is what it takes to opt
|
|
400
|
+
IN; it is not the job. mcritchie-studio's inlined header needs, at minimum:
|
|
401
|
+
|
|
402
|
+
REMOVE the bindings that fight the primitive —
|
|
403
|
+
:class="scrolled ? 'py-2' : 'py-6'" on the row
|
|
404
|
+
x-bind:class="scrolled ? 'w-5 h-5' : …" on the logo
|
|
405
|
+
x-bind:class="scrolled ? 'text-base' : …" on the h1, which is a DISCRETE
|
|
406
|
+
swap and therefore the exact 1px reverse lurch this primitive exists to
|
|
407
|
+
remove — a fork that keeps it reproduces the bug it is adopting to fix
|
|
408
|
+
transition-all duration-300 in three places
|
|
409
|
+
ADD the hooks the band table actually keys on —
|
|
410
|
+
nav-row, nav-logo, nav-title, nav-logo-link
|
|
411
|
+
(nav-logo-link is MOBILE-ONLY: omit it and a desktop check still passes,
|
|
412
|
+
which is how an adoption ships half-done)
|
|
413
|
+
WRAP the h1's bare text node in a span so there is an element to size.
|
|
414
|
+
|
|
415
|
+
That is roughly fourteen edits across five elements. The SIZING LAYER does
|
|
416
|
+
reach every app — that is the win this block delivers and it is unaffected.
|
|
417
|
+
Only the cost sentence was wrong, and an understated cost is how an adoption
|
|
418
|
+
gets started and abandoned half-done.
|
|
419
|
+
|
|
398
420
|
LAYERED ON PURPOSE. These are DEFAULTS, so a consuming app has to be able to
|
|
399
421
|
beat them, and unlayered CSS beats every layered rule regardless of
|
|
400
422
|
specificity — shipping them bare would make the engine's numbers
|
|
@@ -74,8 +74,17 @@
|
|
|
74
74
|
rendering THIS partial got it. Three of six apps fork the navbar, so each
|
|
75
75
|
was left to hand-write its own — the way four independent copies happened
|
|
76
76
|
in the first place. It ships from engine.css now (every consuming app
|
|
77
|
-
imports it), so a forking app
|
|
78
|
-
x-data="navCollapse()" and overrides only the endpoints that differ.
|
|
77
|
+
imports it), so a forking app OPTS IN with `nav-shell` +
|
|
78
|
+
x-data="navCollapse()" and overrides only the endpoints that differ.
|
|
79
|
+
|
|
80
|
+
THE OPT-IN IS NOT THE WHOLE JOB — this is the partial a forker actually
|
|
81
|
+
reads, so the caveat belongs here too rather than only beside the band
|
|
82
|
+
table. A hand-written header must also REMOVE the bindings that fight the
|
|
83
|
+
primitive (a :class size swap on the row, x-bind:class on the logo AND on
|
|
84
|
+
the title, transition-all alongside) and ADD the hooks the table keys on
|
|
85
|
+
(nav-row, nav-logo, nav-title, and the mobile-only nav-logo-link). The
|
|
86
|
+
title swap matters most: it is DISCRETE, which is the 1px reverse lurch
|
|
87
|
+
the primitive exists to delete. Full accounting in engine.css. */
|
|
79
88
|
</style>
|
|
80
89
|
<div class="nav-row flex items-center">
|
|
81
90
|
<%# Left side: logo + nav %>
|
|
@@ -541,9 +541,10 @@
|
|
|
541
541
|
// KEEP FRAMES COMING WHILE CATCHING UP. Nothing else will schedule
|
|
542
542
|
// one: the finger is off, so no more scroll events arrive, and
|
|
543
543
|
// without this the collapse freezes wherever the clamp left it. It
|
|
544
|
-
// converges LINEARLY and lands exactly — about
|
|
545
|
-
//
|
|
546
|
-
//
|
|
544
|
+
// converges LINEARLY and lands exactly — about 8 frames (~133ms) at
|
|
545
|
+
// the mobile --nav-ramp of 120, and about 10 (~167ms) at the default
|
|
546
|
+
// 144, from a hard flick — rather than crawling asymptotically the
|
|
547
|
+
// way the 300ms ease this replaced did.
|
|
547
548
|
if (!snap && p !== target) {
|
|
548
549
|
queued = true;
|
|
549
550
|
requestAnimationFrame(apply);
|
data/lib/studio/version.rb
CHANGED