outline: add CodePanel, FileEditorRegistry, RojoChatPanel; update file manager and backlog

This commit is contained in:
Rokojori 2026-07-11 13:21:14 +02:00
parent 7ffa2f7588
commit ff5e010f10
1 changed files with 22 additions and 11 deletions

View File

@ -41,15 +41,26 @@
A full editor page (<code>/editor.html</code>) with a 3-panel resizable layout A full editor page (<code>/editor.html</code>) with a 3-panel resizable layout
(Left / Center / Right). Each panel holds one or more sections side by side, (Left / Center / Right). Each panel holds one or more sections side by side,
each section holds a <code>&lt;tab-container&gt;</code>. Tabs are draggable each section holds a <code>&lt;tab-container&gt;</code>. Tabs are draggable
between containers. The Left panel shows the file tree; the Center panel holds between containers. The Left panel shows the file tree with create, rename,
the WYSIWYG HTML editor (iframe, <code>contenteditable</code>, and delete for files and folders. The Center panel holds the WYSIWYG HTML
MutationObserver, undo/redo, Ctrl+S save). The Right panel is empty by default editor (iframe, <code>contenteditable</code>, MutationObserver, undo/redo,
and receives dropped tabs. Ctrl+S save). The Right panel is empty by default and receives dropped tabs.
</p> </p>
<p style="margin-top:0.75rem"> <p style="margin-top:0.75rem">
A <code>FileEditorRegistry</code> routes files to the correct panel by suffix.
HTML files open in <code>html-editor-panel</code>; all other known text formats
open in <code>code-panel</code> (CodeMirror 5, syntax highlighting, dark theme,
Pin/Undo/Redo/Save toolbar). The registry checks an optional project-level
<code>workspace/editor/file-editors.json</code> first, then falls back to
in-memory defaults. Unknown extensions show an error in the file tree instead
of attempting to open.
</p>
<p style="margin-top:0.75rem">
A <code>rojo-chat-panel</code> provides a streaming AI chat interface backed
by a LangChain + OpenAI-compatible model. Each panel instance holds its own
conversation session in memory.
A reusable <code>&lt;confirm-dialog&gt;</code> component replaces browser A reusable <code>&lt;confirm-dialog&gt;</code> component replaces browser
<code>confirm()</code> for destructive actions. Currently wired up for project <code>confirm()</code> for destructive actions (currently project deletion).
deletion only.
</p> </p>
</div> </div>
@ -57,14 +68,14 @@
<h3>What still needs work</h3> <h3>What still needs work</h3>
<p> <p>
This is a loose reminder, not a fixed backlog. Things we know are missing or This is a loose reminder, not a fixed backlog. Things we know are missing or
incomplete: a file manager inside the editor (create, rename, delete files and incomplete: the Right panel has no default content and relies on manual tab
folders from the tree); the Right panel has no default content and relies on dragging to populate; portrait mode's secondary section switcher
manual tab dragging to populate; portrait mode's secondary section switcher
(when a panel has multiple side-by-side sections) is not yet wired up; the (when a panel has multiple side-by-side sections) is not yet wired up; the
member list UI shows raw UUIDs instead of usernames; the group editor and member list UI shows raw UUIDs instead of usernames; the group editor and
account delete button still use the browser <code>confirm()</code> instead of account delete button still use the browser <code>confirm()</code> instead of
the custom dialog; non-HTML files in the tree are visible but not openable; the custom dialog; non-text files (images, PDFs) in the tree are visible but
and there is no real-time multi-user collaboration yet. not openable (a <code>MediaViewerPanel</code> is planned); and there is no
real-time multi-user collaboration yet.
</p> </p>
</div> </div>
</section> </section>