Observed Signal · Jun 23, 2026 · Technical Release · Source: DEV Community · Impact: 2/5 · Sentiment: Neutral
LLM agents fail at SVG layout — use JSON + engine
The article argues that language models can generate valid SVG markup but lack visual reasoning, so they consistently produce poorly laid-out diagrams. Emitting raw SVG or fragile DSLs (e.g., Mermaid) forces models into spatial placement or rigid grammar tasks they handle poorly. The author proposes separating semantics from layout: have the LLM emit a plain, typed JSON diagram specification (nodes, edges, entities) and hand off layout, routing and rasterization to a deterministic engine. Glyphic, an open-source project, implements this approach — validating model output against a schema, computing graph layout (ELK / d3), rasterizing via resvg in Node (no headless Chromium), and supporting 18 diagram types. Glyphic is available as an MCP server, an npm library, or a self-hosted HTTP API, with a live playground for testing.
Presents a practical engineering pattern and an open-source tool (Glyphic) that improves reliability of LLM-driven diagram generation and agent integrations, which is useful to developers building agentic workflows but is not industry-shifting for AdTech.
Track Chromium Signals & Market Shifts in Real-Time
Polaris7 autonomous intelligence agents track regulatory filings, primary sources, executive changes, and deal flow 24/7. Create your free Explorer workspace to monitor these entities.
Key Takeaways & Evidence Grounding
- Language models can produce valid SVG but lack visual reasoning, causing incorrect layout and overlaps.
- Two common approaches (emit raw SVG or a DSL like Mermaid) fail due to blind pixel placement or fragile grammar and heavy headless-browser dependencies.
- Recommended approach: have the model emit typed JSON describing diagram meaning (nodes/edges) and let a deterministic layout engine compute placement and routing.
- Glyphic is an open-source engine that validates typed JSON, computes layout (using libraries like ELK/d3), rasterizes with Rust resvg in Node (no Puppeteer/Chromium), and supports 18 diagram types.
- Glyphic can be used as an MCP server, an npm library (@glyphicjs/core @glyphicjs/schema), or a self-hosted HTTP API and offers a live playground.
Connected Companies & Entities
2 Entities mappedOntology Mapping & Concepts
Related Market Signals & Shifts
Recent verified developments and strategic activity across this market segment.
Why I Stopped Using LangGraph
A software engineer describes why they moved away from using LangGraph for most small LLM projects. While praising LangGraph as well-built and valuable for genuinely complex multi-agent workflows, the author found it introduced maintenance overhead (typed state schemas, node signatures, graph topology) that outweighed benefits for typical pipeline-style applications like chatbots, document processors and summarizers. They replaced LangGraph with the Vercel AI SDK and a hexagonal (ports-and-adapters) architecture: LLM providers (OpenAI, Gemini, Ollama) become adapters behind a shared interface, agents receive models via constructor injection, and memory is abstracted (example: Firestore memory adapter using embedding calls). The author reports easier testing, simpler provider swaps, faster onboarding, and lower friction for feature changes, while acknowledging LangGraph remains appropriate for heavy coordination, human-in-the-loop workflows, and complex decision trees.
Use Deterministic Primitives for Agent-Driven Layouts
A developer argues that AI agents should express intent while deterministic primitives handle arithmetic and layout precision. In a Dev.to post the author describes asking an agent to generate a five-branch mind map: the agent named elements and relationships, while a deterministic layout primitive computed exact positions (a ring with the first element at top). The post recommends moving tasks that have a single correct answer (e.g., placing items on a circle, equal spacing, snapping to grid, routing connectors) out of model prompts and into callable functions. The author cites Easel (truffleagent.com/easel) and its `arrange` tool (circle, grid, row, column modes) built on the open-source Phantom platform (github.com/ghostwright/phantom) as a worked example.
Self-Healing TypeScript Web Scrapers with LLMs
The article explains how to build resilient, self-healing web scrapers and form-filling agents in TypeScript by combining multimodal Large Language Models, visual grounding, client-side acceleration (WebGPU compute shaders), and a standardized tool contract called the Model Context Protocol (MCP). It presents an end-to-end Playwright + Google GenAI (Gemini) example that first attempts standard DOM selectors and falls back to screenshot + DOM embeddings and LLM-guided coordinate/selector recovery. The piece also discusses extending Retrieval-Augmented Generation (RAG) to living UIs, how to embed DOM elements with visual crops for semantic retrieval, and governance/security concerns (sandboxing, human-in-the-loop validation, and capability-based restrictions) for autonomous form-filling agents.
Track Real-Time Market Signals & Shifts
Set up custom watchlists to receive automated, evidence-grounded executive digests whenever material signals or shifts occur across your tracked landscape.
