306aa3b3

By: Lucien Huber <im@lcnbr.ch>

replace linnet python api with typed drawing model

Implement the clean Linnest-inspired Graph API, arbitrary node/edge/half-edge Python data, typed Typst rendering configuration, explicit DotCodec conversion, V1-only template contract, and full verification requested by the user.