tasks
Implement View Entry Render
Goal
Implement P0 read-only render operations for Markdown entries and declarative page views.
Sources
- architecture/forma-p0-operation-api-spec
- architecture/forma-core-technical-direction
- product/forma-p0-starter-spec
Context
The P0 WebApp should read through operations, not directly from files. Entry rendering and view rendering are separate operation surfaces so inspection can stay metadata-focused.
In Scope
- Implement
file.renderwithformat: "html"for WebApp use. - Implement
view.renderfor P0 page views. - Render table views from space entries, columns, and sort definitions.
- Render kanban views from space entries and column
query.allfilters. - Support
<!-- forma-view -->as the view mount point. - Render Obsidian-style embeds as links or placeholders, not expanded content.
- Add golden tests for table, kanban, entry HTML, missing mount points, invalid view fields, and unresolved references.
Out Of Scope
- Markdown export as a primary render pipeline.
- Embedded views.
- Transclusion expansion.
- Drag/drop mutation or
onDrop. - Rich Markdown editing.
Acceptance Criteria
file.renderandview.renderreturn stable JSON result shapes.- P0 starter views render with zero entries and with fixture entries.
- Invalid views produce structured diagnostics.
- Rendered output does not persist to disk or enter any persistent index artifact.
Relationship Notes
Blocked by parser, check/index, and operation dispatch foundation.
Open Questions
- Exact HTML sanitization/rendering library choice can be made during implementation.