builtinEditorPanels
Registers the engine's built-in editor menus and dock panels into the editor registry (modules.api.editor.registry) through the same public addMenu / addPanel API a world uses. The dock service renders whatever is registered, so this module is the engine's own application of the registration API — the one place that shows the whole pattern.
The default editor entrypoint requires this module, and requiring it IS the registration (the require cache means it runs once per VM). It registers the top-level menus (Scene, Content, Render, Debug, Window, Settings), a synthetic Viewport panel bound to the editor-viewport render target, the module-backed tabs (Entities, Assets, Scenes, Files, Scripts, Source Control, Graphics, Profiler, Luau Profile, Logs, Runtime, Physics, Multiplayer, LSP, Input, Debug, Execute, Terminal, Settings), and the Save/Load Layout action items.
Exports
M.register() -> {string}— register the built-in menus and panels into the registry and return the list of registered panel ids. Idempotent: re-registration replaces in place, so a hot-reload re-runs cleanly. Called once at module load; exposed for explicit re-registration.
To add a built-in panel, add a row to the module's PANELS table pointing at its tab module (each tab module exports { label, refresh, build, onMount?, onCallback?, tick? }). To author a world panel, write an editorPanel asset whose onRegister(self) calls addPanel.
Usage
require("modules.api.editor.system_tools.panels") -- the require registers the built-in set
Scoped to this part · feeds back into the world's score.