Julien Calixte 0c8a0c294f feat(editor): browse samples in a categorized modal gallery
Replace the cramped Samples dropdown with a modal that lays the gallery
out as a card grid, sectioned by tier, so the growing set stays scannable
and the learning order is visible at once.
2026-06-22 23:47:16 +02:00
2026-06-20 01:28:32 +02:00
2026-06-20 01:28:32 +02:00
2026-06-20 01:28:32 +02:00
2026-06-20 01:28:32 +02:00
2026-06-20 01:28:32 +02:00
2026-06-20 01:28:32 +02:00
2026-06-20 01:28:32 +02:00
2026-06-20 01:28:32 +02:00
2026-06-20 01:28:32 +02:00
2026-06-20 01:28:32 +02:00
2026-06-20 01:28:32 +02:00
2026-06-20 01:28:32 +02:00

meadows

A canvas for thinking in systems — stocks, flows, converters, and feedback loops. Inspired by Donella Meadows' Thinking in Systems.

Deployed at https://meadows.apoena.dev

Design & docs

  • CONTEXT.md — the ubiquitous language: Stock, Flow, Converter, Information Link, Polarity, and the Feedback Loops (Reinforcing / Balancing) the wiring forms.
  • DESIGN.md — goal-driven design (QFD): goals → functions → components, the House of Quality, the performance budget, and recorded tradeoffs.
  • Architecture decisions (docs/adr/):
    • ADR-0001 — feedback loops are detected from structure, not stored.
    • ADR-0002 — Vue Flow is the editor substrate; the domain Model is the source of truth.
    • ADR-0003 — a Flow is a node; Source/Sink clouds are materialised nodes.
    • ADR-0004 — simulation behaviour comes from a small fixed vocabulary of rules over Information Links, not free-form formulas.
    • ADR-0005 — uPlot draws the behaviour-over-time chart; a charting dependency that earns its keep.

Stack

Vite + Vue 3 + TypeScript, Tailwind v4, DaisyUI. Lint/format via oxc (oxlint + oxfmt). SPA-only — diagram model is client-side.

Develop

pnpm install
pnpm dev           # frontend on :5173
pnpm lint          # oxlint  (pnpm lint:fix to autofix)
pnpm fmt           # oxfmt   (pnpm fmt:check to verify only)
pnpm build         # type-check + production build (what Coolify runs)

Deploy

Pushes to main are picked up by Coolify at https://platform.apoena.dev.

Description
meadows.apoena.dev
Readme 879 KiB
Languages
TypeScript 70.7%
Vue 28.4%
CSS 0.6%
HTML 0.2%
Dockerfile 0.1%