No description
Find a file
Alfred Lopez ce55e0378e feat(canvas): draw self-loop edges using CANVAS_PAINTER.arc
- Fixes alopez/meikaku-explorer#4: Draw self-loop edges using CANVAS_PAINTER.arc.
- Position loop circle centers outside the center node along distributed angles.
- Label self-loop edges at their outer points with consistent text styling.
2026-10-04 00:54:46 -04:00
scripts fixes alopez/meikaku-explorer#1: set app name, app menu, and quit handling 2026-10-01 19:47:01 -04:00
.gitignore README: how to build an executable; ignore bin/ 2026-10-01 23:47:15 -04:00
explorer_app.mei feat(canvas): draw self-loop edges using CANVAS_PAINTER.arc 2026-10-04 00:54:46 -04:00
main.mei Meikaku Graph Explorer, moved out of the Meikaku repo 2026-10-01 16:55:41 -04:00
meikaku.json Meikaku Graph Explorer, moved out of the Meikaku repo 2026-10-01 16:55:41 -04:00
README.md Open the window by default 2026-10-01 23:48:34 -04:00

Meikaku Graph Explorer

A native desktop graph explorer for AsanagiDB, written in Meikaku. It's the Meikaku 1.0 model app (see docs/design/model-app.md in the Meikaku repo).

Connect to an AsanagiDB server, pick a database, search vertices or browse by label, and walk the graph: the selected vertex sits in the centre with its neighbours on a circle around it. Read-only.

Requirements

  • Meikaku's compiler mkc (build it with zig build in the Meikaku repo).

  • The AsanagiDB Meikaku driver package (asanadb/resources/meikaku/asanagidb-document), declared in meikaku.json. The default path assumes this layout:

    ~/Work/Meikaku/explorer        (this project)
    ~/Work/Zig/asanadb             (AsanagiDB)
    

    For another layout, edit drivers.asanagidb in meikaku.json or set MEIKAKU_DRIVER_ASANAGIDB to the package directory.

  • An AsanagiDB server, by default 127.0.0.1:8080.

Run

mkc -r main.mei

(Use the Meikaku repo's build, ~/Work/Zig/meikaku/zig-out/bin/mkc. An older mkc on your PATH may not compile current code.)

Build an executable

mkc main.mei -O -o bin/graph-explorer    # optimized; drop -O for a debug build
bin/graph-explorer

The result is a single native binary (about 1 MB optimized) with libui and the AsanagiDB driver built in; it only needs the operating system's own libraries.

Self-test

scripts/selftest.sh opens the window, drives a redraw, a click and back/forward navigation, then closes. It exits non-zero if the app doesn't finish cleanly. On a machine without a display, run it under xvfb-run -a.