示例 · MCP
> validate_gesta_map(doc)
{ "valid": true, "errors": [] }
> render_gesta_map(doc, format="svg")
{ "image_base64": "PD94…",
"mime": "image/svg+xml" }三个接口,一个引擎。
HTTP API
REST端点
POST /api/generate → DSL + PNG/SVG POST /api/edit → typed ops POST /api/apply-ops → deterministic patch POST /api/rerender → re-render POST /api/render-svg → SVG, id-tagged layers POST /api/geocode → names → coordinates
MCP
智能体工具
render_gesta_map(doc, format, dpi)
validate_gesta_map(doc) → {valid, errors}
extract_draft_from_prose(prose)
how_to(feature) → self-explain
engine_version()CLI
命令行
$ gesta validate map.gesta.yaml $ gesta render map.gesta.yaml -o out.svg $ gesta geocode map.gesta.yaml --apply $ gesta resolve map.gesta.yaml $ gesta-serve # HTTP · gesta-mcp
确定性编辑
文档的十项类型化操作。
编辑是对AST的操作,而非重新生成——无回归风险,手动编辑得以保留。
create_layermodify_layerdelete_layeradd_memberremove_membermodify_arrowmodify_annotationchange_viewapply_classset_disambiguation
- 确定性
- 相同文档 → 相同地图,精确到像素。在线地理编码已快照化。
- 已验证
- 每份文档均根据V1格式的JSON Schema进行检验。
- 输出
- PNG、SVG(每图层一个<g>)、PDF、JPG。SVG可下游编辑。
- 单一引擎
- API、MCP和CLI都是同一渲染管道的轻量级包装。
Open source
The engine is open.
The renderer — the deterministic core that turns a document into a map — is open source. Read it, audit it, run it yourself, self-host. Geographic accuracy comes from the engine and its data, not from a black box.
Renderer on GitHub ↗AGPL-3.0 · commercial licence available
install
# clone the deterministic engine git clone https://github.com/giacomocavalcabo/gesta-renderer cd gesta-renderer pip install -e "renderer[simplify]" # render a document → SVG gesta render map.gesta.yaml -o out.svg