openmixer — generated API reference
    Preparing search index...

    Variable HELP_IDSConst

    HELP_IDS: readonly [
        "channel.name",
        "channel.meter",
        "channel.gain",
        "channel.fader",
        "channel.pan",
        "channel.mute",
        "channel.solo",
        "channel.phantom",
        "channel.pad",
        "channel.polarity",
        "channel.saveConfig",
        "tab.eq",
        "tab.gate",
        "tab.comp",
        "tab.analysis",
        "tab.plugins",
        "tab.sends",
        "block.fxSortable",
        "bay.menuPosition",
        "processing.toolbarEdge",
        "gate.on",
        "gate.attack",
        "gate.hold",
        "gate.release",
        "gate.hysteresis",
        "gate.ratio",
        "gate.preset",
        "gate.key.source",
        "gate.key.hp",
        "gate.key.lp",
        "gate.key.listen",
        "delay.curve",
        "reverb.curve",
    ] = ...

    THE HELP ID VOCABULARY — every stable control id the console's contextual help is keyed by.

    List-first, type-derived, the convention CHANNEL_FACTS sets. It lives HERE, in the shared declaration vocabulary, because two tables spell it: the web-ui's HELP registry (app/utils/help.ts, typed Readonly<Record<HelpId, HelpEntry>>) carries the text, and a contract row's presents.help (FactSurface) names the entries that teach the fact. With the vocabulary in one home the compiler joins the two — an entry with no id, an id with no entry and a row naming neither all fail typecheck — instead of a ratchet discovering the drift after it shipped (2026-08-06-channel-contract.md revision 6; surface-interaction-conventions.md, amendment 2026-09-17).

    The ORDER is the help table's own, grouped by the surface each id belongs to, so the two files read side by side.