Make the aircraft breathe, and send a ring out from each of them
Two things that move on their own, on the window and in the animated pictures alike, and both turned off with a flag. An aircraft swells from bright to dim and back. At the top of the swell it burns: drawn in a set of peak colours and wearing a halo, which is what a phosphor does when the beam sits in one place a little too long. The halo is the aeroplane's own shape spread outward a pixel at a time rather than a circle drawn round it -- the first attempt did draw a circle and it looked exactly like what it was, a ring of dots -- so the glow has the shape of the thing casting it. It goes only where the picture was still empty, over the ground and the grid and the background and never over another aircraft, since a halo is what light does to the dark around a thing. And a ring leaves each aircraft and travels outward, growing and dimming as it goes. What a radar repeater does, and what the eye reads as this thing is transmitting -- which is exactly what an aeroplane on this picture is doing, twice a second, and is how it got on the picture at all. One ring at a time per aircraft: a new one leaves as the last reaches the end of its reach, so the sky has one ring per aeroplane rather than a stack of them to read through. Five settings, in a group of their own because the others were already at eight: whether to pulse, how long a swell takes, whether to echo, how long between rings, and how far a ring gets. Both times are seconds of watching rather than of flying, so the rhythm looks the same whatever speed an evening is being run through. Two decisions worth naming. Each aircraft is offset by its own address, so a sky full of them swells and rings separately rather than beating as one, which would read as a display flashing rather than as a lot of separate things transmitting; the offset comes from the address, so an aeroplane keeps its rhythm from one frame to the next and from one drawing of the same log to the next. And only an aircraft still being heard pulses: one that has gone quiet is already fading, and a thing that is fading and beating at once says two contradictory things about itself. The window can blend and its swell is continuous. The animation cannot, a GIF being indexed colour, so there the swell is the steps a palette allows -- which family of colours the aeroplane is drawn from, and how far its halo reaches, which is six between them and reads as a swell at a couple of seconds a cycle. The peak has sixteen colours of its own, sixteen being exactly what was left of the palette once 255 is set aside as the transparent index. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016PsWPTweCT6pwxKngvVxcg
This commit is contained in:
parent
8ed01f991f
commit
f01de4117f
10 changed files with 907 additions and 16 deletions
55
README.md
55
README.md
|
|
@ -1097,6 +1097,49 @@ which leaves the coastline faintly visible through it, where a flat wash would
|
|||
not. The animated pictures had **no card at all** before this, so `0` is what
|
||||
they used to look like.
|
||||
|
||||
### Pulsing and echoes
|
||||
|
||||
Two things that move on their own, both on the window and in the animated
|
||||
pictures, and both turned off with a flag.
|
||||
|
||||
**`--pulse`** swells each aircraft from bright to dim and back. At the top of
|
||||
the swell it burns: drawn in a set of peak colours and wearing a halo grown
|
||||
out of its own shape, which is what a phosphor does when the beam sits in one
|
||||
place a little too long. A halo drawn as a *circle* round it would be a ring
|
||||
of dots; this one is the aeroplane itself, spread outward a pixel at a time,
|
||||
so the glow has the shape of the thing casting it. It goes only where the
|
||||
picture was still empty — over the ground, the grid and the background, and
|
||||
never over another aircraft.
|
||||
|
||||
**`--echo`** sends a ring travelling outward from each aircraft, growing and
|
||||
dimming as it goes. What a radar repeater does, and what the eye reads as
|
||||
*this thing is transmitting* — which is exactly what an aeroplane on this
|
||||
picture is doing, twice a second, and is how it got on the picture at all.
|
||||
One ring at a time per aircraft: a new one leaves as the last reaches the end
|
||||
of its reach.
|
||||
|
||||
`--pulse-rate SECONDS` (2.2), `--echo-every SECONDS` (3) and `--echo-size
|
||||
PIXELS` (46) set the rest. The two times are **seconds of watching, not of
|
||||
flying**, so a pulse looks the same whatever speed an evening is being run
|
||||
through.
|
||||
|
||||
**Each aircraft is offset by its own address**, so a sky full of them swells
|
||||
and rings separately rather than beating as one — which would read as a
|
||||
display flashing rather than as a lot of separate things transmitting. The
|
||||
offset comes from the address, so an aeroplane keeps its own rhythm from one
|
||||
frame to the next and from one drawing of the same log to the next.
|
||||
|
||||
**Only an aircraft still being heard pulses.** One that has gone quiet is
|
||||
fading, and a thing that is fading and beating at once says two contradictory
|
||||
things about itself.
|
||||
|
||||
The window can blend, so its swell is continuous. The animation cannot — a GIF
|
||||
is indexed colour — so there the swell is the handful of steps a palette
|
||||
allows: which family of colours the aeroplane is drawn from, and how far its
|
||||
halo reaches. Between them that is six steps, which at a couple of seconds a
|
||||
cycle reads as a swell rather than as a blink. The peak has sixteen colours of
|
||||
its own, sixteen being what was left of the palette.
|
||||
|
||||
**Range rings** put faint discs at a quarter, a half and three quarters of the
|
||||
radius, concentric on the receiver and each labelled with its distance. They
|
||||
are translucent and they stack, so the ground inside the innermost is lifted
|
||||
|
|
@ -1657,7 +1700,7 @@ entirely.
|
|||
|
||||
## Every ADS-B option
|
||||
|
||||
Thirty-four of them, in the six groups the menu shows. Each is a flag on the
|
||||
Thirty-nine of them, in the seven groups the menu shows. Each is a flag on the
|
||||
command line and a line in `bandsaunter` → 5, and both are generated from one
|
||||
table in the source, so they cannot disagree. `man bandsaunter` has the long
|
||||
form of every one.
|
||||
|
|
@ -1726,6 +1769,16 @@ form of every one.
|
|||
| Label the aircraft | `--labels` `--no-labels` | `yes` | write the callsign, height and speed beside each aircraft |
|
||||
| Speed in | `--speed-unit` | `knots` | what to show speeds and distances in |
|
||||
|
||||
**effects**
|
||||
|
||||
| option | flag | default | what it does |
|
||||
| --- | --- | --- | --- |
|
||||
| Pulsing aircraft | `--pulse` `--no-pulse` | `yes` | swell each aircraft from bright to dim and back, over and over |
|
||||
| Pulse takes | `--pulse-rate` | `2.2 s` | how long one swell from dim to bright and back again takes |
|
||||
| Echo circles | `--echo` `--no-echo` | `yes` | rings travelling outward from each aircraft, growing and dimming |
|
||||
| Echo every | `--echo-every` | `3 s` | how long between one ring leaving an aircraft and the next |
|
||||
| Echo reaches | `--echo-size` | `46 px` | how far a ring gets from its aircraft before it has faded away |
|
||||
|
||||
**Where they live.** Saved with `s` in the menu to
|
||||
`~/.config/bandsaunter/aircraft.yaml`, which is plain YAML you can edit or
|
||||
copy between machines. API keys are deliberately **not** kept there — see
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue