Quest: Artifact Type-Specific Viewers

← All Specs

Quest: Artifact Type-Specific Viewers

Layer: Atlas Priority: P95 Status: active Tasks: 10 total (10 done, 0 open)

Vision

Every artifact type should have a rich, purpose-built viewer on its detail page at /artifact/{id}. Currently only figure artifacts render their actual content (image preview). All other types display only a raw metadata table. This quest adds type-specific viewers for all 10+ artifact types, leveraging existing components (MolStar, notebook renderer, KG widget) where possible.

Completed Tasks

☑ [Viewer] ai_image + paper_figure: image preview with generation metadata (P95)
☑ [Viewer] dashboard: render live dashboard HTML with refresh timestamp (P95)
☑ [Viewer] dataset + tabular_dataset: info card and column schema table (P94)
☑ [Viewer] model: family-aware display — equations, architecture, metrics (P94)
☑ [Viewer] experiment: structured protocol card with outcomes and methods (P94)
☑ [Viewer] paper: cross-ref papers table for abstract, authors, PubMed link (P93)
☑ [Viewer] hypothesis: score dashboard, status badge, evidence counts (P93)
☑ [Viewer] analysis: cross-ref analyses table, hypothesis/notebook counts (P93)
☑ [Viewer] notebook: inline rendered HTML via _darkify_notebook() (P93)
☑ [Viewer] protein_design: MolStar 3D viewer, sequence, mutations, metrics (P92)

Architecture

All viewers are implemented as conditional blocks in the artifact_detail() handler in api.py. A type_viewer_html variable is built based on artifact_type and inserted into the page between the header and metadata table.

Types with dedicated pages (hypothesis, analysis, notebook, experiment) show lightweight teaser cards with prominent "View Full [X]" links to reuse existing rich viewers.

Success Criteria

☑ All 10+ artifact types have type-specific viewers
☑ Viewers gracefully fall back to metadata table on missing data
☑ No regressions on existing figure viewer
☐ Viewers render correctly on mobile (responsive)
☐ Page load time under 2s for all types

Work Log

2026-04-04 — Initial implementation

  • Implemented all 12 type viewers in a single commit
  • Types with existing dedicated pages (hypothesis, analysis, notebook, experiment) use lightweight teasers + prominent links
  • Protein design viewer includes lazy-loaded MolStar 3D structure viewer
  • Model viewer supports biophysical (equations), deep learning (architecture), and statistical (fit metrics) families
  • Tabular dataset viewer shows full column schema with types, descriptions, and sample values

File: quest_artifact_viewers_spec.md
Modified: 2026-04-25 17:55
Size: 2.9 KB