Design: the flight recorder

Design, 24 October 2026. The recorder, the death replay and the flight log are built; the rest proposed. Modern rules; Classic keeps 1984's single life and no replays.

Why

P takes a photo of the view, without the HUD, and has since October. But a photo just downloads, or goes to the phone's share sheet, and the game forgets it: there's no reason for it inside the game, and nowhere for it to live. And the moments people most want to keep (the kill that made Dangerous, the Falcon crossing close, the Bastion coming through, how they died) happen too fast to think "record".

The answer is a thing every ship already ought to have: a flight recorder. A black box, a dashcam: always running, never needing to be remembered. What it keeps is yours to watch, keep, share and, in the game, to use.

A picture paints a thousand words. Seeing something amazing in space, catching it, and showing your friends should be part of playing, not something you do outside the game with a screen recorder. Mark: "it's like social media never died." Commanders trading clips of their best fights and worst deaths, on their own socials and in the game, is how a space game gets talked about, and every share is an invitation to play.

Principles

1. Photos (built)

P, or the camera button on touch screens (beside the drawer tab, always to hand), takes a photo of the view without the HUD, with a small WITCHSPACE mark in the corner. It goes into the flight log (a JPEG of a few hundred KB; PNG in 1984 mode), with a shutter flash and nothing else, so a photo mid-fight costs nothing; you share it from the log once docked. Where the log can't be used (storage blocked), it's shared or saved straight away as before.

Sharing it

Sharing works everywhere a commander can see a photo or a kept moment: the camera button, the death replay, the flight log, the station board.

(Built, 26 October 2026: one share sheet (src/ui/shareSheet.ts) for the flight log, the death replay and the kill cam. The card first, with the clip playing and its title; then Share video… on a phone, which hands the file itself to the phone's share sheet, Save Video included, or Save video on a desktop; then X, Bluesky, Facebook, WhatsApp, Reddit and copy link, which share the game with the clip's title until clips have pages of their own. The file is made before the sheet opens, so the tap opens the phone's sheet at once, and dismissing it never falls back to downloading: that fallback was what opened the Files menu on iPhones (Mark's report). On a phone held sideways the card and the buttons sit side by side.)

2. The recorder, the death replay and the flight log (built)

Built, 24 October 2026: src/game/recorder.ts (WebCodecs H.264, 720p, 30 fps, a rolling 30 s in memory, cut at keyframes), src/game/moments.ts (titles, descriptions and tags written from the game's own events), src/game/flightLog.ts (IndexedDB, 20 moments) and src/ui/flightLog.ts. Moments kept by themselves: a kill, the Falcon's hull read, the Marshals coming through, a survey, your death. By hand: Shift+P, or hold the camera button. A switch in the flight log turns it off. Photos don't go into the log yet.

Revised, 25 October 2026, after Mark's worry about phones filling up and about P in a dogfight: the buffer is a minute, and a fight is one clip (each kill within 25 seconds of the last re-cuts it from the fight's start, up to a minute, replacing the earlier cut; a death in the fight folds it in: "Took 2 pirates with me"). The bitrate is halved (1.2 Mbps: glowing lines on black lose nothing, checked frame by frame), so a 26 s clip is about 3 MB. The log has a 150 MB budget and 60 moments; the oldest unkept moment makes room, unkept moments clear after a week, and the log shows the space used with a Clear unkept button. Photos go to the log. The first kept moment is announced in flight, the death replay says what the recorder is, and the log asks once: Keep it on, or Turn it off. Classic rules have no recorder, as this design always said.

Revised again, 29 October 2026 (Mark: "Why is it so bad quality?"): 1.2 Mbps kept the lines but broke the soft glow, the haze and the dark gradients into blocks, so it's 3 Mbps at 720p (1.6 at 480p), with a whole picture every two seconds rather than every second. A 30 s clip is about 11 MB, so the 150 MB log holds about thirteen before unkept ones clear.

And it rests (Mark, 25 October 2026): in open space with nothing about, it stops recording, saving battery, and wakes the moment anything is near: a ship or missile within scanner range, the station, a planet, a rift, or a Legend anywhere in the system (the Falcon runs dark, so "near" is what the game knows is there, not what the scanner shows). It carries on 8 seconds after the last thing goes, so clips finish, and the minute in memory is the last minute worth having. src/game/recorderWatch.ts.

The recorder. While flying, the view is encoded at 720p, 30 fps (480p, 24 fps on a device that can't keep up), into a rolling buffer of the last minute in memory (a keyframe every second, so any second can start a clip). Nothing is written until something is kept. The encoder is WebCodecs, already used to make the trailer (tools/trailer.ts), with MP4 output; it needs Chrome, Edge or Safari 16.4 and later. Where it isn't available, the recorder quietly isn't there and photos still work.

Moments. The recorder keeps the buffer, by itself, when something worth keeping happens:

And you can keep it yourself: a long press on the camera button (or Shift+P) keeps the last 30 seconds.

The death replay. Under Modern rules, when you're destroyed, the insurers' screen opens on "Flight recorder recovered", playing your last moments, with Share and Keep. The worst moment of a session becomes the one most worth sharing ("how I died"), and it shows what got you, which teaches.

The flight log. Docked, the Flight log button beside the galaxy map (F) opens it full screen, a gallery of what's been kept: watch, keep, share or delete. It's the first thing you see in a new ship (a new commander, or the insurers' replacement), and docking with new moments badges the button Flight log · 2 new (since 28 October, those moments come up as This trip, below, rather than the whole log opening). (Mark, 25 October 2026: it had been at the bottom of the station tab, under the equipment, where few would find it. Then a tab of its own; on 26 October Mark moved it out of the tabs, which had run to two rows: the log belongs to the ship, not the station.) Kept moments and photos are stored on the device (IndexedDB), up to about 20; the oldest unkept go first. With an account, kept moments sync with your commander only when stage 4 arrives, and only what you post.

This trip, then the library (Mark, 28 October 2026; built)

Mark: "For a start when you dock you should only see clips from the last trip. The library should be somewhere else. Then you can triage and do some file husbandry straight away."

Before, the whole log opened by itself whenever you docked with something new, so this trip's two clips sat among last week's twenty. Now:

Evidence. Out in the lanes a crime needs a witness (law and travel), and your recorder is one:

The game knows what happened, so the recorder's metadata (who fired first, who died) is what counts, not anyone judging the pictures.

News. The newsroom buys footage as the survey office buys data (exploration): the rarer, the better it pays. A Falcon sighting, the Bastion coming through, a station's frame rising, a famine market. The news item it makes credits your callsign, and travels at the speed of ships like any other.

Explorers. The photo taken on a first survey goes on the chart with the world, under your name.

Video first (Mark, 29 October 2026)

Mark followed his own clip's link from X and landed on the reconstruction: "That was weird." Now the page plays the video its sharer shared, first: "It's the user that decides what view they want to create or save." That's the cockpit clip, its upright cut, or a reconstruction they filmed of their own fight (with its camera: Target, You or Orbit). Under it, Watch it from outside opens the rebuilt fight, with Play Witchspace free, hearts and Report (src/ui/clipView.ts).

Whose name it carries (Mark, 29 October 2026)

Everything shared carries the signed-in account's callsign, and callsigns are unique, so CMDR Jameson is only ever Mark. A guest (still the 1984 default, Jameson, in the game) shares as A commander, in the post, the video's captions and the replay alike, as the site titles them. Mark: "if they want to share they have the opportunity to share anon or claim their callsign whilst it's still available using their email." So a guest's share sheet says Shared as A commander, with Claim your callsign, which opens sign-in.

Moments: one word, three actions (Mark, 29 October 2026; built)

Mark: "I dont like the current flight log/recorder/killcam because its confusing. It needs to be brilliantly elegant and intuitive." Marketing's walkthrough (launch/flight-recorder-review.md) found too many names, four equal buttons on every moment, two kinds of share, and replays with nothing in them. So, from the phone mock-ups Mark approved:

Trade moments (Mark, 29 October 2026; built)

Mark: "you could fly, trade, explore, build and then post straight to twitter". Trading had nothing for the recorder to keep, so now it keeps two kinds of trade (src/game/tradeMoments.ts):

Both sit in This trip with the share button, like a kill. They have no flight track, so they share as a video or photo with the title rather than as a clip page. Never real money or Bitcoin as the boast.

The claim: submit your recorder (Mark, 25 October 2026)

When you're destroyed, the insurers pay out when you submit your flight recorder: the clip and its data go to Witchspace. It's the act that settles the claim in the game, and in the world it's how commanders' best and worst moments reach everyone else. Deaths are the most shareable moments there are, and this makes handing one over part of getting your ship back.

Submitting pays the claim; everything else is optional. A clip carries your callsign, and permission given because your ship depends on it isn't freely given (UK data protection asks for consent that is). Plenty of players can't or won't post: younger players, people without social accounts, people who'd rather stay out of sight. So nobody loses a ship over sharing, and nobody is paid to post.

When a clip takes off

A clip that people watch becomes part of the galaxy's story.

Clip pages: shared as tracks (Mark, 26 October 2026)

Status: built (26 October 2026: server/src/clips.ts, server/src/clipCheck.ts, src/net/clips.ts). Next: the founder's approval queue for the channel. A moment can have its own page, witchspace.org.uk/clip/…, so a link to it on X, Bluesky, Facebook or WhatsApp plays it, not just the game.

Shared as a track, never as video. The page replays the moment from its flight track (the numbers the kill cam already keeps: ship types, positions, shots, explosions) in the game's own renderer: behind the target, behind you, or orbiting, with hearts and the game one tap away. No video or picture a player made ever reaches our servers, so the online-safety position stays what it is: players can't upload images or files. (Mark chose this over uploading the cockpit video, which would have needed the risk assessments redone and every clip moderated: an upload address accepts whatever bytes it's sent, game footage or not.) The cockpit footage itself is still shared as a file, through the phone's share sheet.

How it works:

Hearts (Mark, 26 October 2026)

Commanders can like a clip with a little heart: on its clip page (witchspace.org.uk/clip/…), and in the game wherever clips are shown (the station board, the library).

Proof: things nobody would believe

(Mark: "capture things that no one would believe!" The playful version of a picture painting a thousand words: the shot your friends won't believe, which the game can prove is real.)

The galaxy has things almost nobody sees: the Falcon, other Legends, a wreck from before the stations, one-in-a-thousand sights we'll design to be photographed. Say you saw one and nobody believes you. A photo or clip from the recorder is proof.

4. The station board

The social part. Signed in, Post to the station board puts a kept clip or photo in a public gallery, in the game (docked, a Board tab) and on the site, with your callsign, the system and when. Commanders can watch, react and share; the best of the week can lead the site's home page.

Because it's other people's posts, it needs a report button, moderation and limits before it opens, and it follows the online-safety decisions in launch/safety (still to be made). That's why it comes last. Clips are only the game's own picture, which keeps the risk low, but captions and callsigns are still people's words.

The library: one place for every commander's moments (Mark, 24 October 2026)

The station board, verified proof, the newsroom, the press kit and the channel all need the same thing underneath: a central library where commanders' kept moments go when they choose to send them.

The channel agent

What happens to a moment a commander sends, once the library exists:

  1. Words, from the game, not from the pictures. src/game/moments.ts already writes each moment's title, description and tags from the recorder's events ("CMDR Jameson: Took 2 pirates with me at Riedquat"; who, where, the government, the rank, what was destroyed and for how much), so they're true by construction and never claim what the game can't know (a survey is "complete", never "first" unless the server says so).
  2. The cut and the card. The agent makes the upright Short from the clip (the trailer tooling's vertical cut, cropped to the action), adds the end card, and draws a thumbnail from the frame of the lead event, in the house style: one subject, three or four big words, the mark.
  3. The queue. Each draft (video, thumbnail, title, description, tags, playlist) waits for a person: approve, edit, or turn down, with a reason the commander sees. Turned down never means deleted: it stays in the commander's own log.
  4. Publishing. Approved Shorts go up through the YouTube Data API (tools/youtube.ts), a few a day within the quota, into the right playlist (Flight Recorder, Sightings, How I died), crediting the callsign and linking the moment's page on the site.
  5. Limits. Per commander per day; none from commanders under a ban; nothing with a caption until the station board's moderation is in place (callsigns and the game's own words only, until then).
  6. Later: trust. Commanders in good standing with verified moments may skip the queue, and the agent can pick a weekly round-up.

5. The Witchspace channel (idea, Mark, 24 October 2026)

A Witchspace YouTube channel of Shorts from commanders' flight recorders: any commander can put a kept moment forward, and an AI agent turns the good ones into Shorts on the channel. One place where the galaxy's best fights, worst deaths and strangest sightings pile up, each one an invitation to play.

How it could work:

Things to settle before it opens:

Classic rules

Classic stays as 1984 had it: one life, no recorder, no replays. Photos (P) work in both, as now.

Open questions

Think something here should change? Say so on the ideas board, where others can vote it up, or email hello@witchspace.org.uk. If you code: this page is docs/design/flight-recorder.md on GitHub, open to pull requests.