mlx-bun library API
    Preparing search index...

    Numerical ports are backend-specific; returned arrays are caller-owned.

    interface DraftProjection {
        embed: { scales: { dtype: Dtype }; encode(ids: MlxArray): MlxArray };
        logits: DraftHeadOperations;
        vocabulary?: { ids: MlxArray; logits: DraftHeadOperations };
    }
    Index
    embed: { scales: { dtype: Dtype }; encode(ids: MlxArray): MlxArray }

    The target's output head per row count or range: the drafter indexes it by the rows it projects. Borrows the hidden; the logits belong to the caller.

    vocabulary?: { ids: MlxArray; logits: DraftHeadOperations }

    Declared by a graph whose composition measured a drafter selecting over the target's frequency-ranked draft vocabulary: its ids [N] (ascending, uint32, borrowed) and the head's projection onto those rows per row count or range (logits [..., N], caller-owned). A drafter that selects by its scores alone selects over these rows; the target still verifies over its full head. Absent: the full head.