Goal
Build a minimal "Lumina-Astro" prototype to validate Revela's architectural choices against Astro on real data instead of hand-wavy comparisons.
The trigger: a developer asked "why didn't you just use Astro?" — a fair question that deserves a fact-based answer.
Scope
Rebuild just enough of Lumina in Astro to answer:
- How does Astro handle the "folder = gallery" convention? (Spoiler: it doesn't, out of the box.)
- How does
astro:assets (Sharp) compare to NetVips for large photo libraries?
- How does the Astro Integration API compare to our
IPlugin lifecycle?
- How does Content Collections + Zod compare to our manifest models?
- What does HMR via Vite feel like vs. our
Serve plugin?
In scope
Out of scope
- Calendar / Statistics / OneDrive plugins
- Production-quality polish
- Theme extension system
- GUI considerations
Timebox
3 weekends max. If incomplete after that, write up what was learned and stop. The goal is insight, not a finished product.
Decision: separate repo or branch?
Defer until we start. Probably a separate repo (e.g. Spectara/lumina-astro or personal) — keeps the comparison clean and avoids polluting Revela's git history.
Deliverables
Follow-up
Findings feed directly into #69 ("Why Revela" comparison page). Do not write that page before this spike is done — otherwise it would be hand-waving.
Priority
Low. This is research, not a feature. Pick up when there's a free weekend and curiosity strikes.
Context: discussion with Bertram, May 2026. See also the existing trust-model rationale in src/Features/Generate/Services/MarkdownService.cs for the kind of honest documentation this spike should produce.
Goal
Build a minimal "Lumina-Astro" prototype to validate Revela's architectural choices against Astro on real data instead of hand-wavy comparisons.
The trigger: a developer asked "why didn't you just use Astro?" — a fair question that deserves a fact-based answer.
Scope
Rebuild just enough of Lumina in Astro to answer:
astro:assets(Sharp) compare to NetVips for large photo libraries?IPluginlifecycle?Serveplugin?In scope
exifr)<picture>tag generation with srcset (AVIF/WebP/JPG)Out of scope
Timebox
3 weekends max. If incomplete after that, write up what was learned and stop. The goal is insight, not a finished product.
Decision: separate repo or branch?
Defer until we start. Probably a separate repo (e.g.
Spectara/lumina-astroor personal) — keeps the comparison clean and avoids polluting Revela's git history.Deliverables
Follow-up
Findings feed directly into #69 ("Why Revela" comparison page). Do not write that page before this spike is done — otherwise it would be hand-waving.
Priority
Low. This is research, not a feature. Pick up when there's a free weekend and curiosity strikes.
Context: discussion with Bertram, May 2026. See also the existing trust-model rationale in
src/Features/Generate/Services/MarkdownService.csfor the kind of honest documentation this spike should produce.