Declarative YAML slide generation, zero-inline-style semantic HTML, and Celestine SVG charts
Separating content structure from presentation styles
Sub-50ms slide generation with zero Node.js runtime baggage
# 1. Parse declarative deck manifest:
deck = Sunstone::Deck.from_yaml(File.read("deck.yml"))
# 2. Resolve layout renderer via static router:
renderer = Sunstone::LayoutRouter.resolve("stats")
# 3. Compile vector Celestine chart & theme CSS:
chart = Sunstone::Chart.sparkline(metrics, stroke: "#10b981")
html = renderer.render_html(slide, deck, palette, 1, 20)
# 4. Emit zero-inline-style artifact:
File.write("dist/index.html", html)
Two-step progressive disclosure: raw code first, then critique analysis
<div style="display:flex;background:#111;padding:12px;">
<h2 style="font-size:24px;color:#38bdf8;">Title</h2>
<p style="margin:0;color:#aaa;">Subtitle</p>
</div>
id: "overview"
layout: "intro"
badge: "MODULAR"
title: "Title"
subtitle: "Subtitle"
palette: "slate_dark"
Two-step progressive disclosure: raw code first, then critique analysis
<div style="display:flex;background:#111;padding:12px;">
<h2 style="font-size:24px;color:#38bdf8;">Title</h2>
<p style="margin:0;color:#aaa;">Subtitle</p>
</div>
id: "overview"
layout: "intro"
badge: "MODULAR"
title: "Title"
subtitle: "Subtitle"
palette: "slate_dark"
Three equal cards or code snippets side by side
Compact quadrant or multi-column layout for comprehensive overviews
Evaluating architectures across styling, ergonomics, and reproducibility
| Feature | Traditional Slideware | Marp / Markdown | Sunstone |
|---|---|---|---|
| Inline Styles | Pervasive inline styles | Limited styling control | Strictly Zero Inline Styles |
| Theme Scoping | Manual theme hunting | Single global theme | Theme-Scoped Palettes per Slide |
| Git Diffs | Opaque binary XML | Flat markdown only | Line-by-line semantic YAML |
| Chrome Controls | Bloated HTML elements | Minimal / None | CSS Pseudo-Elements (::before/::after) |
Horizontal milestone rail with status indicators and delivery phases
Structured technology layers with CSS pseudo-element flow indicators
Embedded images, video, and Asciinema terminal recordings
Speaker biography, key career metrics, and core areas of focus
Interactive side-by-side mode evaluation with tabular specs
sunstone serve --port 8000sunstone build --out distStep-by-step interactive command execution flow
sunstone new my-talk --theme genericid: "architecture"
layout: "architecture"
palette: "emerald_matrix"sunstone serve --port 8000βThe best slide deck is the one you can review in a pull request, style with clean CSS, and deploy without friction.β
Deterministic speed, zero runtime overhead, and bare-metal compilation
Asymmetrical Bento Grid showcasing primary engine capabilities
AST.optimize(nodes) do |pass|
pass.inline_constants!
pass.fold_pure_expressions!
pass.prune_dead_branches!
end
Four-stage sequential workflow with directional chevrons
Empirical comparison across execution velocity, binary weight, and safety models
| Ecosystem | Compilation | Type Safety | Binary Size | Throughput (RPS) | GC Latency |
|---|---|---|---|---|---|
| Crystal (Sunstone) | Native AOT (LLVM) | Flow-Sensitive Static | 18 MB | 185,000 | Deterministic |
| Rust | Native AOT (LLVM) | Affine / Borrow Checker | 16 MB | 192,000 | Zero GC (Manual) |
| Go | Native AOT (Custom) | Structural Static | 22 MB | 142,000 | Concurrent (< 1ms) |
| Node.js (V8) | Dynamic JIT | Dynamic (TypeScript Erasure) | 85 MB+ | 54,000 | Stop-the-World |
| Python (CPython) | Bytecode Interpreted | Dynamic Optional Checks | N/A | 9,500 | Reference Counting |
Architectural decisions, workflow integration, and customization capabilities
High-impact, reproducible presentations in minutes
github.com/sol-vin/sunstonesol-vin.github.io/sunstonesol.vinshards install && bin/sunstone build --out dist