DFSTreeAdapter

DFSTreeAdapter

new DFSTreeAdapter()

Description:
  • Adapter für Tiefensuche (DFS) mit Suchbaum-Visualisierung

    Konvertiert Spielzustände in TreeVizEngine-Kommandos via postMessage. Unterstützt Backtracking-Visualisierung und State-Tracking.

Source:
Version:
  • 2.3
Author:
  • Alexander Wolf

Members

_bridge :IframeBridgeHost|null

Source:
Type:

currentDepth :number

Description:
  • Aktuelle Suchtiefe.

Source:

Aktuelle Suchtiefe.

Type:
  • number

iframe :HTMLIFrameElement

Description:
  • Das iframe-Element mit der TreeVizEngine.

Source:

Das iframe-Element mit der TreeVizEngine.

Type:
  • HTMLIFrameElement

nodeIdCounter :number

Description:
  • Zähler für eindeutige Node-IDs.

Source:

Zähler für eindeutige Node-IDs.

Type:
  • number

nodeMap :Map.<string, number>

Description:
  • Mapping von State-Keys zu Node-IDs.

Source:

Mapping von State-Keys zu Node-IDs.

Type:
  • Map.<string, number>

onNodeClicked :function|null

Description:
  • Callback bei Knoten-Klick aus TreeViz (nodeId, boardData)

Source:

Callback bei Knoten-Klick aus TreeViz (nodeId, boardData)

Type:
  • function | null

onNodeFocused :function|null

Description:
  • Callback bei Expansion-Klick aus TreeViz (nodeId, boardData)

Source:

Callback bei Expansion-Klick aus TreeViz (nodeId, boardData)

Type:
  • function | null

ready :boolean

Description:
  • Status, ob TreeVizEngine bereit ist.

Source:

Status, ob TreeVizEngine bereit ist.

Type:
  • boolean

Methods

(async) buildToDepth(initialState, maxDepth, options) → {Object}

Description:
  • Baut einen DFS-Suchbaum bis zur angegebenen Tiefe auf.

Source:
Parameters:
Name Type Description
initialState Object

Der initiale Spielzustand.

maxDepth number

Maximale Suchtiefe.

options Object

Zusätzliche Optionen (duplicates, backtracking).

Returns:

Statistiken über den generierten Baum.

Type
Object

focusNode(stateKey)

Description:
  • Fokussiert die Ansicht auf einen bestimmten Knoten.

Source:
Parameters:
Name Type Description
stateKey string

State-Key des zu fokussierenden Knotens.

getNodeCount()

Description:
  • Get node count

Source:

getStats() → {Object}

Description:
  • Gibt aktuelle Statistiken über den Suchbaum zurück.

Source:
Returns:

Statistiken (totalNodes, depth, duplicatesMarked).

Type
Object

highlightPath(statePath)

Description:
  • Hebt einen Pfad durch den Baum farblich hervor.

Source:
Parameters:
Name Type Description
statePath Array.<string>

Array von State-Keys die den Pfad bilden.

Description:
  • UNIFIED NAVIGATION: Navigate to a tree node and update game state accordingly. Works for both Warnsdorf and non-Warnsdorf modes.

    CRITICAL FIX: currentNodeId ist eine globale Variable, die sich in createNode() ändert! Der Adapter erhält sie als Parameter, aber das ist nur der INITIAL-Wert! Solution: Wir nutzen einen Getter-Callback um den aktuellen Wert zu erhalten

Source:
Parameters:
Name Type Description
targetNodeId number

Ziel-Node im Baum

getCurrentNodeId function

Getter für aktuelle Node (weil sie sich ändert!)

nodeParentMap Map

Baum-Struktur (WIRD GELESEN)

treeStructure Map

Knoten-Details (WIRD GELESEN)

board Object

Spielzustand (WIRD MODIFIZIERT)

handleBack function

Undo-Callback (mit Tree-Sync)

createNode function

Node-Erstell-Callback (ändert currentNodeId!)

generatePreviews function

Preview-Erstell-Callback

updateUI function

Render-Callback

isWarnsdorf boolean

Spielmodus

Returns:

Success/failure of navigation

Type
Promise.<boolean>

resetView()

Description:
  • Setzt die Ansicht auf die Standard-Position zurück.

Source:

startHandshake()

Description:
  • Initiiert den Handshake mit der TreeVizEngine. Sendet CHECK_READY Kommandos bis eine Antwort empfangen wird.

Source:

(async, generator) visualizeSearch(initialState, searchFn, options)

Description:
  • Visualize a search with animated backtracking

Source:
Parameters:
Name Type Description
initialState Object

Starting state

searchFn function

Search function that yields steps

options Object

Options

DFSTreeAdapter

new DFSTreeAdapter(iframeElement)

Description:
  • Erstellt einen neuen DFS Tree Adapter.

Source:
Parameters:
Name Type Description
iframeElement HTMLIFrameElement

Das iframe-Element mit der TreeVizEngine.

Members

_bridge :IframeBridgeHost|null

Source:
Type:

currentDepth :number

Description:
  • Aktuelle Suchtiefe.

Source:

Aktuelle Suchtiefe.

Type:
  • number

iframe :HTMLIFrameElement

Description:
  • Das iframe-Element mit der TreeVizEngine.

Source:

Das iframe-Element mit der TreeVizEngine.

Type:
  • HTMLIFrameElement

nodeIdCounter :number

Description:
  • Zähler für eindeutige Node-IDs.

Source:

Zähler für eindeutige Node-IDs.

Type:
  • number

nodeMap :Map.<string, number>

Description:
  • Mapping von State-Keys zu Node-IDs.

Source:

Mapping von State-Keys zu Node-IDs.

Type:
  • Map.<string, number>

onNodeClicked :function|null

Description:
  • Callback bei Knoten-Klick aus TreeViz (nodeId, boardData)

Source:

Callback bei Knoten-Klick aus TreeViz (nodeId, boardData)

Type:
  • function | null

onNodeFocused :function|null

Description:
  • Callback bei Expansion-Klick aus TreeViz (nodeId, boardData)

Source:

Callback bei Expansion-Klick aus TreeViz (nodeId, boardData)

Type:
  • function | null

ready :boolean

Description:
  • Status, ob TreeVizEngine bereit ist.

Source:

Status, ob TreeVizEngine bereit ist.

Type:
  • boolean

Methods

(async) buildToDepth(initialState, maxDepth, options) → {Object}

Description:
  • Baut einen DFS-Suchbaum bis zur angegebenen Tiefe auf.

Source:
Parameters:
Name Type Description
initialState Object

Der initiale Spielzustand.

maxDepth number

Maximale Suchtiefe.

options Object

Zusätzliche Optionen (duplicates, backtracking).

Returns:

Statistiken über den generierten Baum.

Type
Object

focusNode(stateKey)

Description:
  • Fokussiert die Ansicht auf einen bestimmten Knoten.

Source:
Parameters:
Name Type Description
stateKey string

State-Key des zu fokussierenden Knotens.

getNodeCount()

Description:
  • Get node count

Source:

getStats() → {Object}

Description:
  • Gibt aktuelle Statistiken über den Suchbaum zurück.

Source:
Returns:

Statistiken (totalNodes, depth, duplicatesMarked).

Type
Object

highlightPath(statePath)

Description:
  • Hebt einen Pfad durch den Baum farblich hervor.

Source:
Parameters:
Name Type Description
statePath Array.<string>

Array von State-Keys die den Pfad bilden.

Description:
  • UNIFIED NAVIGATION: Navigate to a tree node and update game state accordingly. Works for both Warnsdorf and non-Warnsdorf modes.

    CRITICAL FIX: currentNodeId ist eine globale Variable, die sich in createNode() ändert! Der Adapter erhält sie als Parameter, aber das ist nur der INITIAL-Wert! Solution: Wir nutzen einen Getter-Callback um den aktuellen Wert zu erhalten

Source:
Parameters:
Name Type Description
targetNodeId number

Ziel-Node im Baum

getCurrentNodeId function

Getter für aktuelle Node (weil sie sich ändert!)

nodeParentMap Map

Baum-Struktur (WIRD GELESEN)

treeStructure Map

Knoten-Details (WIRD GELESEN)

board Object

Spielzustand (WIRD MODIFIZIERT)

handleBack function

Undo-Callback (mit Tree-Sync)

createNode function

Node-Erstell-Callback (ändert currentNodeId!)

generatePreviews function

Preview-Erstell-Callback

updateUI function

Render-Callback

isWarnsdorf boolean

Spielmodus

Returns:

Success/failure of navigation

Type
Promise.<boolean>

resetView()

Description:
  • Setzt die Ansicht auf die Standard-Position zurück.

Source:

startHandshake()

Description:
  • Initiiert den Handshake mit der TreeVizEngine. Sendet CHECK_READY Kommandos bis eine Antwort empfangen wird.

Source:

(async, generator) visualizeSearch(initialState, searchFn, options)

Description:
  • Visualize a search with animated backtracking

Source:
Parameters:
Name Type Description
initialState Object

Starting state

searchFn function

Search function that yields steps

options Object

Options