pageTool plugins with toc and page-index references #77
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#77
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Read-only widgets over page/pond data cover the vision's TOC and page-index examples.
Scope
Implement the
pageToolsurface: tools panel on the page (list of active pageTool plugins, lazy-loaded iframes) and embeddable as aplugin_block; ship reference pluginstoc(renders the outline of the current page viareadCurrentPage, click scrolls to heading) andpage-index(filtered page list by label viareadPond, links navigate); both localized (de/en) via manifest i18n.Acceptance criteria
uicapabilityTechnical notes
Dependencies
Depends on #74, #76.
Size: ~1.5 days
Conventions: English code/comments, clear human-readable code, no hard-coded UI strings (ADR 0012, add
deanden), permission checks only via the shared guard (docs/architecture/permissions.md). Read the referenced ADRs before starting.Umgesetzt in
0003063(CI grün, alle 8 Kontexte — der e2e-Job fährt jetzt auch die Packs section-styles [in #75 versäumt], plugin-blocks und page-tools).Akzeptanzkriterien (e2e
page-tools.spec.ts):ui.scrollToHeading-Capability, Host löst Outline-Id → Heading-Position auf), Seiten-Klick navigiert viaui.openPageReferenz-Plugins:
packages/plugins/tocundpackages/plugins/page-indexsind echte SDK-Konsumenten (createPlugin + windowTransport), per esbuild gebündelt; i18n de/en wird beim Build inline gebündelt (Sandbox-CSP verbietet Laufzeit-Fetches — diei18n/-Dateien bleiben die Quelle).readPond.listPagesliefert jetzt Label-Namen pro Summary (pluginPageSummaries).