tasks

Implement View Entry Render

Goal

Implement P0 read-only render operations for Markdown entries and declarative page views.

Sources

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.render with format: "html" for WebApp use.
  • Implement view.render for P0 page views.
  • Render table views from space entries, columns, and sort definitions.
  • Render kanban views from space entries and column query.all filters.
  • 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.render and view.render return 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.