ROTEX parses your Studio project with Tree-sitter and keeps the result as a library graph on your disk. Questions about your code are answered from that file.
ROTEX
- 14:02:11Reparsed 46 changed scripts310ms
- 13:47:03Docs cache for the API reference is 17m stale1.4s
- 13:31:56Module graph rebuilt, 9,610 edges1.2s
- 13:12:40Ambiguous reference: captureNote() to scanTree()n/a
- 12:58:09Context snapshot written88ms
- 12:44:22Full scan, 1,284 files2.1s
inspector
No node selected. Pick one on the canvas, or a file in the explorer.
Graph nodes
Twenty-nine nodes across the boundary. Fourteen run inside Studio, two are the command queue itself, and thirteen are reached through it. Every edge that crosses the divider is a queue message; nothing else does. Select a node to read its metadata and its connections.
A live force-directed graph of the ROTEX system, settled into two zones either side of a dashed boundary. Inside Studio: the plugin, its state, the extension registry, three extensions (SmartNotes, StaticAnalysis and LibraryFinder), the user interface, the methods those expose, the plugin guide and the current release. On the boundary: the queue's enqueue and poll methods. Beyond it: the MCP server, the command queue and its worker, the context engine, the library graph, the graph store and embed index, two repositories, the API reference and the published version. Line style is evidence: solid means the parser read it, fine dashes mean it was inferred or is ambiguous. Selecting a node dims everything more than one hop away.
Your project source is never enqueued. What crosses the gate is a scoped context, and one cached documentation lookup.
The boundary
Four facts about what leaves this machine.
- 01
Your scripts are read where they sit.
Tree-sitter parses the open place on this machine. What it produces is a library graph: a file on your disk, next to the project it describes.
- 02
Questions are answered from that file.
Intent analysis, graph traversal, relevance ranking and context packing all run locally against the graph. The answer to “what does this script depend on” never needed the network.
- 03
One input comes from outside.
Library documentation, cached for fourteen days. The pipeline diagram marks it as the single off-machine input, and it is the only arrow that enters from beyond the boundary.
- 04
Your project source never crosses.
A scoped generation context goes to the model that writes the code. The source itself is never enqueued, because that path stops at the boundary, and what comes back is parsed and type-checked before it reaches Studio.
Each of these is drawn in the diagrams further down the page, and can be checked against them.
The library graph
The whole system as one settled picture. Drag to pan, scroll to zoom, and pick any node to read what it is and walk its connections. The dashed line is the boundary, and every edge that crosses it is a queue message.
Graph legend
- Library5
- Method7
- Script9
- Repository4
- Documentation2
- Version2
DEPENDS_ON
structural ◆
HAS_METHOD
structural ◆
REFERENCED_BY
informational ◆
DOCUMENTED_BY
informational ◆
INFERRED_USE
inferred evidence ◇
AMBIGUOUS_REF
ambiguous evidence ◌
QUEUE_MSG
crosses the boundary ◆
80% zoom
Graph nodes
Twenty-nine nodes across the boundary. Fourteen run inside Studio, two are the command queue itself, and thirteen are reached through it. Every edge that crosses the divider is a queue message; nothing else does. Select a node to read its metadata and its connections.
A live force-directed graph of the ROTEX system, settled into two zones either side of a dashed boundary. Inside Studio: the plugin, its state, the extension registry, three extensions (SmartNotes, StaticAnalysis and LibraryFinder), the user interface, the methods those expose, the plugin guide and the current release. On the boundary: the queue's enqueue and poll methods. Beyond it: the MCP server, the command queue and its worker, the context engine, the library graph, the graph store and embed index, two repositories, the API reference and the published version. Line style is evidence: solid means the parser read it, fine dashes mean it was inferred or is ambiguous. Selecting a node dims everything more than one hop away.
Featured Libraries
Where each piece runs, and what crosses the boundary: how it fits together.
What it does
- Tree-sitter parses your place into a library graph, and that graph is a file on your disk.
- Intent analysis, traversal and ranking all read that file, so a question about your code is answered from your code.
- Generated Luau is parsed and type-checked before it reaches Studio; what fails the check goes back to the model.
Try Pro free for 14 days.
Cancel before it ends and you pay nothing. See pricing













