diff --git a/docs/superpowers/plans/2026-04-08-note-type-editors.md b/docs/superpowers/plans/2026-04-08-note-type-editors.md new file mode 100644 index 0000000..303e709 --- /dev/null +++ b/docs/superpowers/plans/2026-04-08-note-type-editors.md @@ -0,0 +1,786 @@ +# Specialized Note Type Editors — Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Replace the generic note editor with type-specialized form-first views for Person, Place, and List, and fix tab navigation so focus flows logically from title through content fields, skipping the formatting toolbar. + +**Architecture:** `NoteEditorView.vue` gains type-conditional template sections. When `noteType` is `person` or `place`, the main editor area renders a structured form with the TipTap editor in a secondary "Notes" section. When `noteType` is `list`, a dedicated list builder replaces TipTap as the primary interface. `MarkdownToolbar.vue` gets `tabindex="-1"` on buttons. Backend `_note_to_item` gains new person/place fields. + +**Tech Stack:** Vue 3 Composition API, TipTap editor, TypeScript, scoped CSS. + +--- + +## File Map + +| Action | Path | +|--------|------| +| Modify | `frontend/src/views/NoteEditorView.vue` | +| Modify | `frontend/src/components/MarkdownToolbar.vue` | +| Modify | `frontend/src/views/KnowledgeView.vue` | +| Modify | `src/fabledassistant/services/knowledge.py` | + +--- + +### Task 1: Tab navigation fix — toolbar tabindex + auto-focus + +**Files:** +- Modify: `frontend/src/components/MarkdownToolbar.vue` +- Modify: `frontend/src/views/NoteEditorView.vue` + +**Context:** The MarkdownToolbar renders buttons via `v-for` in a single `