Create your own design: Standard TV style, roomier phone cards, reasons clear of the buttons
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -79,7 +79,12 @@ props = [('The X-Files', 'Series · 1993 · 202 episodes', 'Sci-fi, 1990s, myste
|
||||
for i, (t, d, why) in enumerate(props):
|
||||
y = 350 + i * 130; focus = i == 0
|
||||
box(80, y, 1060, 112, fill=NAVY if focus else PANEL, r=12, outline=YELLOW if focus else None, width=4)
|
||||
text((110, y + 14), t, semi(32), WHITE); text((110, y + 58), d, reg(22), MUTED); text((560, y + 22), why, reg(24), WHITE)
|
||||
text((110, y + 14), t, semi(32), WHITE); text((110, y + 58), d, reg(22), MUTED)
|
||||
words = why.split(); lines = ['']
|
||||
for wd in words:
|
||||
if D().textlength((lines[-1] + ' ' + wd).strip(), font=reg(23)) / SS > 300: lines.append(wd)
|
||||
else: lines[-1] = (lines[-1] + ' ' + wd).strip()
|
||||
for k, ln in enumerate(lines[:2]): text((540, y + 22 + k * 32), ln, reg(23), WHITE)
|
||||
box(890, y + 30, 110, 52, fill=YELLOW if focus else BLUE, r=10); text((945, y + 38), 'Add', semi(26), NAVY if focus else WHITE, 'ma')
|
||||
box(1015, y + 30, 100, 52, fill=BLUE, r=10); text((1065, y + 38), 'Skip', semi(26), WHITE, 'ma')
|
||||
box(1200, 310, 640, 640, fill=(10, 30, 66), r=16)
|
||||
@@ -93,10 +98,10 @@ save('create-2-shows.png')
|
||||
# 3. How it plays, and when it's on.
|
||||
screen()
|
||||
head('How it plays', 'One style for the whole channel; you can change it later. It shapes what\'s planned from then on, never what\'s booked.', 'Step 3 of 4')
|
||||
styles = [('In order', 'Each show from where it left off,', 'taking turns with the others'), ('Shuffled', 'Episodes in a mixed order,', 'every one before any repeats'),
|
||||
('Blocks', 'Half-hour or hour slots by show;', 'short episodes grouped as on ToonZ'), ('Marathon', 'One show at a time, several', 'episodes back to back')]
|
||||
styles = [('Standard TV', 'As Orbit\'s own channels: shows take', 'turns, episodes in order, shorts in slots'), ('Shuffled', 'Episodes in a mixed order,', 'every one before any repeats'),
|
||||
('Blocks', 'A timetable: each show at its own', 'times, like The X-Files at 9 nightly'), ('Marathon', 'One show at a time, several', 'episodes back to back')]
|
||||
for i, (t, a, b) in enumerate(styles):
|
||||
x = 80 + i * 450; focus = i == 2
|
||||
x = 80 + i * 450; focus = i == 0
|
||||
box(x, 220, 420, 300, fill=NAVY if focus else PANEL, r=16, outline=YELLOW if focus else None, width=4)
|
||||
for k in range(3 if i != 3 else 1):
|
||||
for j in range(4 if i != 3 else 6):
|
||||
@@ -109,7 +114,7 @@ w = chip(80, 620, 'All day', True); w2 = chip(80 + w + 20, 620, 'Evenings, 18:00
|
||||
text((80, 700), 'Outside its hours the channel shows a "back at 18:00" card, as Kids sees a channel that\'s asleep.', reg(24), MUTED)
|
||||
box(80, 780, 1760, 150, fill=(10, 30, 66), r=16)
|
||||
box(110, 810, 200, 90, fill=(40, 20, 70), r=10); text((210, 828), '701', anton(44), YELLOW, 'ma')
|
||||
text((340, 812), '90s Sci-Fi', anton(40), WHITE); text((340, 866), 'Yours · 7 shows · Blocks · All day · planned like any Orbit channel', reg(24), MUTED)
|
||||
text((340, 812), '90s Sci-Fi', anton(40), WHITE); text((340, 866), 'Yours · 7 shows · Standard TV · All day · planned like any Orbit channel', reg(24), MUTED)
|
||||
keys([('◄►', 'Style'), ('▼', 'Hours'), ('OK', 'Choose'), ('Back', 'Shows')])
|
||||
save('create-3-style.png')
|
||||
|
||||
@@ -120,10 +125,10 @@ phone(120, 190); x = 150
|
||||
text((x + 20, 240), 'Orbit', anton(40), WHITE); text((x + 20, 292), 'Living Room TV · connected', reg(22), GREEN)
|
||||
text((x + 20, 340), 'YOUR CHANNELS', semi(20), MUTED)
|
||||
for i, (n, t, s) in enumerate([('701', '90s Sci-Fi', 'Blocks · All day'), ('702', 'Sunday Westerns', 'Marathon · Sundays'), ('703', 'Cartoon Club', 'Shuffled · 07:00 to 12:00')]):
|
||||
y = 376 + i * 130
|
||||
box(x + 12, y, 346, 114, fill=PANEL, r=14); text((x + 32, y + 14), n, semi(24), YELLOW); text((x + 90, y + 12), t, semi(28), WHITE); text((x + 32, y + 56), s, reg(20), MUTED)
|
||||
box(x + 32, y + 78, 150, 28, fill=BLUE, r=8); text((x + 107, y + 80), 'Watch on TV', semi(18), WHITE, 'ma')
|
||||
box(x + 196, y + 78, 90, 28, fill=BLUE, r=8); text((x + 241, y + 80), 'Edit', semi(18), WHITE, 'ma')
|
||||
y = 376 + i * 136
|
||||
box(x + 12, y, 346, 120, fill=PANEL, r=14); text((x + 32, y + 12), n, semi(24), YELLOW); text((x + 90, y + 10), t, semi(28), WHITE); text((x + 32, y + 50), s, reg(20), MUTED)
|
||||
box(x + 32, y + 82, 150, 28, fill=BLUE, r=8); text((x + 107, y + 84), 'Watch on TV', semi(18), WHITE, 'ma')
|
||||
box(x + 196, y + 82, 90, 28, fill=BLUE, r=8); text((x + 241, y + 84), 'Edit', semi(18), WHITE, 'ma')
|
||||
box(x + 12, 790, 346, 70, fill=YELLOW, r=14); text((x + 185, 808), '+ Create a channel', semi(28), NAVY, 'ma')
|
||||
phone(640, 190); x = 670
|
||||
text((x + 20, 240), 'New channel', anton(36), WHITE); text((x + 20, 290), 'Step 2 of 4 · Shows', reg(22), MUTED)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 257 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 225 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 331 KiB After Width: | Height: | Size: 331 KiB |
Reference in New Issue
Block a user