1 Three kinds of name
Every number the platform stores is filed under a channel name. There are three sorts of name, they behave differently, and almost every question about mapping is really a question about which sort you are looking at.
| Kind | Looks like | Who it belongs to |
|---|---|---|
| Standard channel | boat_speed, wind_direction_true | The platform’s. One list, identical for every customer, and it only ever grows — a name is never renamed and never removed, because saved views, calibrations and stored samples all key on it. You will find the whole list under Channels → Standard registry. |
| Your channel | custom:runner_load_port | Yours. Created by you, visible only inside your organisation, and invisible to every other one. The custom: prefix is part of the name, not decoration. |
| Your file’s own word | Bsp, User 3, Targ Bsp | Your instrument system’s. Nothing is stored under these — they are what gets mapped onto one of the two names above, and this page is about that step. |
custom: namespace is for.2 Reading the preview
Upload a file and the preview lists every column it found, with the channel each one will become. At the end of each row is a small chip saying where that mapping came from:
| Chip | What it means |
|---|---|
auto | The file format’s own dictionary recognised this column. This is platform knowledge and it is the same for everybody. |
your mapping | Somebody in your organisation mapped this column before and the platform applied their decision. Not a guess — your own past answer, handed back. |
unmapped | Nothing recognised it. The column is skipped unless you pick a channel for it, and it is added to your unmapped ledger so it does not vanish quietly. |
will be remembered | You have just changed this row. Committing saves that decision for your organisation. |
A worked row. Your Expedition log has a column called User 3, which is where your boat writes the port runner load. On the first import it reads unmapped: no format dictionary in the world knows what one boat put in User 3. You press the chip, pick your own custom:runner_load_port, and the row now says will be remembered. You commit. On the next Expedition file — next week, next regatta, uploaded by somebody else in the crew — that same column arrives already mapped, chipped your mapping, and nobody has to think about it again.
3 Teach it once
That is the whole feature, and it is worth being precise about its edges.
- It is learned at commit, not at preview. Change your mind, press Reset, close the tab — nothing is remembered until you commit. The mapping the file is actually imported with is the mapping that gets saved.
- It is per file format. A decision made on an Expedition log applies to your Expedition logs. It never leaks onto your Vakaros or B&G files, because the same word means different things in different formats.
- It is organisation-wide. One person maps a column and the whole crew gets it. That is the point: the alternative is every navigator re-making the same correction forever.
- It is NEVER visible to another organisation. What you call your columns, what channels you have created, what your files carry — none of it is shared with anybody outside your organisation, and there is no setting that would make it so.
- It is on by default and there is no switch. A fix that has to be turned on is a fix most people never get. If a mapping turns out to be wrong, you change it or forget it — see below.
One thing this does not do: it never changes data already imported. Mapping memory only decides what the next preview arrives with. Repairing an import that went in wrong is a different job — delete it and import it again.
4 The Mappings tab, and the ledger
Everything remembered is listed under Channels → Mappings, and everything listed there can be changed or forgotten. The page has two halves.
Unmapped columns — the to-do list
At the top sits the ledger: columns your files have carried that resolved to nothing, so their values were not stored. This is the half that pays for the page. Before it existed, an unrecognised column produced a perfectly successful import and no signal at all — a crew could lose a season of rig loads and find out from the absence of a chart.
Each row is a decision waiting to be made, and there are two answers:
- Map it to a channel — standard or one of yours — and it leaves the list.
- Never map it, which records that the column holds nothing worth storing. It leaves the list and stops coming back. This is a real decision rather than a dismissal, which is why there is no separate “hide” button: hiding it would leave the platform asking about the column forever.
When there is nothing outstanding the panel says so — every column your files have sent is mapped.
What you have taught it
Below the ledger, one section per file format you have taught, each row showing the column as it appears in your export, the channel it resolves to, and when it was learned. A row you excluded reads — skipped —, because “we decided this holds nothing” and “this row lost its channel” are not the same thing and should not look the same.
- Retarget by pressing the channel chip and choosing another. Saving is automatic; a small Saved appears when it lands, and a failure says so and offers Retry rather than losing what you picked.
- Forget removes the memory entirely. Nothing already imported changes — the next import of that format simply goes back to asking about the column.
A row whose target is an archived channel is chipped as such. Imports already using it keep working, but an archived channel is refused as a new target, so retarget or forget that row before editing others of the same format.
5 Your channels
When a column has no home in the standard registry — a load cell, a trim reading, a sensor somebody bolted on last winter — you add a channel of your own under Channels → Your channels, or straight from an import preview in front of the column that needs it.
You give it three things:
- A name, in
snake_case. Thecustom:prefix is fixed and added for you, sorunner_load_portbecomescustom:runner_load_port. - A unit —
kg,deg,mm, or nothing at all for a dimensionless quantity. - Whether it is an angle in degrees. Tick this and averages use the circular mean, so 359° and 1° average to 0° rather than to 180°. Leave it clear for anything that is not a compass reading.
What there is is Archive. Archiving a channel:
- takes it out of pickers and refuses it as a new mapping target;
- leaves every number already recorded against it readable — charts, exports, the debrief, all unchanged;
- keeps the name reserved, because the stored samples are still addressed by it;
- is reversible — unarchive it and it comes back.
Archived channels live in their own collapsed group on the same page, so a name that seems to have disappeared is always findable.
6 Where your channels show up — and where they do not yet
A custom channel is a real channel. Once a column is mapped to one, it behaves like any other:
- imports store samples against it;
- it appears in the debrief player’s Explorer, under a Your channels group, and charts exactly like a standard one;
- it can carry a calibration correction, which reads its angularity from the channel itself.
Two places it deliberately does not appear yet. HUD overlay presets take standard channel names only — a preset is a saved list belonging to one person, and letting it name one organisation’s private vocabulary raises questions we would rather answer properly than quickly. The Race Control tablet also speaks standard names only. Both are limits we know about, not oversights.
7 Race Control needs none of this
Nothing streamed by the Race Control app is mapped here. The tablet sends standard channel names itself, so there is no dictionary between it and the platform and nothing for you to teach. This whole page is about the files you upload.
8 Who can do what
| Role | Can |
|---|---|
| Viewer | Read everything — the mappings, the ledger, your channels, the standard registry. Change nothing. |
| Member, admin, owner | All of the above, plus: map and forget columns, decide a column is never worth mapping, and create and archive your organisation’s own channels. |
Mapping is a member’s job on purpose. The need turns up mid-import, in front of a column nobody recognises, and whoever is allowed to commit that import is already deciding what the platform stores. None of this is behind the paywall either: it is your organisation’s vocabulary, and it stays readable and editable whatever your coverage says.
9 Where to go next
- Importing telemetry — the whole upload flow the preview sits in, format by format.
- The debrief player — the Explorer, where a channel you mapped becomes a line on a chart.
- Calibration in practice — correcting what an instrument reports, which is a different job from deciding what to call it.