``` var gameState = GameState( listOf(...
# data2viz
n
Copy code
var gameState = GameState(
        listOf(),
        mapOf()
    )
        set(value) {
            value.updatePiece = ::updatePiece

            viz.apply {
                // clear old pieces
                pieces.values.forEach { circle ->
                    circle.remove()
                }
                pieces.clear()

                // init pieces
                value.figurePositions.entries.forEach { (piece, field) ->
                    println("initialzing piece: $piece")
                    val c = circle {
                        strokeWidth = 1.0
                        stroke = 0.col
                    }
                    pieces[piece] = c

                    val highlightedPiece = gameState.findPieceAtPos(mousePos)
                    updatePiece(piece, highlightedPiece)
                    render()
                }
            }
            field = value
        }