@telepath-computer/television 0.1.178 → 0.1.180

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.
Files changed (34) hide show
  1. package/dist/canonical/v1/components.js +13 -1
  2. package/dist/cli.cjs +1188 -392
  3. package/dist/onboarding/README.md +35 -0
  4. package/dist/onboarding/business-ops/about.html +150 -0
  5. package/dist/onboarding/business-ops/retention-vs-releases.html +572 -0
  6. package/dist/onboarding/business-ops/revenue-vs-goals.html +621 -0
  7. package/dist/onboarding/onboarding-screens.json +167 -0
  8. package/dist/onboarding/productivity/about.html +149 -0
  9. package/dist/onboarding/productivity/company-todos/index.html +121 -0
  10. package/dist/onboarding/productivity/company-todos/task.css +205 -0
  11. package/dist/onboarding/productivity/company-todos/task.js +307 -0
  12. package/dist/onboarding/productivity/meeting-prep.html +440 -0
  13. package/dist/onboarding/productivity/priorities-today.html +409 -0
  14. package/dist/onboarding/productivity/todays-calendar/calendar.css +1 -0
  15. package/dist/onboarding/productivity/todays-calendar/calendar.js +716 -0
  16. package/dist/onboarding/productivity/todays-calendar/index.html +52 -0
  17. package/dist/onboarding/research/about.html +152 -0
  18. package/dist/onboarding/research/draft-blog-post.md +30 -0
  19. package/dist/onboarding/research/open-model-research.html +542 -0
  20. package/dist/onboarding/research/todays-news.html +503 -0
  21. package/dist/onboarding/{television-onboarding → tv-guide/welcome}/index.html +2 -2
  22. package/dist/skills/television/SKILL.md +4 -0
  23. package/dist/views/markdown/index.html +1 -1
  24. package/dist/web/assets/calendar-DToAnkzj.png +0 -0
  25. package/dist/web/assets/main-5017mprd.css +1 -0
  26. package/dist/web/assets/main-C2WA733G.js +865 -0
  27. package/dist/web/assets/markdown-DdDrJuVK.png +0 -0
  28. package/dist/web/assets/table-oeG9uAN1.png +0 -0
  29. package/dist/web/assets/tasks-D4xqXFPl.png +0 -0
  30. package/dist/web/index.html +2 -2
  31. package/package.json +1 -1
  32. package/dist/web/assets/main-FDJtlHD7.js +0 -768
  33. package/dist/web/assets/main-o9Z-XUYA.css +0 -1
  34. /package/dist/onboarding/{television-onboarding → tv-guide/welcome}/assets/television.svg +0 -0
@@ -0,0 +1,503 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Today&#39;s AI News</title>
7
+ <link rel="stylesheet" href="/canonical/v1/styles.css">
8
+ <script type="module" src="/canonical/v1/components.js"></script>
9
+ <style>
10
+ /* Shared base for onboarding artifacts ([[../index.md]]): document padding
11
+ and the centered content shell. Typography, text color, and background
12
+ are the canonical stylesheet's — nothing in this set restates or pins
13
+ them, so artifacts follow the active theme ([[../index.md#^respect-theme]]). */
14
+
15
+ * {
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ body {
20
+ margin: 0;
21
+ padding: var(--space-32, 32px) var(--space-32, 32px) var(--space-64, 64px);
22
+ }
23
+
24
+ .shell {
25
+ max-width: 720px;
26
+ margin: 0 auto;
27
+ display: grid;
28
+ /* Pin the single column to the container so a wide child (a data table)
29
+ scrolls inside its own .table-wrap instead of stretching the track and
30
+ overflowing the card. */
31
+ grid-template-columns: minmax(0, 1fr);
32
+ gap: var(--space-20, 20px);
33
+ }
34
+
35
+ /* Card-density headings ([[../index.md]]): document-scale h1 is oversized
36
+ inside a TV card. */
37
+ h1 {
38
+ margin: 0;
39
+ font-size: var(--text-xl, 17px);
40
+ font-weight: 600;
41
+ line-height: 1.25;
42
+ }
43
+
44
+ /* A lead paragraph (the .lede or .summary-deck standfirst) belongs in the
45
+ header, tight beneath the title — not a full grid-gap below it. Every
46
+ onboarding artifact places its lead this way so the spacing is uniform. */
47
+ header > .lede,
48
+ header > .summary-deck {
49
+ margin-top: var(--space-8, 8px);
50
+ }
51
+
52
+
53
+ /* The hero header idiom ([[../index.md]]): a plain document header opening a
54
+ dashboard-shaped artifact — the title with a fictional freshness line and
55
+ an optional source/meta line, sitting on the document itself rather than
56
+ inside a card. */
57
+
58
+ header.hero h1 {
59
+ margin: 0 0 var(--space-6, 6px);
60
+ }
61
+
62
+ .generated {
63
+ color: var(--color-text-muted);
64
+ font-size: var(--text-sm, 12px);
65
+ font-weight: 500;
66
+ }
67
+
68
+ .meta-line {
69
+ margin-top: var(--space-4, 4px);
70
+ color: var(--color-text-muted);
71
+ font-size: var(--text-sm, 12px);
72
+ }
73
+
74
+
75
+ /* Artifact-specific styling for Today's AI News ([[index.md]]): the wider
76
+ feed shell, per-source accent props over canonical ramp tokens, the
77
+ source chips, the agent "why" notes, and the three source-shaped cards.
78
+ Chrome colors are semantic tokens; the artifact never redefines them
79
+ ([[../../index.md#^respect-theme]]). */
80
+
81
+ .shell {
82
+ max-width: 760px;
83
+ gap: var(--space-16, 16px);
84
+
85
+ /* Source accents, scoped to this artifact. */
86
+ --hn-color: var(--orange-600);
87
+ --x-color: var(--neutral-950);
88
+ --tm-color: var(--red-600);
89
+ }
90
+
91
+ .feed {
92
+ display: grid;
93
+ gap: var(--space-12, 12px);
94
+ }
95
+
96
+ /* Each source is one card: a brand-colored header band, the body, and a grey
97
+ "Why:" footer. The source color lives only in the header now. */
98
+ .card {
99
+ overflow: hidden;
100
+ border: 1px solid var(--color-border);
101
+ border-radius: var(--radius-12, 12px);
102
+ background: var(--color-surface);
103
+ }
104
+
105
+ .card-header {
106
+ padding: var(--space-10, 10px) var(--space-16, 16px);
107
+ color: var(--white);
108
+ }
109
+ .card.hn .card-header { background: var(--hn-color); }
110
+ .card.x .card-header { background: var(--x-color); }
111
+ .card.tm .card-header { background: var(--tm-color); }
112
+
113
+ /* Small source label, then the item's own title, both inside the band. */
114
+ .card-source {
115
+ font-size: var(--text-xs, 11px);
116
+ font-weight: 700;
117
+ letter-spacing: 0.04em;
118
+ text-transform: uppercase;
119
+ opacity: 0.85;
120
+ }
121
+ .card-title {
122
+ display: block;
123
+ margin-top: var(--space-2, 2px);
124
+ color: var(--white);
125
+ font-size: var(--text-base, 13.5px);
126
+ font-weight: 600;
127
+ line-height: 1.3;
128
+ text-decoration: none;
129
+ }
130
+ a.card-title:hover {
131
+ text-decoration: underline;
132
+ }
133
+ /* Source metadata (domain / timestamp / outlet) under the title, dimmed. */
134
+ .card-meta {
135
+ margin-top: var(--space-4, 4px);
136
+ color: var(--white);
137
+ font-size: var(--text-sm, 12px);
138
+ opacity: 0.75;
139
+ }
140
+ /* X: author name is the title; handle rides alongside it, dimmed. */
141
+ .x-handle-h {
142
+ margin-left: var(--space-4, 4px);
143
+ font-weight: 400;
144
+ opacity: 0.7;
145
+ }
146
+ .x-handle-h::before {
147
+ content: "@";
148
+ }
149
+
150
+ .card-body {
151
+ padding: var(--space-12, 12px) var(--space-16, 16px);
152
+ }
153
+
154
+ .card-footer {
155
+ padding: var(--space-8, 8px) var(--space-16, 16px);
156
+ border-top: 1px solid var(--color-border-muted);
157
+ background: var(--color-surface-muted);
158
+ color: var(--color-text-muted);
159
+ font-size: var(--text-sm, 12px);
160
+ line-height: 1.4;
161
+ }
162
+ .card-footer::before {
163
+ content: "Why: ";
164
+ font-weight: 600;
165
+ color: var(--color-text);
166
+ }
167
+
168
+ /* Hacker News body. */
169
+ .hn-subhead {
170
+ margin: 0;
171
+ color: var(--color-text-muted);
172
+ font-size: var(--text-sm, 12px);
173
+ line-height: 1.4;
174
+ }
175
+ .hn-stats {
176
+ display: flex;
177
+ flex-wrap: wrap;
178
+ gap: var(--space-16, 16px);
179
+ margin: var(--space-10, 10px) 0 0;
180
+ }
181
+ .hn-stat {
182
+ display: flex;
183
+ align-items: center;
184
+ gap: var(--space-4, 4px);
185
+ color: var(--color-text-muted);
186
+ font-size: var(--text-sm, 12px);
187
+ }
188
+ .hn-stat strong {
189
+ color: var(--color-text);
190
+ font-weight: 600;
191
+ }
192
+ .hn-discussion {
193
+ color: var(--hn-color);
194
+ font-size: var(--text-sm, 12px);
195
+ text-decoration: none;
196
+ }
197
+ .hn-discussion:hover {
198
+ text-decoration: underline;
199
+ }
200
+ .hn-tags {
201
+ display: flex;
202
+ flex-wrap: wrap;
203
+ gap: var(--space-6, 6px);
204
+ margin: var(--space-8, 8px) 0 0;
205
+ }
206
+ .hn-tag {
207
+ display: inline-flex;
208
+ padding: 2px var(--space-8, 8px);
209
+ border: 1px solid var(--color-border);
210
+ border-radius: var(--radius-full, 9999px);
211
+ background: var(--color-surface-muted);
212
+ color: var(--color-text-muted);
213
+ font-size: var(--text-sm, 12px);
214
+ }
215
+
216
+ /* X body. */
217
+ .x-text {
218
+ margin: 0;
219
+ color: var(--color-text);
220
+ font-size: var(--text-base, 13.5px);
221
+ line-height: 1.45;
222
+ white-space: pre-wrap;
223
+ word-wrap: break-word;
224
+ }
225
+ .x-text a {
226
+ color: var(--color-link);
227
+ text-decoration: none;
228
+ }
229
+ .x-text a:hover {
230
+ text-decoration: underline;
231
+ }
232
+ .x-stats {
233
+ display: flex;
234
+ gap: var(--space-24, 24px);
235
+ margin: var(--space-12, 12px) 0 0;
236
+ padding-top: var(--space-10, 10px);
237
+ border-top: 1px solid var(--color-border-muted);
238
+ }
239
+ .x-stat {
240
+ display: flex;
241
+ align-items: center;
242
+ gap: var(--space-6, 6px);
243
+ color: var(--color-text-muted);
244
+ font-size: var(--text-sm, 12px);
245
+ }
246
+ .x-stat strong {
247
+ color: var(--color-text);
248
+ font-weight: 600;
249
+ }
250
+
251
+ /* TechMeme body. */
252
+ .tm-excerpt {
253
+ margin: 0 0 var(--space-8, 8px);
254
+ color: var(--color-text-muted);
255
+ font-size: var(--text-sm, 12px);
256
+ line-height: 1.45;
257
+ }
258
+ .tm-related {
259
+ color: var(--color-text-muted);
260
+ font-size: var(--text-sm, 12px);
261
+ line-height: 1.5;
262
+ }
263
+ .tm-related-label {
264
+ color: var(--tm-color);
265
+ font-weight: 700;
266
+ }
267
+ .tm-related a {
268
+ color: var(--color-text-muted);
269
+ text-decoration: none;
270
+ }
271
+ .tm-related a:hover {
272
+ color: var(--color-link);
273
+ text-decoration: underline;
274
+ }
275
+ .tm-related-sep {
276
+ margin: 0 var(--space-2, 2px);
277
+ opacity: 0.3;
278
+ }
279
+
280
+ @media (max-width: 520px) {
281
+ .x-stats { gap: var(--space-16, 16px); }
282
+ }
283
+
284
+ </style>
285
+ </head>
286
+ <body>
287
+
288
+
289
+
290
+
291
+
292
+ <main class="shell">
293
+ <header class="hero">
294
+ <h1>Today's AI News</h1>
295
+ <div class="meta-line">38 posts read across Hacker News, X, and TechMeme · 7 selected by relevance</div>
296
+ </header>
297
+
298
+ <div class="feed">
299
+
300
+
301
+ <article class="card hn">
302
+ <div class="card-header">
303
+ <div class="card-source">Hacker News</div>
304
+
305
+ <a class="card-title" href="https://news.ycombinator.com/item?id=42901234" target="_blank" rel="noopener">Why Open Models Are Critical to the Future of Computing</a>
306
+ <div class="card-meta">openweights.blog</div>
307
+
308
+ </div>
309
+ <div class="card-body">
310
+
311
+ <p class="hn-subhead">A front-page essay argues that open models — weights you can download, inspect, modify, and run on your own hardware — are the only path that preserves user sovereignty, privacy, censorship resistance, low latency, and cost control. The thread also rounds up recent open model releases: GLM-4.6-405B, Llama-4-70B, Mistral-Large-2, DeepSeek-V3, and Qwen-3-72B. Commenters debate whether the frontier gap is closing fast enough to matter for production deployments.</p>
312
+ <div class="hn-stats">
313
+ <span class="hn-stat">▲ <strong>927</strong> points</span>
314
+ <span class="hn-stat">💬 <strong>413</strong> comments</span>
315
+ <a class="hn-discussion" href="https://news.ycombinator.com/item?id=42901234" target="_blank" rel="noopener">view discussion →</a>
316
+ </div>
317
+ <div class="hn-tags">
318
+
319
+ <span class="hn-tag">open-models</span>
320
+
321
+ <span class="hn-tag">llm</span>
322
+
323
+ <span class="hn-tag">sovereignty</span>
324
+
325
+ <span class="hn-tag">privacy</span>
326
+
327
+ <span class="hn-tag">latency</span>
328
+
329
+ </div>
330
+
331
+ </div>
332
+ <div class="card-footer">You've been thinking and writing a lot about open models lately.</div>
333
+ </article>
334
+
335
+
336
+ <article class="card x">
337
+ <div class="card-header">
338
+ <div class="card-source">X</div>
339
+
340
+ <div class="card-title">Marcus Vane <span class="x-handle-h">marcusvane</span></div>
341
+ <div class="card-meta">3h ago</div>
342
+
343
+ </div>
344
+ <div class="card-body">
345
+
346
+ <div class="x-text">most AI startups are building for the demo, not the deployment. the enterprise buyers i talk to care about three things: does it work reliably, can i audit what it did, and can i roll it back. "autonomy" is maybe 4th on the list. maybe.</div>
347
+ <div class="x-stats">
348
+ <div class="x-stat">💬 <strong>287</strong> replies</div>
349
+ <div class="x-stat">🔁 <strong>1.2K</strong> reposts</div>
350
+ <div class="x-stat">❤️ <strong>5.8K</strong> likes</div>
351
+ <div class="x-stat">📊 <strong>89K</strong> views</div>
352
+ </div>
353
+
354
+ </div>
355
+ <div class="card-footer">Validates the Acme pilot positioning — auditability and rollback over autonomy is exactly what you're betting on.</div>
356
+ </article>
357
+
358
+
359
+ <article class="card x">
360
+ <div class="card-header">
361
+ <div class="card-source">X</div>
362
+
363
+ <div class="card-title">Nadia Okonkwo <span class="x-handle-h">nadiaoko</span></div>
364
+ <div class="card-meta">6h ago</div>
365
+
366
+ </div>
367
+ <div class="card-body">
368
+
369
+ <div class="x-text">we just open-sourced an eval framework for agentic workflows — regression thresholds, latency budgets, rollback traces, all configurable. 2k stars in 6 hours. link in reply 👇
370
+
371
+ the best part: it plugs into CI with 3 lines of yaml. no vendor lock-in. no managed service upsell. just the harness.</div>
372
+ <div class="x-stats">
373
+ <div class="x-stat">💬 <strong>94</strong> replies</div>
374
+ <div class="x-stat">🔁 <strong>2.1K</strong> reposts</div>
375
+ <div class="x-stat">❤️ <strong>7.3K</strong> likes</div>
376
+ <div class="x-stat">📊 <strong>120K</strong> views</div>
377
+ </div>
378
+
379
+ </div>
380
+ <div class="card-footer">This is likely the same framework that showed up as HN #1 today — worth evaluating for the Priya eval ownership discussion.</div>
381
+ </article>
382
+
383
+
384
+ <article class="card hn">
385
+ <div class="card-header">
386
+ <div class="card-source">Hacker News</div>
387
+
388
+ <a class="card-title" href="https://news.ycombinator.com/item?id=42900721" target="_blank" rel="noopener">How we cut our LLM inference latency by 60% with streaming + speculative decoding</a>
389
+ <div class="card-meta">eng.blog</div>
390
+
391
+ </div>
392
+ <div class="card-body">
393
+
394
+ <p class="hn-subhead">Engineering deep-dive on reducing p99 latency for agentic workloads using speculative decoding and chunked streaming, with benchmark code included. Covers tradeoffs between accuracy loss and latency gains across three model families.</p>
395
+ <div class="hn-stats">
396
+ <span class="hn-stat">▲ <strong>176</strong> points</span>
397
+ <span class="hn-stat">💬 <strong>63</strong> comments</span>
398
+ <a class="hn-discussion" href="https://news.ycombinator.com/item?id=42900721" target="_blank" rel="noopener">view discussion →</a>
399
+ </div>
400
+ <div class="hn-tags">
401
+
402
+ <span class="hn-tag">latency</span>
403
+
404
+ <span class="hn-tag">inference</span>
405
+
406
+ <span class="hn-tag">engineering</span>
407
+
408
+ </div>
409
+
410
+ </div>
411
+ <div class="card-footer">The latency issues that came up in the Product Reliability Sync could benefit from this approach.</div>
412
+ </article>
413
+
414
+
415
+ <article class="card tm">
416
+ <div class="card-header">
417
+ <div class="card-source">TechMeme</div>
418
+
419
+ <a class="card-title" href="https://techmeme.com/clip" target="_blank" rel="noopener">Mistral releases Mixtral 12B with Apache 2.0 license; benchmarks show parity with leading hosted mini models on tool-use at 1/8 the cost</a>
420
+ <div class="card-meta">TechCrunch · 8h ago</div>
421
+
422
+ </div>
423
+ <div class="card-body">
424
+
425
+ <p class="tm-excerpt">French AI lab Mistral published Mixtral 12B under Apache 2.0, with a Mixture-of-Experts architecture active at 4B parameters per token. Independent benchmarks on the AgentBench-2.0 agentic suite score it at parity with leading hosted mini models while running at roughly $0.30/M input tokens on self-hosted A100s.</p>
426
+ <div class="tm-related">
427
+ <span class="tm-related-label">More:</span>
428
+
429
+ <a href="#" target="_blank">The Register</a><span class="tm-related-sep">/</span>
430
+
431
+ <a href="#" target="_blank">VentureBeat</a><span class="tm-related-sep">/</span>
432
+
433
+ <a href="#" target="_blank">Hacker News (298↑)</a>
434
+
435
+ </div>
436
+
437
+ </div>
438
+ <div class="card-footer">Apache 2.0 with tool-use parity is worth a spike — could reduce per-workflow inference cost for the Acme pilot significantly.</div>
439
+ </article>
440
+
441
+
442
+ <article class="card hn">
443
+ <div class="card-header">
444
+ <div class="card-source">Hacker News</div>
445
+
446
+ <a class="card-title" href="https://news.ycombinator.com/item?id=42900555" target="_blank" rel="noopener">Seed funding landscape Q3 2026: AI rounds are closing faster but valuations are flattening</a>
447
+ <div class="card-meta">pitchbook.com</div>
448
+
449
+ </div>
450
+ <div class="card-body">
451
+
452
+ <p class="hn-subhead">Analysis of 120 seed rounds shows AI startups are raising 2-3x faster than last year, but median valuations have plateaued as investors demand more proof of revenue. The median time-to-close dropped from 8 weeks to 3 weeks.</p>
453
+ <div class="hn-stats">
454
+ <span class="hn-stat">▲ <strong>256</strong> points</span>
455
+ <span class="hn-stat">💬 <strong>98</strong> comments</span>
456
+ <a class="hn-discussion" href="https://news.ycombinator.com/item?id=42900555" target="_blank" rel="noopener">view discussion →</a>
457
+ </div>
458
+ <div class="hn-tags">
459
+
460
+ <span class="hn-tag">fundraising</span>
461
+
462
+ <span class="hn-tag">seed</span>
463
+
464
+ <span class="hn-tag">valuation</span>
465
+
466
+ </div>
467
+
468
+ </div>
469
+ <div class="card-footer">Relevant to your investor update with Jake — sets context for what investors are seeing across the market right now.</div>
470
+ </article>
471
+
472
+
473
+ <article class="card x">
474
+ <div class="card-header">
475
+ <div class="card-source">X</div>
476
+
477
+ <div class="card-title">Lena Park <span class="x-handle-h">lenapark</span></div>
478
+ <div class="card-meta">14h ago</div>
479
+
480
+ </div>
481
+ <div class="card-body">
482
+
483
+ <div class="x-text">hot take: the "eval harness" conversation is the most important infra convo in AI right now.
484
+
485
+ if you can't define what "good enough" means, you can't ship reliably, and if you can't ship reliably, enterprise won't buy.
486
+
487
+ it's not a QA problem, it's a go-to-market problem.</div>
488
+ <div class="x-stats">
489
+ <div class="x-stat">💬 <strong>156</strong> replies</div>
490
+ <div class="x-stat">🔁 <strong>847</strong> reposts</div>
491
+ <div class="x-stat">❤️ <strong>3.4K</strong> likes</div>
492
+ <div class="x-stat">📊 <strong>54K</strong> views</div>
493
+ </div>
494
+
495
+ </div>
496
+ <div class="card-footer">Directly relevant to the eval harness ownership decision you're discussing with Priya today.</div>
497
+ </article>
498
+
499
+ </div>
500
+ </main>
501
+
502
+ </body>
503
+ </html>
@@ -196,8 +196,8 @@
196
196
  <p>Your agent will usually know when to answer by creating an artifact. If it replies in chat instead, just say: “put that on my TV.”</p>
197
197
 
198
198
  <section class="callout">
199
- <h2><svg class="callout-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><g transform="translate(256 0) scale(-1 1)"><path d="M240,120a40,40,0,0,1-40,40H160V80h40A40,40,0,0,1,240,120Z" opacity="0.2"/><path d="M248,120a48.05,48.05,0,0,0-48-48H160.2c-2.91-.17-53.62-3.74-101.91-44.24A16,16,0,0,0,32,40V200a16,16,0,0,0,26.29,12.25c37.77-31.68,77-40.76,93.71-43.3v31.72A16,16,0,0,0,159.12,214l11,7.33A16,16,0,0,0,194.5,212l11.77-44.36A48.07,48.07,0,0,0,248,120ZM48,199.93V40h0c42.81,35.91,86.63,45,104,47.24v65.48C134.65,155,90.84,164.07,48,199.93Zm131,8,0,.11-11-7.33V168h21.6ZM200,152H168V88h32a32,32,0,1,1,0,64Z"/></g></svg>Spread the word</h2>
200
- <p>Television isn’t public yet, but it’s not a secret. If you make something cool, we’d love you to share it!</p>
199
+ <h2><svg class="callout-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M208,104a79.86,79.86,0,0,1-30.59,62.92A24.29,24.29,0,0,0,168,186v6a8,8,0,0,1-8,8H96a8,8,0,0,1-8-8v-6a24.11,24.11,0,0,0-9.3-19A79.87,79.87,0,0,1,48,104.45C47.76,61.09,82.72,25,126.07,24A80,80,0,0,1,208,104Z" opacity="0.2"/><path d="M176,232a8,8,0,0,1-8,8H88a8,8,0,0,1,0-16h80A8,8,0,0,1,176,232Zm40-128a87.55,87.55,0,0,1-33.64,69.21A16.24,16.24,0,0,0,176,186v6a16,16,0,0,1-16,16H96a16,16,0,0,1-16-16v-6a16,16,0,0,0-6.23-12.66A87.59,87.59,0,0,1,40,104.49C39.74,56.83,78.26,17.14,125.88,16A88,88,0,0,1,216,104Zm-16,0a72,72,0,0,0-73.74-72c-39,.92-70.47,33.39-70.26,72.39a71.65,71.65,0,0,0,27.64,56.3A32,32,0,0,1,96,186v6h64v-6a32.15,32.15,0,0,1,12.47-25.35A71.65,71.65,0,0,0,200,104Zm-16.11-9.34a57.6,57.6,0,0,0-46.56-46.55,8,8,0,0,0-2.66,15.78c16.57,2.79,30.63,16.85,33.44,33.45A8,8,0,0,0,176,104a9,9,0,0,0,1.35-.11A8,8,0,0,0,183.89,94.66Z"/></svg>More examples</h2>
200
+ <p>See the screens above for other examples of how to use Television. (You can close or delete these screens whenever you like; they're just there to give you ideas!)</p>
201
201
  </section>
202
202
  </body>
203
203
  </html>
@@ -45,6 +45,10 @@ That relationship matters:
45
45
  - deleting an artifact removes its registry record and its card from the screen
46
46
  - moving the same underlying path or URL to another screen means deleting the old artifact and creating a new artifact with the same path or URL on the target screen
47
47
 
48
+ ### Onboarding screens
49
+
50
+ Fresh installations receive a small set of bundled onboarding screens, each installed exactly once per storage directory. After installation they are ordinary screens: rename, edit, or delete them like any other, and Television never re-creates or overwrites what changed. You can tell one apart from a user-created screen by the `onboarding` marker (slug and install order) persisted in its screen metadata — visible in `tv list-screens` / `tv get-screen` output; user-created screens have no such field. The marker changes nothing about how you manage the screen.
51
+
48
52
  ### Artifact shapes
49
53
 
50
54
  Television artifacts point to one of three shapes: