types/surface.types.ts

types/surface.types.ts is a file in Bane's Lab Site. 31 lines of code and 7 definitions.

export type SurfaceFigureName = "delivery" | "owner" | "venue" | "wait";

export interface SurfaceLine {
    readonly text: string;
    readonly changed: boolean;
}

export interface SurfaceFrame {
    readonly command: string;
    readonly output: string;
    readonly surface: string;
    readonly lines: readonly SurfaceLine[];
}

export interface Segment {
    readonly ms: number;
    readonly begin?: () => void;
    readonly advance?: (progress: number) => void;
}

export interface SurfaceScript {
    readonly segments: readonly Segment[];
    readonly settled: number;
}

export interface LineEdit {
    readonly at: number;
    readonly removed: number;
    readonly inserted: readonly SurfaceLine[];
}

export interface SurfaceRecording {
    readonly figure: SurfaceFigureName;
    readonly inputs: string;
    readonly opening: readonly string[];
    readonly frames: readonly SurfaceFrame[];
}