@vibes.diy/prompts 14.1.41 → 14.1.48
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/generation-variety.d.ts +16 -3
- package/generation-variety.js +27 -25
- package/generation-variety.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/llms/access.md +3 -1
- package/llms/backend.md +5 -5
- package/llms/create-vibe.md +2 -2
- package/llms/fireproof.initial.md +24 -24
- package/llms/fireproof.md +24 -24
- package/llms/p5.md +6 -7
- package/llms/three-js.md +32 -41
- package/llms/use-viewer.initial.md +2 -2
- package/llms/use-viewer.md +2 -2
- package/llms/webxr.md +5 -5
- package/package.json +6 -4
- package/prompts.d.ts +4 -0
- package/prompts.js +47 -16
- package/prompts.js.map +1 -1
- package/style-prompts.js +1 -1
- package/system-prompt-initial-oneshot.md +10 -9
- package/system-prompt-initial.md +10 -9
- package/system-prompt.md +34 -28
- package/themes/color-math.d.ts +42 -0
- package/themes/color-math.js +184 -0
- package/themes/color-math.js.map +1 -0
- package/themes/colors/house.yaml +57 -0
- package/themes/colors/mesh.yaml +0 -1
- package/themes/colors/orbit.yaml +0 -1
- package/themes/colors/rift.yaml +0 -1
- package/themes/colorsets-bundle.js +64 -3
- package/themes/colorsets-bundle.js.map +1 -1
- package/themes/colorsets.d.ts +16 -0
- package/themes/colorsets.js +202 -24
- package/themes/colorsets.js.map +1 -1
- package/themes/fonts.d.ts +1 -0
- package/themes/fonts.js +23 -0
- package/themes/fonts.js.map +1 -1
- package/themes/house.md +174 -0
- package/themes/index.d.ts +1 -1
- package/themes/index.js +8 -1
- package/themes/index.js.map +1 -1
- package/themes/looks/house/brief.md +45 -0
- package/themes/looks/house/variety.d.ts +3 -0
- package/themes/looks/house/variety.js +35 -0
- package/themes/looks/house/variety.js.map +1 -0
- package/themes/looks/index.d.ts +15 -0
- package/themes/looks/index.js +68 -0
- package/themes/looks/index.js.map +1 -0
- package/themes/palette-gen.d.ts +1 -39
- package/themes/palette-gen.js +7 -181
- package/themes/palette-gen.js.map +1 -1
- package/themes/style-presets.js +10 -0
- package/themes/style-presets.js.map +1 -1
package/llms/three-js.md
CHANGED
|
@@ -1607,13 +1607,13 @@ export default function SkyGlider() {
|
|
|
1607
1607
|
return (
|
|
1608
1608
|
<div className="relative h-screen w-full bg-sky-200">
|
|
1609
1609
|
<canvas ref={canvasRef} className="absolute inset-0" />
|
|
1610
|
-
<div className="absolute top-4 left-4 rounded bg-
|
|
1610
|
+
<div className="absolute top-4 left-4 rounded-lg bg-card text-card-foreground p-4 shadow-md">
|
|
1611
1611
|
<h2 className="text-lg font-bold">Sky Glider</h2>
|
|
1612
1612
|
<p>Score: {currentScore}</p>
|
|
1613
1613
|
<p className="mt-2 text-sm">WASD/Arrows: Fly, Space: Thrust</p>
|
|
1614
1614
|
</div>
|
|
1615
1615
|
{scoreData.length > 0 && (
|
|
1616
|
-
<div className="absolute top-4 right-4 rounded bg-
|
|
1616
|
+
<div className="absolute top-4 right-4 rounded-lg bg-card text-card-foreground p-4 shadow-md">
|
|
1617
1617
|
<h3 className="font-bold">High Scores</h3>
|
|
1618
1618
|
{scoreData
|
|
1619
1619
|
.sort((a, b) => b.value - a.value)
|
|
@@ -1991,37 +1991,28 @@ export default function HalftoneArtStudio() {
|
|
|
1991
1991
|
};
|
|
1992
1992
|
|
|
1993
1993
|
return (
|
|
1994
|
-
<div className="relative h-screen w-full overflow-hidden bg-
|
|
1995
|
-
{/* Background pattern */}
|
|
1996
|
-
<div
|
|
1997
|
-
className="absolute inset-0 opacity-10"
|
|
1998
|
-
style={{
|
|
1999
|
-
backgroundImage: `radial-gradient(circle at 25px 25px, #70d6ff 2px, transparent 2px)`,
|
|
2000
|
-
backgroundSize: "50px 50px",
|
|
2001
|
-
}}
|
|
2002
|
-
/>
|
|
2003
|
-
|
|
1994
|
+
<div className="relative h-screen w-full overflow-hidden bg-background text-foreground font-sans">
|
|
2004
1995
|
<canvas ref={canvasRef} className="absolute inset-0" />
|
|
2005
1996
|
|
|
2006
1997
|
{/* Main Control Panel */}
|
|
2007
1998
|
<div
|
|
2008
|
-
className={`absolute top-4 left-4 max-h-[calc(100vh-2rem)] overflow-y-auto rounded-lg
|
|
1999
|
+
className={`absolute top-4 left-4 max-h-[calc(100vh-2rem)] overflow-y-auto rounded-lg bg-card text-card-foreground p-4 shadow-lg transition-all duration-300 ${showParameters ? "w-80" : "w-64"}`}
|
|
2009
2000
|
>
|
|
2010
|
-
<h2 className="mb-4 text-lg font-bold text-
|
|
2001
|
+
<h2 className="mb-4 text-lg font-bold text-card-foreground">RGB Halftone Studio</h2>
|
|
2011
2002
|
|
|
2012
2003
|
{/* Always visible controls */}
|
|
2013
2004
|
<div className="mb-4 space-y-3">
|
|
2014
2005
|
<button
|
|
2015
2006
|
onClick={generateRandomScene}
|
|
2016
2007
|
disabled={isGenerating}
|
|
2017
|
-
className="w-full rounded
|
|
2008
|
+
className="w-full rounded-md bg-primary px-4 py-3 font-bold text-primary-foreground shadow-sm active:translate-y-px active:shadow-sm disabled:opacity-50"
|
|
2018
2009
|
>
|
|
2019
2010
|
{isGenerating ? "Generating..." : "🎲 Random Art"}
|
|
2020
2011
|
</button>
|
|
2021
2012
|
|
|
2022
2013
|
<button
|
|
2023
2014
|
onClick={() => setShowParameters(!showParameters)}
|
|
2024
|
-
className="w-full rounded
|
|
2015
|
+
className="w-full rounded-md bg-secondary px-4 py-2 font-bold text-secondary-foreground shadow-sm active:translate-y-px active:shadow-sm"
|
|
2025
2016
|
>
|
|
2026
2017
|
{showParameters ? "🔼 Hide Controls" : "🔽 Show Controls"}
|
|
2027
2018
|
</button>
|
|
@@ -2032,7 +2023,7 @@ export default function HalftoneArtStudio() {
|
|
|
2032
2023
|
<div className="space-y-4">
|
|
2033
2024
|
{/* Shape Controls */}
|
|
2034
2025
|
<div>
|
|
2035
|
-
<label className="mb-2 block text-sm font-bold text-
|
|
2026
|
+
<label className="mb-2 block text-sm font-bold text-card-foreground">Shape: {shapeName}</label>
|
|
2036
2027
|
<select
|
|
2037
2028
|
value={parameters.shape}
|
|
2038
2029
|
onChange={(e) =>
|
|
@@ -2041,7 +2032,7 @@ export default function HalftoneArtStudio() {
|
|
|
2041
2032
|
shape: parseInt(e.target.value),
|
|
2042
2033
|
}))
|
|
2043
2034
|
}
|
|
2044
|
-
className="w-full rounded border
|
|
2035
|
+
className="w-full rounded-md border border-input p-2 text-card-foreground focus:ring-2 focus:ring-ring"
|
|
2045
2036
|
>
|
|
2046
2037
|
<option value={1}>Dot</option>
|
|
2047
2038
|
<option value={2}>Ellipse</option>
|
|
@@ -2052,7 +2043,7 @@ export default function HalftoneArtStudio() {
|
|
|
2052
2043
|
|
|
2053
2044
|
{/* Size Controls */}
|
|
2054
2045
|
<div>
|
|
2055
|
-
<label className="mb-2 block text-sm font-bold text-
|
|
2046
|
+
<label className="mb-2 block text-sm font-bold text-card-foreground">Size: {parameters.radius.toFixed(1)}</label>
|
|
2056
2047
|
<input
|
|
2057
2048
|
type="range"
|
|
2058
2049
|
min="1"
|
|
@@ -2072,7 +2063,7 @@ export default function HalftoneArtStudio() {
|
|
|
2072
2063
|
{/* Color Rotation */}
|
|
2073
2064
|
<div className="grid grid-cols-3 gap-2">
|
|
2074
2065
|
<div>
|
|
2075
|
-
<label className="mb-1 block text-xs font-bold text-
|
|
2066
|
+
<label className="mb-1 block text-xs font-bold text-muted-foreground">Red: {parameters.rotateR.toFixed(0)}°</label>
|
|
2076
2067
|
<input
|
|
2077
2068
|
type="range"
|
|
2078
2069
|
min="0"
|
|
@@ -2088,7 +2079,7 @@ export default function HalftoneArtStudio() {
|
|
|
2088
2079
|
/>
|
|
2089
2080
|
</div>
|
|
2090
2081
|
<div>
|
|
2091
|
-
<label className="mb-1 block text-xs font-bold text-
|
|
2082
|
+
<label className="mb-1 block text-xs font-bold text-muted-foreground">Green: {parameters.rotateG.toFixed(0)}°</label>
|
|
2092
2083
|
<input
|
|
2093
2084
|
type="range"
|
|
2094
2085
|
min="0"
|
|
@@ -2104,7 +2095,7 @@ export default function HalftoneArtStudio() {
|
|
|
2104
2095
|
/>
|
|
2105
2096
|
</div>
|
|
2106
2097
|
<div>
|
|
2107
|
-
<label className="mb-1 block text-xs font-bold text-
|
|
2098
|
+
<label className="mb-1 block text-xs font-bold text-muted-foreground">Blue: {parameters.rotateB.toFixed(0)}°</label>
|
|
2108
2099
|
<input
|
|
2109
2100
|
type="range"
|
|
2110
2101
|
min="0"
|
|
@@ -2123,7 +2114,7 @@ export default function HalftoneArtStudio() {
|
|
|
2123
2114
|
|
|
2124
2115
|
{/* Effects */}
|
|
2125
2116
|
<div>
|
|
2126
|
-
<label className="mb-2 block text-sm font-bold text-
|
|
2117
|
+
<label className="mb-2 block text-sm font-bold text-card-foreground">
|
|
2127
2118
|
Scatter: {(parameters.scatter * 100).toFixed(0)}%
|
|
2128
2119
|
</label>
|
|
2129
2120
|
<input
|
|
@@ -2143,7 +2134,7 @@ export default function HalftoneArtStudio() {
|
|
|
2143
2134
|
</div>
|
|
2144
2135
|
|
|
2145
2136
|
<div>
|
|
2146
|
-
<label className="mb-2 block text-sm font-bold text-
|
|
2137
|
+
<label className="mb-2 block text-sm font-bold text-card-foreground">
|
|
2147
2138
|
Blend: {(parameters.blending * 100).toFixed(0)}%
|
|
2148
2139
|
</label>
|
|
2149
2140
|
<input
|
|
@@ -2163,7 +2154,7 @@ export default function HalftoneArtStudio() {
|
|
|
2163
2154
|
</div>
|
|
2164
2155
|
|
|
2165
2156
|
<div>
|
|
2166
|
-
<label className="mb-2 block text-sm font-bold text-
|
|
2157
|
+
<label className="mb-2 block text-sm font-bold text-card-foreground">Blend Mode: {blendModeName}</label>
|
|
2167
2158
|
<select
|
|
2168
2159
|
value={parameters.blendingMode}
|
|
2169
2160
|
onChange={(e) =>
|
|
@@ -2172,7 +2163,7 @@ export default function HalftoneArtStudio() {
|
|
|
2172
2163
|
blendingMode: parseInt(e.target.value),
|
|
2173
2164
|
}))
|
|
2174
2165
|
}
|
|
2175
|
-
className="w-full rounded border
|
|
2166
|
+
className="w-full rounded-md border border-input p-2 text-card-foreground focus:ring-2 focus:ring-ring"
|
|
2176
2167
|
>
|
|
2177
2168
|
<option value={1}>Linear</option>
|
|
2178
2169
|
<option value={2}>Multiply</option>
|
|
@@ -2196,7 +2187,7 @@ export default function HalftoneArtStudio() {
|
|
|
2196
2187
|
}
|
|
2197
2188
|
className="mr-2"
|
|
2198
2189
|
/>
|
|
2199
|
-
<span className="text-sm font-bold text-
|
|
2190
|
+
<span className="text-sm font-bold text-card-foreground">Greyscale</span>
|
|
2200
2191
|
</label>
|
|
2201
2192
|
|
|
2202
2193
|
<label className="flex items-center">
|
|
@@ -2211,7 +2202,7 @@ export default function HalftoneArtStudio() {
|
|
|
2211
2202
|
}
|
|
2212
2203
|
className="mr-2"
|
|
2213
2204
|
/>
|
|
2214
|
-
<span className="text-sm font-bold text-
|
|
2205
|
+
<span className="text-sm font-bold text-card-foreground">Disable Effect</span>
|
|
2215
2206
|
</label>
|
|
2216
2207
|
</div>
|
|
2217
2208
|
|
|
@@ -2222,12 +2213,12 @@ export default function HalftoneArtStudio() {
|
|
|
2222
2213
|
placeholder="Preset name..."
|
|
2223
2214
|
value={presetName}
|
|
2224
2215
|
onChange={(e) => setPresetName(e.target.value)}
|
|
2225
|
-
className="mb-2 w-full rounded border
|
|
2216
|
+
className="mb-2 w-full rounded-md border border-input p-2 text-card-foreground focus:ring-2 focus:ring-ring"
|
|
2226
2217
|
/>
|
|
2227
2218
|
<button
|
|
2228
2219
|
onClick={savePreset}
|
|
2229
2220
|
disabled={!presetName.trim()}
|
|
2230
|
-
className="w-full rounded
|
|
2221
|
+
className="w-full rounded-md bg-accent px-4 py-2 font-bold text-accent-foreground shadow-sm active:translate-y-px active:shadow-sm disabled:opacity-50"
|
|
2231
2222
|
>
|
|
2232
2223
|
💾 Save Preset
|
|
2233
2224
|
</button>
|
|
@@ -2236,22 +2227,22 @@ export default function HalftoneArtStudio() {
|
|
|
2236
2227
|
{/* Saved Presets */}
|
|
2237
2228
|
{presets.length > 0 && (
|
|
2238
2229
|
<div>
|
|
2239
|
-
<h4 className="mb-2 text-sm font-bold text-
|
|
2230
|
+
<h4 className="mb-2 text-sm font-bold text-card-foreground">💾 Saved Presets</h4>
|
|
2240
2231
|
<div className="max-h-32 space-y-2 overflow-y-auto">
|
|
2241
2232
|
{presets
|
|
2242
2233
|
.sort((a, b) => b.timestamp - a.timestamp)
|
|
2243
2234
|
.map((preset) => (
|
|
2244
2235
|
<div
|
|
2245
2236
|
key={preset._id}
|
|
2246
|
-
className={`cursor-pointer rounded
|
|
2237
|
+
className={`cursor-pointer rounded-md p-3 transition-colors ${
|
|
2247
2238
|
currentPreset?._id === preset._id
|
|
2248
|
-
? "
|
|
2249
|
-
: "
|
|
2239
|
+
? "bg-primary text-primary-foreground shadow-sm"
|
|
2240
|
+
: "bg-card text-card-foreground shadow-sm"
|
|
2250
2241
|
}`}
|
|
2251
2242
|
onClick={() => loadPreset(preset)}
|
|
2252
2243
|
>
|
|
2253
|
-
<div className="text-xs font-bold text-
|
|
2254
|
-
<div className="text-xs text-
|
|
2244
|
+
<div className="text-xs font-bold text-card-foreground">{preset.name}</div>
|
|
2245
|
+
<div className="text-xs text-card-foreground opacity-75">
|
|
2255
2246
|
{["", "Dot", "Ellipse", "Line", "Square"][preset.parameters.shape]} •{" "}
|
|
2256
2247
|
{preset.parameters.greyscale ? "B&W" : "Color"}
|
|
2257
2248
|
</div>
|
|
@@ -2264,7 +2255,7 @@ export default function HalftoneArtStudio() {
|
|
|
2264
2255
|
{/* Parameter History */}
|
|
2265
2256
|
{parameterHistory.length > 0 && (
|
|
2266
2257
|
<div>
|
|
2267
|
-
<h4 className="mb-2 text-sm font-bold text-
|
|
2258
|
+
<h4 className="mb-2 text-sm font-bold text-card-foreground">📜 Parameter History</h4>
|
|
2268
2259
|
<div className="max-h-40 space-y-2 overflow-y-auto">
|
|
2269
2260
|
{parameterHistory
|
|
2270
2261
|
.sort((a, b) => b.timestamp - a.timestamp)
|
|
@@ -2272,15 +2263,15 @@ export default function HalftoneArtStudio() {
|
|
|
2272
2263
|
.map((state) => (
|
|
2273
2264
|
<div
|
|
2274
2265
|
key={state._id}
|
|
2275
|
-
className="cursor-pointer rounded
|
|
2266
|
+
className="cursor-pointer rounded-md bg-card text-card-foreground p-3 shadow-sm transition-shadow hover:shadow-md"
|
|
2276
2267
|
onClick={() => loadParameterState(state)}
|
|
2277
2268
|
>
|
|
2278
|
-
<div className="text-xs font-bold text-
|
|
2279
|
-
<div className="text-xs text-
|
|
2269
|
+
<div className="text-xs font-bold text-card-foreground">{actionNames[state.action] || "⚙️ Unknown"}</div>
|
|
2270
|
+
<div className="text-xs text-card-foreground opacity-75">
|
|
2280
2271
|
{["", "Dot", "Ellipse", "Line", "Square"][state.parameters.shape]} • Size:{" "}
|
|
2281
2272
|
{state.parameters.radius.toFixed(1)} • {state.parameters.greyscale ? "B&W" : "Color"}
|
|
2282
2273
|
</div>
|
|
2283
|
-
<div className="text-xs text-
|
|
2274
|
+
<div className="text-xs text-card-foreground opacity-50">{new Date(state.timestamp).toLocaleTimeString()}</div>
|
|
2284
2275
|
</div>
|
|
2285
2276
|
))}
|
|
2286
2277
|
</div>
|
|
@@ -292,8 +292,8 @@ And never disable the app's real controls on `!viewer`. If favoriting works sign
|
|
|
292
292
|
```jsx
|
|
293
293
|
{/* Show another user read-only: */}
|
|
294
294
|
<ViewerTag userHandle={comment.authorHandle} />
|
|
295
|
-
{/*
|
|
296
|
-
<ViewerTag userHandle={member.userHandle}
|
|
295
|
+
{/* Placement override — className carries placement only: */}
|
|
296
|
+
<ViewerTag userHandle={member.userHandle} className="mt-1" />
|
|
297
297
|
```
|
|
298
298
|
|
|
299
299
|
**The current viewer's pill is system chrome, not app UI.** The platform already shows the current user inside the Vibes Switch that opens from the logo, so don't add a no-prop `<ViewerTag />` as a header pill just to show who's signed in; reach for `userHandle` to render someone else instead. To *ask* an anonymous visitor to sign in, use `requestLogin()` and your own copy (see **Asking a visitor to sign in**) — that ask belongs at the moment of value, which is a place only your app knows.
|
package/llms/use-viewer.md
CHANGED
|
@@ -283,8 +283,8 @@ And never disable the app's real controls on `!viewer`. If favoriting works sign
|
|
|
283
283
|
```jsx
|
|
284
284
|
{/* Show another user read-only: */}
|
|
285
285
|
<ViewerTag userHandle={comment.authorHandle} />
|
|
286
|
-
{/*
|
|
287
|
-
<ViewerTag userHandle={member.userHandle}
|
|
286
|
+
{/* Placement override — className carries placement only: */}
|
|
287
|
+
<ViewerTag userHandle={member.userHandle} className="mt-1" />
|
|
288
288
|
```
|
|
289
289
|
|
|
290
290
|
**The current viewer's pill is system chrome, not app UI.** The platform already shows the current user inside the Vibes Switch that opens from the logo, so don't add a no-prop `<ViewerTag />` as a header pill just to show who's signed in; reach for `userHandle` to render someone else instead. To *ask* an anonymous visitor to sign in, use `requestLogin()` and your own copy (see **Asking a visitor to sign in**) — that ask belongs at the moment of value, which is a place only your app knows.
|
package/llms/webxr.md
CHANGED
|
@@ -536,9 +536,9 @@ export default function App() {
|
|
|
536
536
|
}, []);
|
|
537
537
|
|
|
538
538
|
return (
|
|
539
|
-
<div className="relative w-full h-screen bg-
|
|
539
|
+
<div className="relative w-full h-screen bg-background text-foreground font-sans">
|
|
540
540
|
<canvas ref={canvasRef} className="w-full h-full" />
|
|
541
|
-
<div className="absolute top-4 left-4 text-
|
|
541
|
+
<div className="absolute top-4 left-4 text-muted-foreground text-sm">Sessions: {sessions.length}</div>
|
|
542
542
|
</div>
|
|
543
543
|
);
|
|
544
544
|
}
|
|
@@ -742,14 +742,14 @@ export default function App() {
|
|
|
742
742
|
return (
|
|
743
743
|
<div className="relative w-full h-screen overflow-hidden">
|
|
744
744
|
{mode === "fixture" && <img src={FIXTURE_BG} className="absolute inset-0 w-full h-full object-cover" alt="" />}
|
|
745
|
-
<canvas ref={canvasRef} className="absolute inset-0 w-full h-full
|
|
746
|
-
<div className="absolute top-4 left-4 bg-
|
|
745
|
+
<canvas ref={canvasRef} className="absolute inset-0 w-full h-full bg-transparent" />
|
|
746
|
+
<div className="absolute top-4 left-4 bg-card/80 text-card-foreground px-3 py-2 rounded-lg shadow-md text-sm">
|
|
747
747
|
{mode === "checking" && "Checking AR support…"}
|
|
748
748
|
{mode === "ar" && `Tap a surface to place an orb · ${orbCount} placed`}
|
|
749
749
|
{mode === "fixture" && `Desktop preview — click to place orbs · ${orbCount} placed`}
|
|
750
750
|
</div>
|
|
751
751
|
{arError && (
|
|
752
|
-
<div className="absolute bottom-4 left-4 right-4 bg-
|
|
752
|
+
<div className="absolute bottom-4 left-4 right-4 bg-destructive/90 text-foreground px-3 py-2 rounded-lg shadow-md text-sm">
|
|
753
753
|
AR error: {arError}
|
|
754
754
|
</div>
|
|
755
755
|
)}
|
package/package.json
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/prompts",
|
|
3
|
-
"version": "14.1.
|
|
3
|
+
"version": "14.1.48",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./index.js",
|
|
8
8
|
"./build-schema-prompt.js": "./build-schema-prompt.js",
|
|
9
|
+
"./themes/color-math.js": "./themes/color-math.js",
|
|
9
10
|
"./themes/colorsets.js": "./themes/colorsets.js",
|
|
10
11
|
"./themes/colorsets-bundle.js": "./themes/colorsets-bundle.js",
|
|
11
12
|
"./themes/fonts.js": "./themes/fonts.js",
|
|
13
|
+
"./themes/looks/index.js": "./themes/looks/index.js",
|
|
12
14
|
"./themes/ornament-pad.js": "./themes/ornament-pad.js",
|
|
13
15
|
"./themes/palette-gen.js": "./themes/palette-gen.js",
|
|
14
16
|
"./themes/style-presets.js": "./themes/style-presets.js"
|
|
@@ -34,9 +36,9 @@
|
|
|
34
36
|
"license": "Apache-2.0",
|
|
35
37
|
"dependencies": {
|
|
36
38
|
"@adviser/cement": "~0.5.34",
|
|
37
|
-
"@vibes.diy/call-ai-v2": "14.1.
|
|
38
|
-
"@vibes.diy/identity": "14.1.
|
|
39
|
-
"@vibes.diy/use-vibes-types": "14.1.
|
|
39
|
+
"@vibes.diy/call-ai-v2": "14.1.48",
|
|
40
|
+
"@vibes.diy/identity": "14.1.48",
|
|
41
|
+
"@vibes.diy/use-vibes-types": "14.1.48",
|
|
40
42
|
"arktype": "~2.2.3",
|
|
41
43
|
"json-schema-faker": "~0.6.3"
|
|
42
44
|
},
|
package/prompts.d.ts
CHANGED
|
@@ -111,6 +111,7 @@ export type PreAllocParsed = typeof preAllocParsed.infer;
|
|
|
111
111
|
export interface PromptSegments {
|
|
112
112
|
headPre: string;
|
|
113
113
|
headDocs: string;
|
|
114
|
+
headLook: string;
|
|
114
115
|
tail: string;
|
|
115
116
|
}
|
|
116
117
|
export interface SystemPromptResult {
|
|
@@ -128,6 +129,9 @@ export interface MakeBaseSystemPromptOptions {
|
|
|
128
129
|
pkgBaseUrl?: string;
|
|
129
130
|
variant?: "initial" | "initial-oneshot" | "continuation";
|
|
130
131
|
suppressDefaultStylePrompt?: boolean;
|
|
132
|
+
look?: {
|
|
133
|
+
components: boolean;
|
|
134
|
+
};
|
|
131
135
|
}
|
|
132
136
|
export declare function makeBaseSystemPrompt(model: string, sessionDoc: Partial<UserSettings> & MakeBaseSystemPromptOptions): Promise<SystemPromptResult>;
|
|
133
137
|
export declare function getRecoveryAddendum(pkgBaseUrl?: string, fetchFn?: typeof fetch): Promise<string>;
|
package/prompts.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { loadAsset, KeyedResolvOnce } from "@adviser/cement";
|
|
2
2
|
import { getLlmCatalog, getLlmCatalogNames } from "./json-docs.js";
|
|
3
|
-
import { curatedThemes, getColorsetCatalogNames, getThemeCatalogNames } from "./themes/index.js";
|
|
3
|
+
import { curatedThemes, getColorsetCatalogNames, getThemeCatalogNames, renderLookTokenDisciplineBlock } from "./themes/index.js";
|
|
4
|
+
import { hasLookBrief, LOOK_BRIEF_ASSET_PATH, lookVarietyDialect, renderLookBrief } from "./themes/looks/index.js";
|
|
4
5
|
import { renderTextureNoteSection, renderVarietyContextForPreAlloc, renderVarietySection, } from "./generation-variety.js";
|
|
5
6
|
import { type } from "arktype";
|
|
6
7
|
import { defaultStylePrompt } from "./style-prompts.js";
|
|
@@ -220,30 +221,60 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
|
|
|
220
221
|
: validatedTheme && colorsetCatalogNames.has(validatedTheme)
|
|
221
222
|
? validatedTheme
|
|
222
223
|
: undefined;
|
|
224
|
+
const lookOptions = sessionDoc?.look;
|
|
225
|
+
let headLook = "";
|
|
226
|
+
if (lookOptions && validatedTheme !== undefined && hasLookBrief(validatedTheme)) {
|
|
227
|
+
const briefPath = LOOK_BRIEF_ASSET_PATH(validatedTheme);
|
|
228
|
+
const rBrief = await keyedLoadAsset.get(`look-brief:${validatedTheme}`).once(async () => {
|
|
229
|
+
return loadAsset(briefPath, {
|
|
230
|
+
fallBackUrl: pkgBaseUrl,
|
|
231
|
+
basePath: () => import.meta.url,
|
|
232
|
+
mock: {
|
|
233
|
+
fetch: sessionDoc.fetch,
|
|
234
|
+
},
|
|
235
|
+
});
|
|
236
|
+
});
|
|
237
|
+
if (rBrief.isErr()) {
|
|
238
|
+
console.warn(`Failed to load look brief for ${validatedTheme} at path ${briefPath}:`, rBrief.Err());
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
headLook = `\n<look-brief>\n${renderLookBrief(rBrief.Ok() ?? "", lookOptions)}\n</look-brief>\n`;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
const lookTokenBlock = headLook.length > 0 && lookOptions ? renderLookTokenDisciplineBlock(lookOptions) : undefined;
|
|
245
|
+
const genericTokenBlock = "<theme-tokens>\nThe platform injects this app's color + structural tokens at runtime — " +
|
|
246
|
+
"`--background`, `--surface`, `--primary`, `--secondary`, `--accent`, `--text-primary`, `--text-secondary`, " +
|
|
247
|
+
"`--border`, `--radius`, `--border-width`, `--font-family`, `--vibes-spacing`, `--vibes-shadow` and their " +
|
|
248
|
+
"siblings, light and dark. Two of those names are deliberately prefixed: `--vibes-spacing` and " +
|
|
249
|
+
"`--vibes-shadow`/`--vibes-shadow-sm`/`--vibes-shadow-lg`, because Tailwind v4 defines the bare `--spacing` " +
|
|
250
|
+
"and `--shadow*` itself and writing those would repoint its own utilities. " +
|
|
251
|
+
"Do NOT restate a `:root` block, do NOT write an arbitrary-value class such as `bg-[var(--background)]`, and " +
|
|
252
|
+
"do NOT write literal colors, radii, shadows or font stacks: build every surface, text, border and action " +
|
|
253
|
+
"on the plain utilities this theme already backs — `bg-background` with `text-foreground`, `bg-card` with " +
|
|
254
|
+
"`text-card-foreground`, `bg-popover` with `text-popover-foreground`, `bg-primary` with " +
|
|
255
|
+
"`text-primary-foreground`, `text-muted-foreground` for metadata, `border-border` / `border-input` / " +
|
|
256
|
+
"`ring-ring` for edges and focus, `rounded-sm|md|lg`, `shadow-sm|md|lg`, and `font-sans` once on the root " +
|
|
257
|
+
"element. The owner restyles the " +
|
|
258
|
+
"whole app by swapping those token values, so anything you inline as a literal is a part of the app they can " +
|
|
259
|
+
"never restyle.\n</theme-tokens>";
|
|
223
260
|
const themeTokenSection = validatedTheme === undefined
|
|
224
261
|
? ""
|
|
225
|
-
:
|
|
226
|
-
"
|
|
227
|
-
"`--border`, `--radius`, `--border-width`, `--font-family`, `--vibes-spacing`, `--vibes-shadow` and their " +
|
|
228
|
-
"siblings, light and dark. Two of those names are deliberately prefixed: `--vibes-spacing` and " +
|
|
229
|
-
"`--vibes-shadow`/`--vibes-shadow-sm`/`--vibes-shadow-lg`, because Tailwind v4 defines the bare `--spacing` " +
|
|
230
|
-
"and `--shadow*` itself and writing those would repoint its own utilities. " +
|
|
231
|
-
"Do NOT restate a `:root` block and do NOT write literal colors, radii, shadows or font stacks: build every " +
|
|
232
|
-
"surface, text, border and action on the variables via Tailwind bracket notation — `bg-[var(--background)]`, " +
|
|
233
|
-
"`text-[var(--text-primary)]`, `border-[var(--border)]`, `rounded-[var(--radius)]`. The owner restyles the " +
|
|
234
|
-
"whole app by swapping those token values, so anything you inline as a literal is a part of the app they can " +
|
|
235
|
-
"never restyle.\n</theme-tokens>\n\n" +
|
|
262
|
+
: (lookTokenBlock ?? genericTokenBlock) +
|
|
263
|
+
"\n\n" +
|
|
236
264
|
"Applying or switching a theme restyles the app; it must NEVER rewrite it. Change only styling (the " +
|
|
237
265
|
"classNames/`c` object, and CSS) and leave the app's copy, wording, labels, headings, feature set, and " +
|
|
238
266
|
"behavior exactly as they are. NEVER write the theme's name — or any design-system, palette, or color-scheme " +
|
|
239
267
|
'name (e.g. "Atlas Reference", "Matrix Status") — into the app\'s UI, headings, labels, content, or comments. ' +
|
|
240
268
|
"Theme names are designer vocabulary, not user-facing copy.";
|
|
269
|
+
const varietyDialect = headLook.length > 0 && validatedTheme !== undefined ? lookVarietyDialect(validatedTheme) : undefined;
|
|
241
270
|
const varietySection = renderVarietySection({
|
|
242
271
|
...(typeof sessionDoc?.layoutArchetype === "string" ? { archetype: sessionDoc.layoutArchetype } : {}),
|
|
243
272
|
...(Array.isArray(sessionDoc?.flourishes) ? { flourishes: sessionDoc.flourishes } : {}),
|
|
244
|
-
});
|
|
273
|
+
}, varietyDialect === undefined ? undefined : { dialect: varietyDialect });
|
|
245
274
|
const textureNoteSection = renderTextureNoteSection(typeof sessionDoc?.textureNote === "string" ? sessionDoc.textureNote : undefined);
|
|
246
|
-
const themeDesignSection = [themeTokenSection, varietySection,
|
|
275
|
+
const themeDesignSection = [themeTokenSection, varietySection, ...(headLook.length > 0 ? [] : [textureNoteSection])]
|
|
276
|
+
.filter((s) => s.length > 0)
|
|
277
|
+
.join("\n\n");
|
|
247
278
|
const styleFallback = sessionDoc?.suppressDefaultStylePrompt ? "" : defaultStylePrompt;
|
|
248
279
|
const stylePrompt = sessionDoc?.stylePrompt || (validatedTheme === undefined ? styleFallback : "");
|
|
249
280
|
const demoDataLines = includeDemoData
|
|
@@ -272,10 +303,10 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
|
|
|
272
303
|
.map((s) => s.replace(/\n+$/, ""))
|
|
273
304
|
.filter((s) => s.length > 0);
|
|
274
305
|
const tail = tailSections.length === 0 ? "" : `\n${tailSections.join("\n\n")}\n`;
|
|
275
|
-
const systemPrompt = headPre + headDocs + tail;
|
|
306
|
+
const systemPrompt = headPre + headDocs + headLook + tail;
|
|
276
307
|
return {
|
|
277
308
|
systemPrompt,
|
|
278
|
-
promptSegments: { headPre, headDocs, tail },
|
|
309
|
+
promptSegments: { headPre, headDocs, headLook, tail },
|
|
279
310
|
skills: selectedNames,
|
|
280
311
|
theme: validatedTheme,
|
|
281
312
|
colorTheme: validatedColorTheme,
|
package/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../jsr/prompts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../jsr/prompts.ts"],"names":[],"mappings":"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"}
|
package/style-prompts.js
CHANGED
|
@@ -62,7 +62,7 @@ export const stylePrompts = [
|
|
|
62
62
|
`RESPONSIVENESS: ≤700px: stat row collapses to 2 columns, form grid to 1 column. ≤500px: nav stacks vertically, stat row to single column.`,
|
|
63
63
|
`FONTS: Use Google Fonts for Space Grotesk (400,500,600,700) and JetBrains Mono (400,500,700). Use display=swap (so text renders immediately in a fallback and upgrades to the real font when it lands, instead of staying invisible) and add <link rel="preconnect" href="https://fonts.googleapis.com"> + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> right before the stylesheet so the connection is warm.`,
|
|
64
64
|
`LOADING STATES: Only a genuinely-network async operation (callAI, fetch) shows a loading state. A database save is local-first — it resolves against the local replica instantly, so it gets NO spinner (apply the change optimistically and let useLiveQuery reconcile; roll back only if the write is rejected on sync). A database read is not a network op either — the first render already has the data, so render an inviting empty-state when there's nothing yet, never a loading spinner. For the network calls that do warrant it, use a useState boolean \`isLoading\`. While the call is in flight: disable the button with \`disabled={isLoading}\`, replace its label with a spinning SVG (a 16x16 circle with 3px stroke, top quarter transparent, CSS animation rotate 0.8s linear infinite), and optionally add a short text like "Loading..." nearby. Pattern: \`setIsLoading(true); try { await callAI(...); } finally { setIsLoading(false); }\`. The spinner should match the theme: 3px stroke in var(--border) color, no blur, sharp edges. Never leave a network-triggering button clickable with no feedback during the call.`,
|
|
65
|
-
`THEME TOKENS — provided by the platform at runtime. The platform injects these canonical color + structural tokens into the served page, so do NOT restate a :root block — just build the UI on the
|
|
65
|
+
`THEME TOKENS — provided by the platform at runtime. The platform injects these canonical color + structural tokens into the served page, so do NOT restate a :root block — just build the UI on the plain Tailwind utilities the tokens already back (bg-background, text-foreground, border-border, bg-primary), every one of which resolves to this theme's own token at paint time. The block below is the REFERENCE for the token names and values, not something to paste in. They are the swap contract: the user can later swap themes and the app restyles instantly — but only for values routed through these variables. Two hard rules: (1) no literal colors for core surfaces/text/actions/borders — never bg-[#hex]/text-[#hex]/border-[#hex]; a swap can't reach a baked-in literal (a genuinely one-off decorative value may be inlined on the element); (2) don't invent bespoke color tokens — a name a future theme won't define can't be swapped. Plain Tailwind utilities are fine and are in fact the PREFERRED spelling — the runtime remaps them onto the structural tokens automatically: p-4/gap-2 onto --vibes-spacing, text-lg onto --font-size-base, rounded-md onto --radius, shadow-sm/shadow/shadow-lg onto the --vibes-shadow trio, tracking-tight/tracking-wide onto --letter-spacing and --letter-spacing-wide, font-bold onto --font-weight. An arbitrary-value bracket that freezes a number instead (shadow-[4px_4px_0_var(--border)], tracking-[-0.02em], font-[700], p-[16px]) opts that element OUT of every future theme swap — don't. Two names the runtime reserves: never write a bare --spacing (the spacing token is --vibes-spacing) and never write --shadow/--shadow-sm/--shadow-lg (the shadow tokens are --vibes-shadow, --vibes-shadow-sm, --vibes-shadow-lg); when editing older code that references var(--spacing), rewrite it to var(--vibes-spacing) or a plain spacing utility, and rewrite var(--shadow) the same way to var(--vibes-shadow) or a plain shadow utility. text-transform is the one ornament with no utility remap: read it as [text-transform:var(--text-transform)] where the shouting is the theme's call. Token names are code-only vocabulary — never render a token name (--background, --primary, …) in the app's visible UI copy, headings, or labels.
|
|
66
66
|
|
|
67
67
|
<style>
|
|
68
68
|
${BRUTALIST_ROOT_CSS}
|
|
@@ -15,12 +15,13 @@ You are an AI assistant tasked with creating React components. You should create
|
|
|
15
15
|
}
|
|
16
16
|
```
|
|
17
17
|
- Don't use any TypeScript, just use JavaScript
|
|
18
|
-
- Use Tailwind CSS for mobile-first accessible styling.
|
|
19
|
-
- The platform injects the theme's design tokens at runtime — never restate a `:root` design-token block, just build on the
|
|
20
|
-
- The
|
|
21
|
-
- **Anything that floats above a scrim uses
|
|
22
|
-
- Define a classNames object (e.g. `const c = {
|
|
23
|
-
-
|
|
18
|
+
- Use Tailwind CSS for mobile-first accessible styling. Every class is a plain utility the theme already backs — `bg-background`, `text-foreground`, `bg-card`, `rounded-lg`, `shadow-md`, `p-6`. Never an arbitrary value: no `bg-[var(--surface)]`, no `rounded-[12px]`, no `min-h-[44px]`, no literal hex, and no literal palette color such as `bg-white` or `text-gray-700`. Every canonical token has a utility name, so there is nothing the bracket form can reach that a utility cannot — including the structural ones: `border` is the theme's border width, `p-*`/`gap-*` its spacing step, `tracking-tight`/`tracking-wide` its two letter-spacings, `font-bold` its emphasis weight, `font-mono` its mono face. ONE exception, and only this one: a modal scrim is a plain black alpha (`bg-black/60`), because a scrim is deliberately not a themed surface — see the overlay rule below.
|
|
19
|
+
- The platform injects the theme's design tokens at runtime — never restate a `:root` design-token block, just build on the utilities it backs. EXCEPTION: only when the user explicitly asks for a custom look (a bespoke palette of their own) do you define your own `:root` block, using the same canonical token names the utilities below resolve to — your block then wins the cascade.
|
|
20
|
+
- The utility vocabulary is identical across every theme, so this list IS the contract. Page: `bg-background` with `text-foreground`. Raised surfaces: `bg-card` with `text-card-foreground`. Anything floating: `bg-popover` with `text-popover-foreground`. Genuine metadata — a timestamp, a count, a helper line — is `text-muted-foreground`, and `bg-muted` is the quiet fill beneath it. Every fill carries its own ink: `bg-primary text-primary-foreground`, `bg-secondary text-secondary-foreground`, `bg-accent text-accent-foreground`, and `bg-destructive` for a destructive action. Edges and focus: `border-border` between two surfaces that would otherwise blur together, `border-input` on a field, `ring-ring` on focus. Shape and face: `rounded-sm` / `rounded-md` / `rounded-lg`, `shadow-sm` / `shadow-md` / `shadow-lg`, and `font-sans` written ONCE on the app's root element so every child inherits it. Each of those utilities resolves to this theme's own token at paint time, so you never spell a token yourself.
|
|
21
|
+
- **Anything that floats above a scrim uses `bg-popover text-popover-foreground`, never `bg-card`** — modals, dialogs, dropdowns, popovers, menus, toasts, command palettes. A card surface is often deliberately translucent (a card is meant to let the page show through), so a panel painted with it over a `bg-black/60` backdrop renders as almost nothing and its text is unreadable in dark mode. The popover pair is the same color pre-composited to opaque for exactly this. Put it in the classNames object as its own entry (e.g. `overlay: 'bg-popover text-popover-foreground rounded-lg shadow-lg p-6'`) and use it for the panel; the scrim behind it stays a plain black alpha.
|
|
22
|
+
- Define a classNames object (e.g. `const c = { page: 'min-h-screen bg-background text-foreground font-sans p-6', card: 'bg-card text-card-foreground rounded-lg shadow-md p-6', row: 'bg-card text-card-foreground rounded-md shadow-sm p-3', meta: 'text-muted-foreground', action: 'bg-primary text-primary-foreground rounded-md px-4 py-2 shadow-sm active:translate-y-px active:shadow-sm' }`) just before the JSX return, then use them like `className={c.card}`. Never put raw bracket colors directly in JSX — always go through the classNames object, and put only the utilities above in it. Core surfaces, text, borders, and actions all ride those utilities so a palette swap reaches every one of them.
|
|
23
|
+
- Spend ONE `bg-primary` action per view and let it mark the thing that matters most; keep `bg-secondary` and `bg-accent` rare. Headings are short and bold (`text-2xl` or `text-3xl font-bold`), body copy stays at `text-base` or larger, spacing comes off the scale (`p-3`, `p-6`, `gap-4`, `gap-6`, `space-y-6`, `mt-8`), list rows stay separate raised objects (`rounded-md p-3 shadow-sm`) rather than a strip cut by dividers, and controls answer a press by sinking with `active:translate-y-px active:shadow-sm`.
|
|
24
|
+
- The sandbox serves raw ES modules, so local `.css` file imports are unsupported in multi-file apps. Keep styling in `App.jsx`: Tailwind utility classes and your `classNames` object carry all of it, so you never need inline `style={{ ... }}` or a `<style>` tag.
|
|
24
25
|
- A theme or palette change restyles the app — it never rewrites it. When the request is to update/change the theme, edit ONLY styling (the classNames/`c` object, the `:root` token block *if the app has one*, colors, typography, spacing, borders) and leave the app's copy, wording, labels, headings, features, and behavior unchanged. Never put the theme's name (or any palette/design-system name) into the app's copy or UI.
|
|
25
26
|
- For dynamic components, like autocomplete, don't use external libraries, implement your own
|
|
26
27
|
- Avoid using external libraries unless they are essential for the component to function
|
|
@@ -63,7 +64,7 @@ The sandbox serves raw ES modules, so `App.jsx` can import local `.js`/`.jsx` fi
|
|
|
63
64
|
**Write the complete app in one `App.jsx` block.** Because `App.jsx` doesn't exist yet, emit a single fenced ```jsx block containing the entire finished component — not a colored shell to fill in later. Write it all at once:
|
|
64
65
|
|
|
65
66
|
- Imports.
|
|
66
|
-
- A full `classNames` / `c` object with **real colors routed through the platform-provided tokens** (`bg-
|
|
67
|
+
- A full `classNames` / `c` object with **real colors routed through the platform-provided tokens** (`bg-background`, `text-foreground`, `bg-card text-card-foreground`, `bg-primary text-primary-foreground`, …) — page background, header colors, section frames, button styles. Final-ish colors, not placeholders. Do NOT emit a `:root` token block: the platform injects the theme's tokens at runtime.
|
|
67
68
|
- The `<header>` with the real brand title and any always-visible chrome.
|
|
68
69
|
- One function component per feature, each fully wired: its hooks (`useFireproof`, `useLiveQuery`, `useVibe`), its data, its handlers, and its JSX — a working feature, not a heading stub.
|
|
69
70
|
- A default-exported `App` function composing them inside `<main id="app">` with `<header id="app-header">`.
|
|
@@ -72,7 +73,7 @@ Every feature you described above should work when this one block lands. Don't l
|
|
|
72
73
|
|
|
73
74
|
**Split into companion files by default.** Whenever the app has more than a couple of distinct features — and always when the finished app would push `App.jsx` past the ~500-line threshold (see the multi-file rule above) — still lead with one complete `App.jsx` block, but as the composition root: imports, the `classNames` object, layout chrome, and the default `App` export composing the features. Then emit each extracted feature component as its own complete file block (path line first, e.g. `components/Feed.jsx`) right after the `App.jsx` block. Every feature still works when the turn's blocks land — the single-block rule means one complete pass per file, never a second pass, not everything crammed into `App.jsx`. Only a genuinely small app (one screen, one or two features) stays single-file.
|
|
74
75
|
- When a write surface needs gating, destructure `useVibe` for the database it writes to — `const { can, ready } = useVibe("<dbName>");`. Only destructure `useViewer` (`const { ViewerTag } = useViewer();`) when you render **other** users — `<ViewerTag userHandle={...} />` for authors/rosters. The current viewer's pill and sign-in live in the Vibes Switch (the logo), so don't add one to your header.
|
|
75
|
-
- **Be creative with the layout, but respect mobile idioms.** Thumb-reachable primary actions, generous tap targets (`min-h-
|
|
76
|
+
- **Be creative with the layout, but respect mobile idioms.** Thumb-reachable primary actions, generous tap targets (`min-h-11`), scrollable lists, no hover-only interactions.
|
|
76
77
|
- **For chat or log panels, keep autoscroll on the panel itself.** Use a bounded `max-h-64 overflow-y-auto` container with a ref and move it to the end when entries change:
|
|
77
78
|
```jsx
|
|
78
79
|
const chatRef = useRef(null);
|
|
@@ -92,7 +93,7 @@ After your last code block, add a short 1-2 sentence message describing the core
|
|
|
92
93
|
## Code style rules
|
|
93
94
|
|
|
94
95
|
- Semantic HTML tags throughout: `<header>`, `<main>`, `<form>`, `<button>`, `<ul>`, `<li>`, `<section>`. Each feature is its own `<section>` with a stable `id` named after the feature.
|
|
95
|
-
- **Be creative with the layout, but respect mobile idioms.** Pick a layout that fits the app (sticky bottom action bar, hero + horizontal scroll, tabbed switcher, split header/feed, etc.) — a single centered column every time is boring. Mobile rules: thumb-reachable primary actions, generous tap targets (`min-h-
|
|
96
|
+
- **Be creative with the layout, but respect mobile idioms.** Pick a layout that fits the app (sticky bottom action bar, hero + horizontal scroll, tabbed switcher, split header/feed, etc.) — a single centered column every time is boring. Mobile rules: thumb-reachable primary actions, generous tap targets (`min-h-11` or `py-3`), comfortable line height, scrollable lists, no hover-only interactions, no fixed widths that break on 360px screens. Mobile-first, then `md:` / `lg:` for larger viewports.
|
|
96
97
|
- Define components at module scope, not inside `App` — components defined inside other components remount on every render.
|
|
97
98
|
|
|
98
99
|
## Your starter imports (use these as-is)
|