# Nested auto-layout (ELK)

**Category:** Layout  
**Live demo:** https://xenolithengine.github.io/xenolith-graph/examples/nested-layout/  
**Frameworks shipped:** vanilla, react

## Description

Three levels of nested macros — Encoder/Decoder containing Attention/FFN containing leaf ops. ELK respects the hierarchy (children stay inside their parent frame); dagre ignores parent and pancakes everything. Toggle to see the difference.

## Source files

  - [vanilla] vanilla/nested-layout.ts
  - [vanilla] shared/nested-layout.ts
  - [react] demos/NestedLayoutDemo.tsx
  - [react] shared/nested-layout.ts

## How to use this example

Open the live demo at https://xenolithengine.github.io/xenolith-graph/examples/nested-layout/ to interact with it in the browser. The same source files are
reproduced verbatim in the page so you can copy-paste into your own project. Every example is
self-contained — pick one, copy the files, install `@xenolithengine/graph-editor` + the relevant framework
adapter, and it runs.

## See also

- Full project docs: https://xenolithengine.github.io/xenolith-graph/llms.txt
- All examples (raw): https://xenolithengine.github.io/xenolith-graph/api/graphs.jsonl
- MCP tool catalog: https://xenolithengine.github.io/xenolith-graph/api/mcp-tools.json
- Repository: https://github.com/XenolithEngine/xenolith-graph
