Log inGet started
World

builtin-plugins

README.md

dotbotPanelPreview

Draws this world's DotBot panel code in the editor as an extra dock tab, DotBot preview, over a fake plugin with made-up example data, so a change to dotbot.plugin/ can be seen before it is published.

The editor's real DotBot tab is drawn from the engine's built-in library, not from this world, so an edit here does not appear in it. This module loads the world's own dotbot.plugin/panel.editorPanel source, points its relative requires at the world's own view, transcript, workflows and service modules, and gives it a fake plugin built on the world's real Source and Service.

Use

From the engine's shell, with this world open in an editor:

luau --lang luau 'require("/source/dotbotPanelPreview.module").open()'

Run open() again after an edit. It reads the panel source fresh, redraws the tab and restarts the loop. close() takes the tab down and stops the loop.

FunctionDoes
open()Opens (or reopens) the preview tab in the right dock and starts the streaming loop. Returns the tab id.
close()Closes the tab and stops the loop.

What it shows

  • A stored conversation of two finished turns: thinking, tool calls (one of them failed), and answers with markdown and a table.
  • Five agents: two working, one waiting, two done.
  • A context reading of 99K of a 1.05M window, compacting at 919K, and usage figures for the last turn and the conversation.
  • A turn streaming on a loop, about 20 seconds a round: the person's message, thinking, three tool calls, an answer and its usage line. Each round asks something different, so the transcript reads like a conversation.

Nothing here reaches a real plugin, account or network. Sending, stopping and switching accounts in the preview go to the fake plugin, which does nothing with them.

Limits

  • The preview's tab id is its own (dotbotpreview), so its widgets never share ids with the real DotBot tab; both can be open at once.
  • The fake plugin answers the reads the panel makes today. A panel change that reads something new from the plugin needs that read added here.