I've been building a document layout engine called VMPrint from scratch in pure TypeScript. It does not use a browser, a DOM, or HTML. It has its own AST in structured JSON — pure data, no markup.

Just for fun I made a skill file describing the schema and gave it to Claude. It asked me if I wanted to see it build something interesting with it, so I said yes.

It made a newspaper -- 3 pages, but still, a newspaper.

Not because it had seen VMPrint AST before. There are none. Not because the skill file described what a newspaper should look like, or how to build one. It didn't.

But it decided that "something interesting" out of this schema should look like a newspaper, so it built one with the primitives I gave it — kind of like handing a pencil and paper to a kid and asking them to draw a museum piece.

The file it generated can be found here: https://cosmiciron.github.io/vmprint/examples/ast-to-canvas-...

You can actually tweak it yourself and see the render change. You will see that it genuinely created the document with structure and semantics — not just a screenshot.

Of course Claude can generate any kind of layout/UI with HTML, but that's because it was trained from billions of prior examples. This one though is different.