RPE Chart Utils
    Preparing search index...

    Interface JudgeLine

    A judge line — the primary animated object in an RPE chart.

    Each line:

    • Has a stack of EventLayers that compose position/rotation/alpha.
    • Optionally has a father line that it inherits transforms from.
    • Spawns Notes that travel toward it.
    • Supports extended events (incline, scaleX, scaleY, color, text, GIF).
    • Can be textured with an image or animated GIF.
    interface JudgeLine {
        attachUI?:
            | "pause"
            | "combonumber"
            | "combo"
            | "score"
            | "bar"
            | "name"
            | "level"
            | null;
        Group: number;
        Name: string;
        Texture: string;
        alphaControl: AlphaControl[];
        anchor?: number[];
        bpmfactor: number;
        eventLayers: (EventLayer | null)[];
        extended?: Extended;
        father: number;
        rotateWithFather?: boolean;
        integrateSpeedEasings?: boolean;
        isCover: number;
        isGif?: boolean;
        notes?: Note[];
        numOfNotes: number;
        posControl: PosControl[];
        scaleOnNotes?: 0 | 2 | 1;
        appearanceOnAttach?: 0 | 2 | 1;
        sizeControl: SizeControl[];
        skewControl: SkewControl[];
        yControl: YControl[];
        zIndex?: number;
        zOrder: number;
    }
    Index

    Properties

    attachUI?:
        | "pause"
        | "combonumber"
        | "combo"
        | "score"
        | "bar"
        | "name"
        | "level"
        | null

    Attaches a built-in HUD element to this line's position. When set, the HUD element follows the line's transform.

    Group: number

    Group index (indexes into RpeJson.judgeLineGroup).

    Name: string

    Display name of the line (used in editors).

    Texture: string

    Texture asset key (e.g. 'line.png', 'particle.png').

    alphaControl: AlphaControl[]

    Per-time-position alpha control nodes (for global fade control).

    anchor?: number[]

    Normalized anchor point [x, y] for rotation and scaling (default: [0.5, 0.5]).

    bpmfactor: number

    BPM multiplier applied to this line's event timing (default: 1).

    eventLayers: (EventLayer | null)[]

    Ordered stack of event layers. Each layer adds additively to the final transform.

    extended?: Extended

    Extended events (incline, scaleX/Y, color, text, GIF frame).

    father: number

    Parent line index for hierarchical transform inheritance. -1 means no parent (root line).

    rotateWithFather?: boolean

    If true, this line also inherits the parent's rotation.

    integrateSpeedEasings?: boolean

    Whether speed event easings are integrated when computing note positions.

    isCover: number

    Cover mode: 1 = line texture acts as an opaque cover over notes behind it; 0 = transparent.

    isGif?: boolean

    If true, the texture is treated as an animated GIF (uses gifEvents for frames).

    notes?: Note[]

    All notes on this line.

    numOfNotes: number

    Cached total note count (kept in sync by addNote/removeNote).

    posControl: PosControl[]

    Per-time-position position-scale control nodes.

    scaleOnNotes?: 0 | 2 | 1

    Scaling mode applied to notes: 0 = off, 1 = x-only, 2 = x+y.

    appearanceOnAttach?: 0 | 2 | 1

    Controls what the line renders when it has an attachUI: 0 = always show, 1 = show only when visible, 2 = hide.

    sizeControl: SizeControl[]

    Per-time-position size control nodes.

    skewControl: SkewControl[]

    Per-time-position skew control nodes.

    yControl: YControl[]

    Per-time-position Y scale control nodes.

    zIndex?: number

    Z-index override (alias for zOrder; prefer zOrder).

    zOrder: number

    Rendering z-order (higher = drawn on top).