Interface SVGRendererGobanConfig

interface SVGRendererGobanConfig {
    aga_handicap_scoring?: boolean;
    allow_ko?: boolean;
    allow_self_capture?: boolean;
    allow_superko?: boolean;
    auth?: string;
    automatic_stone_removal?: boolean;
    black_player_id?: number;
    black_prisoners?: number;
    board?: JGOFNumericPlayerColor[][];
    board_div?: HTMLElement;
    board_is_repeating?: boolean;
    bounds?: GobanBounds;
    chat_log?: GobanChatLog;
    circle_radius?: number;
    clock?: GameClock;
    connect_to_chat?: number | boolean;
    disable_analysis?: boolean;
    display_width?: number;
    dont_draw_last_move?: boolean;
    dont_show_messages?: boolean;
    double_click_submit?: boolean;
    draw_bottom_labels?: boolean;
    draw_left_labels?: boolean;
    draw_right_labels?: boolean;
    draw_top_labels?: boolean;
    end_time?: number;
    errors?: {
        error: string;
        stack: any;
    }[];
    free_handicap_placement?: boolean;
    game_date?: string;
    game_id?: string | number;
    game_name?: string;
    game_type?: "temporary";
    getPuzzlePlacementSetting?: (() => PuzzlePlacementSetting);
    group_ids?: number[];
    handicap?: number;
    handicap_rank_difference?: number;
    height?: number;
    initial_player?: PlayerColor;
    initial_state?: GobanEngineInitialState;
    interactive?: boolean;
    isInPushedAnalysis?: (() => boolean);
    isPlayerController?: (() => boolean);
    isPlayerOwner?: (() => boolean);
    is_game_record?: boolean;
    isobranch_hash?: string;
    komi?: number;
    ladder?: number;
    ladder_id?: number;
    last_move_opacity?: number;
    last_move_radius?: number;
    latencies?: {
        [player_id: string]: number;
    };
    leavePushedAnalysis?: (() => void);
    malkovich_log?: GobanChatLog;
    marks?: {
        [mark: string]: string;
    };
    mode?: GobanModes;
    move_tree?: MoveTreeJson;
    move_tree_container?: HTMLElement;
    moves?: GobanMovesArray;
    name?: string;
    needs_sealing?: JGOFSealingIntersection[];
    ogs?: {
        black_dead_stones: string;
        black_seki_eyes: string;
        black_stones: string;
        black_territory: string;
        white_dead_stones: string;
        white_seki_eyes: string;
        white_stones: string;
        white_territory: string;
    };
    ogs_import?: boolean;
    onError?: ((err) => void);
    onScoreEstimationUpdated?: ((winning_color, points) => void);
    one_click_submit?: boolean;
    opponent_plays_first_after_resume?: boolean;
    original_disable_analysis?: boolean;
    original_sgf?: string;
    outcome?: string;
    pause_control?: AdHocPauseControl;
    paused_since?: number;
    phase?: GobanEnginePhase;
    player?: JGOFNumericPlayerColor;
    player_id?: number;
    player_pool?: {
        [id: number]: GobanEnginePlayerEntry;
    };
    players?: {
        black: GobanEnginePlayerEntry;
        white: GobanEnginePlayerEntry;
    };
    puzzle_autoplace_delay?: number;
    puzzle_collection?: number;
    puzzle_description?: string;
    puzzle_opponent_move_mode?: PuzzleOpponentMoveMode;
    puzzle_player_move_mode?: PuzzlePlayerMoveMode;
    puzzle_rank?: number;
    puzzle_type?: string;
    ranked?: boolean;
    removal?: boolean[][];
    removed?: string | JGOFMove[];
    rengo?: boolean;
    rengo_casual_mode?: boolean;
    rengo_teams?: {
        black: GobanEnginePlayerEntry[];
        white: GobanEnginePlayerEntry[];
    };
    review_id?: number;
    reviews?: {
        [review_id: number]: GobanEnginePlayerEntry;
    };
    rules?: GobanEngineRules;
    score?: Score;
    score_handicap?: boolean;
    score_passes?: boolean;
    score_prisoners?: boolean;
    score_stones?: boolean;
    score_territory?: boolean;
    score_territory_in_seki?: boolean;
    server_socket?: GobanSocket<ClientToServer, ServerToClient>;
    spectator_log?: GobanChatLog;
    square_size?: number | "auto" | ((goban) => number);
    stalling_score_estimate?: StallingScoreEstimate;
    start_time?: number;
    stone_font_scale?: number;
    strict_seki_mode?: boolean;
    superko_algorithm?: GobanEngineSuperKoAlgorithm;
    throw_all_errors?: boolean;
    time_control?: JGOFTimeControl;
    time_per_move?: number;
    title_div?: HTMLElement;
    tournament_id?: number;
    username?: string;
    variation_stone_opacity?: number;
    white_must_pass_last?: boolean;
    white_player_id?: number;
    white_prisoners?: number;
    width?: number;
    winner?: number | "black" | "white";
}

Hierarchy (view full)

Properties

aga_handicap_scoring? allow_ko? allow_self_capture? allow_superko? auth? automatic_stone_removal? black_player_id? black_prisoners? board? board_div? board_is_repeating? bounds? chat_log? circle_radius? clock? connect_to_chat? disable_analysis? display_width? dont_draw_last_move? dont_show_messages? double_click_submit? draw_bottom_labels? draw_left_labels? draw_right_labels? draw_top_labels? end_time? errors? free_handicap_placement? game_date? game_id? game_name? game_type? getPuzzlePlacementSetting? group_ids? handicap? handicap_rank_difference? height? initial_player? initial_state? interactive? isInPushedAnalysis? isPlayerController? isPlayerOwner? is_game_record? isobranch_hash? komi? ladder? ladder_id? last_move_opacity? last_move_radius? latencies? leavePushedAnalysis? malkovich_log? marks? mode? move_tree? move_tree_container? moves? name? needs_sealing? ogs? ogs_import? onError? onScoreEstimationUpdated? one_click_submit? opponent_plays_first_after_resume? original_disable_analysis? original_sgf? outcome? pause_control? paused_since? phase? player? player_id? player_pool? players? puzzle_autoplace_delay? puzzle_collection? puzzle_description? puzzle_opponent_move_mode? puzzle_player_move_mode? puzzle_rank? puzzle_type? ranked? removal? removed? rengo? rengo_casual_mode? rengo_teams? review_id? reviews? rules? score? score_handicap? score_passes? score_prisoners? score_stones? score_territory? score_territory_in_seki? server_socket? spectator_log? square_size? stalling_score_estimate? start_time? stone_font_scale? strict_seki_mode? superko_algorithm? throw_all_errors? time_control? time_per_move? title_div? tournament_id? username? variation_stone_opacity? white_must_pass_last? white_player_id? white_prisoners? width? winner?

Properties

aga_handicap_scoring?: boolean
allow_ko?: boolean
allow_self_capture?: boolean
allow_superko?: boolean
auth?: string
automatic_stone_removal?: boolean
black_player_id?: number
black_prisoners?: number
board_div?: HTMLElement
board_is_repeating?: boolean
bounds?: GobanBounds
chat_log?: GobanChatLog
circle_radius?: number
clock?: GameClock
connect_to_chat?: number | boolean
disable_analysis?: boolean
display_width?: number
dont_draw_last_move?: boolean
dont_show_messages?: boolean
double_click_submit?: boolean
draw_bottom_labels?: boolean
draw_left_labels?: boolean
draw_right_labels?: boolean
draw_top_labels?: boolean
end_time?: number
errors?: {
    error: string;
    stack: any;
}[]

Type declaration

  • error: string
  • stack: any
free_handicap_placement?: boolean
game_date?: string
game_id?: string | number
game_name?: string
game_type?: "temporary"
getPuzzlePlacementSetting?: (() => PuzzlePlacementSetting)
group_ids?: number[]
handicap?: number
handicap_rank_difference?: number
height?: number
initial_player?: PlayerColor
initial_state?: GobanEngineInitialState
interactive?: boolean
isInPushedAnalysis?: (() => boolean)

Type declaration

    • (): boolean
    • Returns boolean

isPlayerController?: (() => boolean)

Type declaration

    • (): boolean
    • Returns boolean

isPlayerOwner?: (() => boolean)

Type declaration

    • (): boolean
    • Returns boolean

is_game_record?: boolean
isobranch_hash?: string
komi?: number
ladder?: number
ladder_id?: number
last_move_opacity?: number
last_move_radius?: number
latencies?: {
    [player_id: string]: number;
}

Type declaration

  • [player_id: string]: number
leavePushedAnalysis?: (() => void)

Type declaration

    • (): void
    • Returns void

malkovich_log?: GobanChatLog
marks?: {
    [mark: string]: string;
}

Type declaration

  • [mark: string]: string
mode?: GobanModes
move_tree?: MoveTreeJson
move_tree_container?: HTMLElement
name?: string
needs_sealing?: JGOFSealingIntersection[]

Intersections that need to be sealed before scoring should happen

ogs?: {
    black_dead_stones: string;
    black_seki_eyes: string;
    black_stones: string;
    black_territory: string;
    white_dead_stones: string;
    white_seki_eyes: string;
    white_stones: string;
    white_territory: string;
}

Type declaration

  • black_dead_stones: string
  • black_seki_eyes: string
  • black_stones: string
  • black_territory: string
  • white_dead_stones: string
  • white_seki_eyes: string
  • white_stones: string
  • white_territory: string
ogs_import?: boolean

Deprecated, I don't think we need this anymore, but need to be sure

onError?: ((err) => void)

Type declaration

    • (err): void
    • Parameters

      • err: Error

      Returns void

onScoreEstimationUpdated?: ((winning_color, points) => void)

Type declaration

    • (winning_color, points): void
    • Parameters

      • winning_color: "black" | "white"
      • points: number

      Returns void

one_click_submit?: boolean
opponent_plays_first_after_resume?: boolean
original_disable_analysis?: boolean
original_sgf?: string
outcome?: string
pause_control?: AdHocPauseControl
paused_since?: number
player_id?: number
player_pool?: {
    [id: number]: GobanEnginePlayerEntry;
}

Type declaration

players?: {
    black: GobanEnginePlayerEntry;
    white: GobanEnginePlayerEntry;
}

Type declaration

puzzle_autoplace_delay?: number
puzzle_collection?: number
puzzle_description?: string
puzzle_opponent_move_mode?: PuzzleOpponentMoveMode
puzzle_player_move_mode?: PuzzlePlayerMoveMode
puzzle_rank?: number
puzzle_type?: string
ranked?: boolean
removal?: boolean[][]
removed?: string | JGOFMove[]

Removed stones in stone removal phase Passing an array of JGOFMove objects is preferred, the string format exists for historical backwards compatibility. It is an encoded move string, e.g. "aa" for A19

rengo?: boolean
rengo_casual_mode?: boolean
rengo_teams?: {
    black: GobanEnginePlayerEntry[];
    white: GobanEnginePlayerEntry[];
}

Type declaration

review_id?: number
reviews?: {
    [review_id: number]: GobanEnginePlayerEntry;
}

Type declaration

score?: Score
score_handicap?: boolean
score_passes?: boolean
score_prisoners?: boolean
score_stones?: boolean
score_territory?: boolean
score_territory_in_seki?: boolean
spectator_log?: GobanChatLog
square_size?: number | "auto" | ((goban) => number)

Type declaration

    • (goban): number
    • Parameters

      Returns number

stalling_score_estimate?: StallingScoreEstimate
start_time?: number
stone_font_scale?: number
strict_seki_mode?: boolean
superko_algorithm?: GobanEngineSuperKoAlgorithm
throw_all_errors?: boolean

When loading initial state or moves, by default GobanEngine will try and handle bad data by just resorting to 'edit placing' moves. If this is true, then those errors are thrown instead.

time_control?: JGOFTimeControl
time_per_move?: number
title_div?: HTMLElement
tournament_id?: number
username?: string
variation_stone_opacity?: number
white_must_pass_last?: boolean
white_player_id?: number
white_prisoners?: number
width?: number
winner?: number | "black" | "white"