Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
12 KiB
Orbit Character Shorts and Living Continuity
Proposal, documentation and prototype only (Paul, 6 November 2026). Nothing here is built or installed until Paul approves it, and it never comes before Multiroom, Create your own or stability work.
Goal: Orbit should feel like a television universe whose characters have lives of their own, even when the viewer isn't paying attention to them. It uses recurring characters, small visual jokes, memorable idents and, now and then, a silent animated short.
1. Creative philosophy
- The cast have recognisable personalities and relationships. Viewers get to know them by what they do, never by being told.
- Appearances feel spontaneous and charming, and are never intrusive or repetitive. Their charm is that they are rare.
- The model is classic television continuity: little silent visual gags and short original cartoons between programmes.
- Source of truth for the artwork: the model sheet,
design/arcade/orbit-cast.mdandorb-man-cast.png, and the drawing code inArcadeOrbMan.kt(drawOrbMascot,drawOrbChaser,drawOrbBee). Nite Owl and Night Cap come fromdesign/arcade/late-night/. There are no redesigns, no limbs the sheet doesn't have, and no changes of proportion. The cast act with movement, eyes and timing: rolling, bobbing, squash and stretch within the silhouette, blinks and glances.
2. Character bible
| Character | Look (from the sheet) | Personality | Signature behaviour | Best used for |
|---|---|---|---|---|
| Ollie | Orange ringed planet, navy rim, white ring, wide smile | Cheerful, curious, friendly; often caught up in others' antics | Rolls, ring wobbling; a delighted bounce | The welcoming face of Orbit and Tots |
| Blaze | Orange comet, flame puffs trailing, cross slanted brows | Impulsive, impatient, competitive, easily frustrated; always too fast | Overshoots, skids, flames flare when cross | Physical comedy, chases, action channels |
| Zip | Pink five-point star, eager eyes | Mischievous, playful, extremely fast; loves winding Blaze up | Streaks in, pulls a trick, is gone before the consequences | Setting off a gag, fast transitions |
| Luna | Purple moon, three craters, half-closed lids | Dry, judgemental, sleepy, wonderfully expressive; permanently unimpressed (after Paul's cat) | Her signature: the fourth-wall glance. She looks straight at the viewer for a beat before the eye-roll ("you're seeing this nonsense too, right?"). Also the slow blink and the sideways glance | Late-night continuity, bedtime, quiet comedy; wears her nightcap for Night Cap (not a separate character) |
| Drift | Cyan cloud of five puffs that breathes | Gentle, absent-minded, always arriving late | Floats through the scene after it's over, wondering where everyone went | Loading, transitions, the soft punchline |
| Bumble | Honey bee, navy stripes, pale wings, hexagon antennae | Industrious, energetic, determined | Building, organising and fixing, while the others undo it | Payoffs, "putting things right", hive and garden gags |
| Nite Owl | Indigo owl, ear tufts, folded wings, scalloped belly, half-closed lids, small beak | The calm overnight host: wry, sleepy, slightly mysterious | Slow head turn, one eye opening, a knowing look | Overnight continuity (Comfort Repeats merges into his overnight identity) |
Relationships:
- Zip winds Blaze up, and Blaze chases whoever is nearest, usually Ollie.
- Luna judges everyone.
- Drift misses everything.
- Bumble tidies up after them.
- Nite Owl has seen it all before.
Luna and Nite Owl are distinct: Luna is the unimpressed observer, and Nite Owl is the host who welcomes you to the night.
3. Five gag storyboards
All are silent, with no captions and no loud effects. Timings are at 25 fps. Each uses the bottom edge of a frame Orbit owns, never the programme's picture (see section 5).
3.1 The Chase (about 10 s)
The storyboard frames are in design/continuity/the-chase.png.
| # | Time | What happens |
|---|---|---|
| 1 | 0.0 s | A quiet continuity frame: the channel's end board, or a still. |
| 2 | 0.4 s | Ollie rolls in from the left along the bottom edge, ring wobbling, looking back over his shoulder. |
| 3 | 1.4 s | Blaze races in after him, furious, flames streaming, brows down. |
| 4 | 2.6 s | Both disappear off the right edge. Blaze's last flame puff lingers and fades. |
| 5 | 3.0 to 4.2 s | Stillness. |
| 6 | 4.2 s | Luna slowly peeks out from the left edge, at the same height, eyes only at first. |
| 7 | 5.2 s | Her eyes slide right, towards where they went. She holds it. |
| 7a | 6.0 s | She looks straight at the viewer for a beat, as if to say "you're seeing this nonsense too, right?" |
| 8 | 6.8 s | An enormous, deeply unimpressed eye-roll: her pupils travel up and over across a full second. |
| 9 | 8.4 s | She slowly rolls backwards and is gone by 9.8 s. |
| Variation | 7.5 s | Drift floats past from the left, several seconds too late, stops, and looks both ways. Luna rolls her eyes again, at him. |
3.2 The Wind-Up (about 8 s)
- Blaze cruises along the bottom, pleased with himself.
- Zip streaks past him in the opposite direction. Blaze spins, skids and chases her the wrong way off-screen.
- Zip pops back in from the side Blaze left by, does a little twirl, and streaks off.
- Blaze storms back in, too late. He looks left, then right. His flames sputter.
3.3 The Sign (about 12 s)
- A small "ORBIT" sign stands at the bottom right.
- Blaze rushes through and knocks it flat.
- Bumble buzzes in and props it up, letter by letter, with a little hexagon of honey as glue.
- She steps back, proud.
- Drift floats through it, and the sign topples softly.
- Bumble's wings droop. Luna, in the corner, slow-blinks.
3.4 Running Late (about 6 s)
- A transition plays: the next programme's title card.
- Drift drifts in from the left, half asleep, and bumps gently into the title card.
- He looks at it, yawns, and drifts out the other side, puffs trailing.
A Catch Up and loading variant: Drift is the one doing the waiting.
3.5 Nite Owl's Shift (about 10 s, overnight only)
- The overnight board. Nite Owl is perched at the right, eyes half closed.
- Luna, in her nightcap, drifts down from the top left on her way to bed. She gives him a sideways glance.
- Nite Owl opens one eye. They regard each other.
- Luna eye-rolls and is gone.
- Nite Owl turns to the viewer, slow-blinks, and settles.
This gag is for Comfort Repeats overnight.
Seasonal variants use the same cast, no new characters:
- Christmas: Ollie's ring is tinsel, and Bumble decorates the sign.
- Halloween: Luna is the moon behind the board, and Drift is a "ghost" by accident.
- Bonfire Night: Blaze is mistaken for a firework.
How they reach the screen (Paul, 6 November 2026): gags are part of the transitions between shows. Sometimes a break is the channel's ident, sometimes What's On or a promo with a little gag in it, and now and then a character piece. A couple more gags will be made later.
4. Channel ident library (first proposal)
Each is 5 to 7 s, the length of today's filmed idents, so nothing about the changeover changes.
| Channel | Character ident |
|---|---|
| Orbit 1 | Ollie rolls in and settles into the "1". Zip draws the logo's swoosh. |
| Riot | Blaze chases Zip through the RIOT letters, which wobble. |
| Paradox | Luna watches the logo flip upside down, then rolls her eyes and flips it back. |
| Evidence | Nite Owl inspects the logo with one eye. |
| Terra and Wild | Bumble pollinates the logo, which blooms. |
| Action and Heroes | Blaze streaks through, and the logo catches his flame. |
| Sci-Fi | Zip as a shooting star across the logo. Drift is the nebula. |
| ToonZ | All the cast pile into the logo, and Drift arrives last. |
| Tots (existing bumpers) | Ollie and Zip by day, Luna winding down. These are kept as they are. |
| Junior overnight / Comfort Repeats | Nite Owl's "welcome to the night". |
5. Placement, frequency, accessibility and safety rules
Where:
- Only at moments Orbit owns: the changeover between programmes, its end boards, idents, promos and the squeeze-back's "next" side.
- Never over the programme's picture by default.
- Never during films, credits that are still playing in full screen, dramatic scenes or the Drive-In.
How often:
- At most one cameo per channel every 60 to 90 minutes.
- A household cooldown of about 20 minutes, so a gag doesn't follow you from channel to channel.
- The same gag is never repeated within a viewing session.
- Mini shorts are much rarer, about one per evening.
- One piece per changeover: a cameo replaces the ident or promo, and never stacks with them.
Settings:
- On screen gets two switches, Character cameos and Mini shorts.
- Both follow the cast switch, which turns everything off.
- Reduce motion shows a still frame of the gag's payoff, such as Luna mid eye-roll, or nothing.
Privacy: no telemetry, accounts, cloud or external services. The cooldowns and "seen this session" record are kept on the box, in memory and in local settings.
Schedules: these are editorial limits only. A cameo never alters the committed schedule, never moves a start time, and never truncates an episode, its credits or its audio.
Tots and Kids:
- Gentle movement, restrained sound and predictable behaviour.
- Nothing startling, frightening, flashing or fast.
- No Blaze chases on Tots.
- Nothing energetic during Tots Dreamtime or Wind Down. Luna may appear quietly in Night Cap with a slow blink or a soft goodnight.
- Kids profile limits apply.
- Never a promotion for an adult channel.
6. Fit with the existing continuity engine (assessment)
Orbit already decides one piece per changeover, deterministically, from the next programme's start:
- Idents:
Idents.ktplays filmed idents of 5 to 7 s. They load the next programme 12 s ahead, may hold the last frame up to 6 s, and skip programmes under 3 minutes. - Tots bumpers:
CastBumpers.ktdrawsTotsBumperon every third changeover, chosen bytotsBumper(nextStartMs). - Promos:
Promos.kt(promoFor) can replace an ident on minutes divisible by 3. - Squeeze-back:
SqueezeBack.kthandles a programme's last minute, with a cast member who bobs and blinks.
The proposal adds one more candidate to that same choice, not a separate scheduler:
- A pure
continuityPiece(channel, nextStartMs, session)would return Ident, Promo, Bumper, Cameo or Short. It would use the same deterministic rule plus the cooldowns above, so the guide, player and replays agree, and quick channel changes can't re-trigger a gag. The session record survives sleep and wake, and is reset when Orbit closes. - Gags would be drawn on Canvas in Compose, like
TotsBumperandCastCheer, from small keyframe tables: deterministic, a few KB each, with no video files and nothing generated at runtime. They would be no heavier than today's Tots bumpers on the Xiaomi box. - Timing: a gag fills the ident's own 5 to 7 s window. A Short (15 to 30 s) needs a gap the schedule already has, such as a shorts slot's leftover minutes or a Drive-In interval. It is never made by moving a programme.
- Testing: like
ShortsReplayTest, a replay test would run a week of real schedules through the chooser and check the rules: frequency, cooldowns, Tots and Kids, nothing over films, and identical choices on replay.
7. Rollout in small phases (each approved and testable on its own)
- Documents and storyboards. This file, the roadmap entry and the storyboard frames. This is the current phase.
- The chooser, without art.
continuityPieceand its replay test, with the On screen switches, both off by default. Nothing new appears yet. - The Chase as a cameo, on a few grown-up channels (Riot, ToonZ late, Comfort Repeats), with screenshot and timing review first.
- Character idents, one or two channels at a time, alongside the filmed ones.
- Two more gags and Nite Owl's overnight shift.
- A first mini short, and seasonal variants (Christmas first, with Advent).
Open questions for Paul:
- Which channels go first?
- Should cameos default to on, now that they are rare?
- Should Luna's eye-roll be the stillness that ends every gag, as a running joke?