Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .agents/plans/PLANS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Persistent plans for multi-step work on **blxcode**. Individual plans live as Ma
| planned | [coordinated-subagents.md](coordinated-subagents.md) | Coordinated Subagents: Rollen, i18n Subcards, Provider-Reuse, Environment/Shell/Git/Web-Tools, scoped Toolgruppen, Inline-Timeline |
| planned | [kanban-board-view.md](kanban-board-view.md) | Kanban-View im Plans-Panel: Status-Spalten, DnD fuer Karten/Spalten, Spalten ein-/ausblenden, Markdown-Writeback |
| planned | [terminal-grid-drag-drop.md](terminal-grid-drag-drop.md) | Terminal-Slots per Drag-Handle im Grid umsortieren; Cross-Workspace-Transfer per Sidebar-Drop mit PTY-Erhalt, Session- und Notification-Migration |
| planned | [file-browser-rich-preview.md](file-browser-rich-preview.md) | File-Browser-Preview: Bilder (SVG/Raster), Video, gerendertes Markdown, Mermaid; neue Topbar mit Datei-Metadaten und sandboxed Backend-Commands |
| active | [file-browser-rich-preview.md](file-browser-rich-preview.md) | File-Browser-Preview: Bilder (SVG/Raster), Video, gerendertes Markdown, Mermaid; neue Topbar mit Datei-Metadaten und sandboxed Backend-Commands |
| done | [agent-chat-maximize.md](agent-chat-maximize.md) | Agent-Tab: Chat-Maximize-Toggle vor Reset; Voice-Hero kompakt, mehr Platz fuer Chat-Verlauf |
| done | [agent-image-context.md](agent-image-context.md) | Bilder per Drag/Drop und Paste an Agent-Kontext; Drop-Zone, Preview-Dialog, einmaliges Senden, dann read |
| done | [agent-image-modus.md](agent-image-modus.md) | Agent Image-Modus: Chat-Toggle, Settings-Tab Image, Referenzbilder, Generierung via OpenAI/OpenRouter, Workspace-Speicherung und Download |
Expand Down
50 changes: 34 additions & 16 deletions .agents/plans/file-browser-rich-preview.md
Original file line number Diff line number Diff line change
Expand Up @@ -216,19 +216,37 @@ Erinnerung aus `CLAUDE.md`: Alle Sprach-Locale-Files müssen die neuen Keys habe

## Tasks

- [ ] `backend-meta` - `FileMeta`, `FileKind`, `stat_workspace_file` Command + Unit-Tests
- [ ] `backend-image` - `BinaryFilePreview` + `read_workspace_image_file` + Cap + Tests
- [ ] `backend-video` - `read_workspace_video_file` + Cap + Tests
- [ ] `backend-register` - Commands in `lib.rs` registrieren
- [ ] `bridge-types` - Serde-Spiegel + async Wrapper in `tauri_bridge.rs`
- [ ] `frontend-module` - Neues `file_preview/`-Modul mit `mod.rs` Dispatcher + `util.rs` (classify, format)
- [ ] `frontend-header` - Topbar mit Name/Pfad/Größe/mtime + Refresh
- [ ] `frontend-image` - SVG-Inline + Raster-`<img>` mit Data-URL + Centered-Stage
- [ ] `frontend-video` - `<video>`-Renderer mit Cap-Hinweis
- [ ] `frontend-markdown` - `pulldown-cmark` Pipeline + Sanitization + Mermaid-Sentinel
- [ ] `mermaid-asset` - Vendored `mermaid.esm.min.mjs` unter `public/vendor/mermaid/`
- [ ] `frontend-mermaid` - Lazy-Loader + `mermaid.run` Integration für `.mmd` und Markdown-Blöcke
- [ ] `workspace-panel-wire` - Alte `FilePreviewDock`-Impl in `workspace_panel.rs` entfernen, neues Modul nutzen
- [ ] `i18n-keys` - Neue Keys in `keys.rs` + alle `locales/*.rs`
- [ ] `styles` - `.file-preview__stage`, `__image`, `__video`, `__markdown`, `__mermaid` Stile
- [ ] `manual-verify` - Manuelle Checks aus Test-Tabelle inkl. PNG, SVG, MD, MMD, MP4
- [x] `backend-meta` - `FileMeta`, `FileKind`, `stat_workspace_file` Command + Unit-Tests
- [x] `backend-image` - `BinaryFilePreview` + `read_workspace_image_file` + Cap + Tests
- [x] `backend-video` - `read_workspace_video_file` + Cap + Tests
- [x] `backend-register` - Commands in `lib.rs` registrieren
- [x] `bridge-types` - Serde-Spiegel + async Wrapper in `tauri_bridge.rs`
- [x] `frontend-module` - Neues `file_preview/`-Modul mit `mod.rs` Dispatcher + `util.rs` (classify, format)
- [x] `frontend-header` - Topbar mit Name/Pfad/Größe/mtime + Refresh
- [x] `frontend-image` - SVG-Inline + Raster-`<img>` mit Data-URL + Centered-Stage
- [x] `frontend-video` - `<video>`-Renderer mit Cap-Hinweis
- [x] `frontend-markdown` - `pulldown-cmark` Pipeline + Sanitization + Mermaid-Sentinel
- [x] `mermaid-asset` - Vendored Mermaid-Bundle unter `public/vendor/mermaid/` (UMD `mermaid.min.js`)
- [x] `frontend-mermaid` - Lazy-Loader + `mermaid.run` Integration für `.mmd` und Markdown-Blöcke
- [x] `workspace-panel-wire` - Alte `FilePreviewDock`-Impl in `workspace_panel.rs` entfernen, neues Modul nutzen
- [x] `i18n-keys` - Neue Keys in `keys.rs` + alle `locales/*.rs`
- [x] `styles` - `.file-preview__stage`, `__image`, `__video`, `__markdown`, `__mermaid` Stile
- [x] `code-vendor` - Vendor `public/vendor/highlight/highlight.min.js` (highlight.js 11 common bundle)
- [x] `code-backend` - Neue `FileKind::Code`, erweiterte `classify_kind`, MIME für ts/js/yaml/toml/csv
- [x] `code-bridge` - `FileKind::Code` im Frontend-Bridge-Spiegel
- [x] `code-util` - `hljs_lang_for_ext`, `html_escape`, `split_highlighted_into_lines` + Unit-Tests
- [x] `code-glue` - `hljs_glue.rs` mit `ensure_hljs_loaded` + `highlight`
- [x] `code-view` - `CodeView` mit Line-Numbers, Syntax-Highlighting, Row-Selection
- [x] `code-dispatch` - Dispatcher routet `Code | Text` → `CodeView`
- [x] `code-styles` - `.code-view` Layout + hljs-Token-Mapping mit Theme-Tokens (dark + light)
- [x] `code-drag-selection` - Drag-Range-Selection (mousedown→mousemove→window-mouseup) auf `.code-view` mit Single-Click-Toggle erhalten
- [x] `code-snippet-util` - `build_file_snippet_block` in `file_preview/util.rs` mit fenced Markdown + Source-Workspace-Header für Cross-Workspace
- [x] `code-envelope` - `render_file_snippet_envelope` in `agent_context_handoff.rs` als Mini-Variante des Handoff-Blocks
- [x] `code-context-item` - `AgentContextKind::FileSnippet` + optionales `content`-Feld auf Frontend-Bridge + Backend-Protocol + Prompt-Renderer (`session_orchestrator.rs`)
- [x] `code-cross-workspace-terms` - `list_terminal_targets_all_workspaces` enumeriert alle Workspaces, gruppiert + Shell-Workspaces ausgefiltert
- [x] `code-context-menu` - Neues `code_context_menu.rs`-Modul: gruppiertes Menü (Snippet→Terminal, Envelope→Terminal, Attach→Agent, Clipboard) mit "current"-Badge für Preview-Workspace
- [x] `code-menu-wire` - `on:contextmenu` in `CodeView`, Menu-State-Signal, Window-mousedown/Escape zum Schließen, Range-Capture
- [x] `code-actions` - `pty_write` für Snippet & Envelope, `upsert_workspace_agent_context` für Attach, `navigator.clipboard.writeText` für Copy-Snippet/Range/Raw mit Toast-Feedback
- [x] `code-i18n-handoff` - 22 neue Keys (`CodeViewMenu*` + `CodeViewToast*`) + Übersetzungen in allen 13 Locales (en/de/fr/es/it/pt_br/pl/hu/ru/ja/ko/zh_cn/zh_tw)
- [x] `code-css-menu` - `user-select:none` auf `.code-view` + `.code-context-menu` Stile (Sektionen, Workspace-Gruppen, Slot-Items, Badge)
- [ ] `manual-verify` - Manuelle Checks aus Test-Tabelle inkl. PNG, SVG, MD, MMD, MP4, sowie TS/JS/RS-Files mit Line-Selection + Drag-Selection + Rechtsklick → Terminal/Agent/Clipboard (auch cross-workspace)
Loading
Loading