A MoonBit graph search and grid pathfinding toolkit with BFS, Dijkstra and A*.
.
|-- graph.mbt # Graph, BFS, Dijkstra, A*
|-- grid.mbt # Grid pathfinding adapter
|-- priority_queue.mbt # Min-priority queue
|-- path_report.mbt # Search result type
|-- pathforge_test.mbt # Unit tests
|-- cmd/main/main.mbt # Demo entry point
|-- docs/api.md # Public API reference
|-- docs/application.md # Project application notes
|-- moon.mod # MoonBit module metadata
`-- moon.pkg # Root package configmoon check
moon test
moon run cmd/mainPathForge demo
found: true
cost: 15
visited: 29
path length: 16let grid = @pathforge.Grid::new(8, 5)
grid.set_blocked(@pathforge.Point::{ x: 2, y: 0 }, true)
grid.set_blocked(@pathforge.Point::{ x: 2, y: 1 }, true)
let result = grid.astar(
@pathforge.Point::{ x: 0, y: 0 },
@pathforge.Point::{ x: 7, y: 4 },
)
println("found: \{result.found}")
println("cost: \{result.cost}")moon check --deny-warn
moon test
moon coverage analyze -- -f summary
moon package
moon publishA MoonBit graph search and grid pathfinding toolkit with BFS, Dijkstra and A*.