openmixer — generated API reference
    Preparing search index...

    Type Alias SurfaceWriteOutcome

    SurfaceWriteOutcome:
        | { outcome: "applied" }
        | { outcome: "refused"; reason?: string; refusal?: Refusal }
        | { outcome: "unowned" }

    What the console did with one surface gesture, resolved at the LANDING:

    • applied — the row took it; the broadcast that repaints every surface is on its way.
    • refused — the row turned it down, carrying the machine-readable Refusal where the registry produced one (reason is log-edge prose, never operator text).
    • unowned — this door does not own the fact for this channel, so the caller's OTHER door may take it. Answered only by SurfaceEntityWrites.gain, and answered immediately: ownership is known before any write is attempted, so the fallback waits on no landing.