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.