Relevance (Despite Dead Code)
Fabula’s code is not usable — 14 years of Python 3 drift, tied to a
dead clickndrag library, distributed as personal tarballs.
But its architecture documentation and design
intent serve as a blueprint for how to separate LangGraph
(server/state/rules) from the rendering layer
(client/input/display).
The central insight: treat LangGraph nodes as event handlers in a client-server protocol. The renderer knows nothing about game rules — it only knows how to draw state and emit events. LangGraph knows nothing about rendering — it only knows how to process events and return state updates.