The editor

Record a sighting.

Everything below is live. Nothing you do here is uploaded anywhere — the recording exists in your browser until you press Export, which hands you a JSON file that is yours.

Opening it on an existing recording: add ?sighting= and a URL, or the name of one of the demos — for instance /editor/?sighting=Socorro.

Three gestures to a first recording

  1. Say when and where#

    Fill Moment and Location. That is the moment the sky appears: the Sun, the Moon and its phase, the planets, the stars of that night — and the weather record for that hour is fetched on its own. Doing it first means drawing against the real sky rather than on an empty canvas.

  2. Draw it#

    Open the Phenomenon group. Pick Oval or Polygon, set its colour, its transparency, its halo, how dazzling it was and how blurred its edges looked. Drag its handles on the canvas to size it; a polygon's vertices can be added, moved and deleted individually.

  3. Record the movement#

    Press Record and move the pointer over the canvas along the path the object took, then Stop. Playback replays it over the observation's own real duration — a five-minute sighting takes five minutes, not the second the drag took.

A row of chips under the render lists everything the recording actually asserts — and only that. Click one to jump to the field it came from. A value a data source supplied rather than you is marked as such.

The eight groups#

One panel opens at a time, so the render stays on screen while you edit.

Observation#

Load an existing recording (from a file or a URL), and state what this one is about: a case ID, a description, tags. The case ID is the case's, not the witness's: every witness's own recording of the same sighting carries the same one, which is what lets a page group them into a single reconstruction with a witness picker.

Witness#

Who gave the account — and, just as importantly, what they observed it through. An eye is not a lens: naked-eye vision maps an angle to an angle, a camera maps it to f·tan θ, and the two draw genuinely different frames. Pick a camera and its focal length, aperture, exposure and focus distance become available — each disabled where the device fixed it, because the owner of a fixed-focus snapshot camera had nothing to choose. Instruments outside the observation's own date are flagged.

Roll sits here rather than with the place, because it is how the device was held — a camera askew, a head leaned over — not where the witness stood.

Location#

Testimony names a place, it does not give coordinates. So type the name and press Locate: latitude and longitude are filled from OpenStreetMap's own geocoder, every candidate stays listed, and picking another moves the witness. What is stored is the qualified name that was resolved, so a later reader lands on the same spot. Move a coordinate by hand and the name is re-derived, or cleared — a name describing somewhere the sighting is no longer at would be a written false statement.

Heading is the direction faced, Tilt how far up or down, and Altitude is above sea level, floored by the ground's own height at that location: a witness in the Alps is not at 0 m. Relief and imagery sources are chosen right here, under the coordinates whose ground they describe.

Environment#

What stood around the witness, at a real distance east and north: buildings with their floors and windows, trees, streetlights, vehicles, aircraft — and other witnesses. This is the only thing that can put a number on a distance: if the object passed behind that hangar it was at least that far, if in front of that tree, at most. Each crossing narrows the object's real width from one side for the whole recording; the result appears under the apparent size, and reads “unknown” when nothing crosses its line of sight, which is the honest answer for most sightings.

Several witnesses, and their points of view. A witness placed here can carry the URL of their own recording, and right-clicking them in the scene offers to view it — which loads their account and puts you where they stood, looking the way they looked. Two people a hundred metres apart did not see the same thing, and being able to step from one to the other is how that stops being an assertion and becomes something to check. The 🎯 button does the smaller version of the same thing: it turns the current witness to face whatever is selected.

Published together, those recordings become the witness picker a reader gets — see the documentation on manifests.

Decor can also move (an aircraft crossing the sky, a car driving past) and carry lights with real, regulated flash rates — anticollision beacons at 40–100 a minute, hazard flashers at 60–120. On a long exposure that rate is drawn: steady lamps leave lines, flashing ones leave dots at regular intervals, which is exactly how a photograph of an airliner is told from a photograph of something that does not blink.

Moment#

A start, an end, a duration — and a time zone, which is the rule, not the number. Pick the witness's own zone and the offset is derived from that zone's rules at the observation's date: Valensole in July 1965 resolves to UTC+1, not today's UTC+2, because France only reintroduced summer time in 1976.

The EDTF button switches both date fields to text, for everything a calendar picker cannot say: a bare year, a month, a time with no date, and the qualifiers uncertain (?) and approximate (~). Most archives need it — of 241 case files on rr0.org, 43% state a bare year and only 17% a date with a time.

Weather#

The one group that is not testimony. Weather is a measurable fact about a place at an instant, and the two groups above already state both — so it is looked up from ERA5, the ECMWF reanalysis, and shown read-only above a line naming the dataset and the exact UTC instant described. A wrong time zone shows up there before it shows up in the sky.

Unchecking From weather records hands the fields back to the witness: the looked-up values stay as a starting point, the source is dropped, and no later lookup may overwrite them. A recording that names a source is replayed exactly as authored and never looked up again, so a published case file reads identically offline.

Two things here are not in any record. Ice cloud (cirrus) is kept apart from total cover because it is not about how much sky was hidden but about whether there were ice crystals in it — which is what refracts a halo or a pair of sundogs into being. And crystal alignment was never measured anywhere, so it is stated: tumbling crystals give a bare ring, level plates and rolling columns give sundogs, arcs and a pillar.

Below sits the “Sky:” line — read-only, and not a lookup at all. A meteor shower is a position in Earth's orbit and a comet's orbit is a solved problem, so the date and the place alone decide both. It states what else was in that patch of sky: the shower and its rate over the sporadic background, the comet and its magnitude, whether low orbit was still sunlit, whether the Milky Way or the zodiacal light could have been seen at all. Whether any of it explains anything is the reader's conclusion, never the file's claim.

Sound#

Half of what makes these accounts strange is the sound — most often its absence. A kind (hum, whistle, rumble, crackle, or none), a loudness and a pitch, keyframed on the same clock as the shape: a craft sitting silently on the ground and heard only as it lifts off is two keyframes.

The sound is synthesized from that description, exactly as the shape is drawn from its own, at no cost in bundled audio. A recording that actually captured the sound can point at the audio file instead. Note the difference between the two silences: none means the witness reported hearing nothing; no sound track at all means nobody was asked.

Phenomenon#

The object itself. Oval or polygon, colour, transparency, halo, brilliance (how dazzling it was — a light you cannot look at washes out the field around it, throws the spikes its aperture makes, and clips to white, which no halo does) and blur (how indistinct its edges looked). Several shapes can share one timeline — a craft, a trailing flame, a second object — each with its own name, and grouped, reordered or deleted from the canvas's own context menu.

Try a size / at a distance of is an authoring aid and nothing more: type a hypothesis, read the angle it implies, and the metres are forgotten the moment they have been applied. Through an eye at 60° across a 360-pixel canvas, one degree is exactly 6 pixels and the full Moon about 3 — so an object 3.5 m wide at 90 m is 13 pixels across, not the 90 an author reaches for unaided. Getting this wrong is the single most common way a reconstruction ends up false.

Sampling rate is how often the pointer is read while recording.

Point at anything and it names itself#

Hovering the scene names what is under the pointer. A star gives its name, its magnitude and how high it stood — “Venus, mag −4, 8° above the horizon” answers a report of a bright light near the horizon on its own, where a bare name would not. The Sun, the Moon, the planets and any comet up that night answer the same way, and so does everything in the environment: a building, a tree, another witness.

What the ground hides does not answer. A star behind a hill is as unseeable as one below the horizon, so neither is offered — a reconstruction is not a list of what is in the sky, it is what could have been seen from where the witness stood.

Rules worth knowing#

  • A keyframe is held, not faded. A shape left out of a later keyframe stays as it was; one whose first keyframe is at five seconds is already painted, in that state, from zero. To make something stop being visible, keyframe it at transparency 1.
  • Declared outranks deduced. “It went into a cloud” is stated by the witness, never worked out by geometry — this format describes an appearance on a field of view, not a position in space, so nothing in it can know whether cloud came between them.
  • Paused is paused. Falling rain, twinkling stars, lightning, lens flare, ambient sound — all stop with the player. A paused replay is one instant of a sighting; weather still going on over it would be your own room, not the witness's evening.
  • Nothing is invented. Where a record does not exist — before 1940 for the weather, before 1957 for satellites, historical orbital elements at all — the field stays editable and the interface says which of the two it is.

What Export gives you#

Export gives you a JSON file. That file is the whole recording — there is no account, no database, and no copy kept here. Host it wherever you like.

What to do with it next has its own pages, with examples you can run and copy: sharing an observation, which is a link to send or two lines of HTML in a page of your own, and the components, if you want to choose which one that page loads.