@justai/cuts 0.148.0 → 0.149.0
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/package.json +1 -1
- package/src/BackToZone.astro +34 -3
package/package.json
CHANGED
package/src/BackToZone.astro
CHANGED
|
@@ -13,8 +13,10 @@
|
|
|
13
13
|
// THE TWO MARKS ARE SIBLINGS, DRAWN THE SAME WAY. app.zone is four separated corner brackets around a
|
|
14
14
|
// centre — a zone is the space the corners enclose. pin.games is three vertex brackets around a play
|
|
15
15
|
// triangle, drawn with app.zone's own part (pin-games, 2026-08-25). The zone has four corners; the
|
|
16
|
-
// play has three.
|
|
17
|
-
//
|
|
16
|
+
// play has three. City in Motion is a marker: two chevrons, the circle its head (app-zone,
|
|
17
|
+
// the-family-of-marks). Same
|
|
18
|
+
// radii, same palette, same idea of a figure assembled from pieces, which is what keeps them reading
|
|
19
|
+
// as one family at 20px.
|
|
18
20
|
//
|
|
19
21
|
// Home affordance → the apex (the platform / App Store home). Standard on every app:
|
|
20
22
|
// always visible at the top-left of the toolbar. Also tidies the ?ref / ?lang hints
|
|
@@ -83,7 +85,11 @@ const href = `https://${apex}`;
|
|
|
83
85
|
* It self-corrects: the day a household has a mark here, every persona under it grows the affordance
|
|
84
86
|
* on its next build, with no persona-level change anywhere.
|
|
85
87
|
*/
|
|
86
|
-
|
|
88
|
+
//
|
|
89
|
+
// cityinmotion.nl joined the table on 2026-10-05. For six weeks its personas had declined the control,
|
|
90
|
+
// exactly as written above — the honest outcome while there was no mark here, and a missing way home
|
|
91
|
+
// once there was one: every CiM persona already passed apex="cityinmotion.nl" and was waiting for it.
|
|
92
|
+
const MARKS = ["app.zone", "pin.games", "cityinmotion.nl"];
|
|
87
93
|
const drawable = MARKS.includes(apex);
|
|
88
94
|
|
|
89
95
|
// queries: the home mark is missing arms · the mark is the wrong size · 36px · scoped styles do
|
|
@@ -113,6 +119,18 @@ const drawable = MARKS.includes(apex);
|
|
|
113
119
|
<path class="arm a3" d="M550.15 91.57L399.09 170.67A17.93 17.93 0 0 1 374.89 163.1L346.57 109.02A17.93 17.93 0 0 1 354.14 84.82L505.19 5.72A6.45 6.45 0 0 0 505.19 -5.72L354.14 -84.82A17.93 17.93 0 0 1 346.57 -109.02L374.89 -163.1A17.93 17.93 0 0 1 399.09 -170.67L550.15 -91.57A103.36 103.36 0 0 1 550.15 91.57Z"/>
|
|
114
120
|
<path class="ctr" d="M158.3 -92.3Q143.0 -100.3 143.0 -83.1L143.0 83.1Q143.0 100.3 158.3 92.3L319.3 8.0Q334.6 0.0 319.3 -8.0Z"/>
|
|
115
121
|
</svg>
|
|
122
|
+
) : apex === "cityinmotion.nl" ? (
|
|
123
|
+
<svg class="cimmark" viewBox="-353.2 -386.42 706.39 725.18" aria-hidden="true">
|
|
124
|
+
<g transform="scale(1.04)">
|
|
125
|
+
<path class="arm a1" d="M-110.04 -35.11L-333.8 -240.15A17.93 17.93 0 0 1 -334.9 -265.48L-293.66 -310.49A17.93 17.93 0 0 1 -268.33 -311.6L-44.57 -106.56A65.97 65.97 0 0 0 44.57 -106.56L268.33 -311.6A17.93 17.93 0 0 1 293.66 -310.49L334.9 -265.48A17.93 17.93 0 0 1 333.8 -240.15L110.04 -35.11A162.88 162.88 0 0 1 -110.04 -35.11Z"/>
|
|
126
|
+
<path class="arm a2" d="M-110.04 282.94L-333.8 77.9A17.93 17.93 0 0 1 -334.9 52.57L-293.66 7.56A17.93 17.93 0 0 1 -268.33 6.46L-44.57 211.49A65.97 65.97 0 0 0 44.57 211.49L268.33 6.46A17.93 17.93 0 0 1 293.66 7.56L334.9 52.57A17.93 17.93 0 0 1 333.8 77.9L110.04 282.94A162.88 162.88 0 0 1 -110.04 282.94Z"/>
|
|
127
|
+
<circle class="ctr" cx="0" cy="-278.85" r="92.71"/>
|
|
128
|
+
</g>
|
|
129
|
+
<defs>
|
|
130
|
+
<linearGradient id="cimHome1" x1="0" y1="-287.99" x2="0" y2="96.91" gradientUnits="userSpaceOnUse"><stop stop-color="#5285DC"/><stop offset="1" stop-color="#2E62C6"/></linearGradient>
|
|
131
|
+
<linearGradient id="cimHome2" x1="0" y1="30.07" x2="0" y2="414.96" gradientUnits="userSpaceOnUse"><stop stop-color="#F2694A"/><stop offset="1" stop-color="#E04A30"/></linearGradient>
|
|
132
|
+
</defs>
|
|
133
|
+
</svg>
|
|
116
134
|
) : (
|
|
117
135
|
<svg class="azmark" viewBox="-8.5 0 928 928" aria-hidden="true">
|
|
118
136
|
<path class="arm a1" d="M360.365 0C372.599 0 382.517 9.91778 382.517 22.152V97.7555C382.517 109.99 372.599 119.907 360.365 119.907H203.398C157.082 119.907 119.537 157.453 119.537 203.769V353.64C119.537 370.244 106.077 383.704 89.4732 383.704H22.152C9.91778 383.704 0 373.786 0 361.552V175.633C0 78.6337 78.6338 0 175.634 0H360.365Z"/>
|
|
@@ -167,6 +185,19 @@ const drawable = MARKS.includes(apex);
|
|
|
167
185
|
:global(html:not([data-theme="dark"])) .home:hover .pgmark .ctr, :global(html:not([data-theme="dark"])) .home:focus-visible .pgmark .ctr { fill: #2B2724; }
|
|
168
186
|
}
|
|
169
187
|
|
|
188
|
+
/* queries: City in Motion's mark in the toolbar · cimmark · the CiM home control
|
|
189
|
+
cityinmotion.nl's own public/mark.svg, unlit, by the same rules: a marker, two chevrons and the
|
|
190
|
+
circle for its head, the viewBox the ink's own bounds (measured with the arcs and the 1.04 scale the apex draws
|
|
191
|
+
at), ink at rest, its own gradients and the ground's centre when engaged. */
|
|
192
|
+
.cimmark .arm,
|
|
193
|
+
.cimmark .ctr { fill: currentColor; }
|
|
194
|
+
.home:hover .cimmark .a1, .home:focus-visible .cimmark .a1 { fill: url(#cimHome1); }
|
|
195
|
+
.home:hover .cimmark .a2, .home:focus-visible .cimmark .a2 { fill: url(#cimHome2); }
|
|
196
|
+
.home:hover .cimmark .ctr, .home:focus-visible .cimmark .ctr { fill: #F5F1E8; }
|
|
197
|
+
@media (prefers-color-scheme: light) {
|
|
198
|
+
:global(html:not([data-theme="dark"])) .home:hover .cimmark .ctr, :global(html:not([data-theme="dark"])) .home:focus-visible .cimmark .ctr { fill: #2B2724; }
|
|
199
|
+
}
|
|
200
|
+
|
|
170
201
|
.home:hover .azmark .a1, .home:focus-visible .azmark .a1 { fill: url(#azHome1); }
|
|
171
202
|
.home:hover .azmark .a2, .home:focus-visible .azmark .a2 { fill: url(#azHome2); }
|
|
172
203
|
.home:hover .azmark .a3, .home:focus-visible .azmark .a3 { fill: url(#azHome3); }
|