9a958c0051
Editorial single-page viewer for the City of Münster's 2026/2027 budget draft, built as an Astro v6 SPA with a 4-level zoomable icicle (Produktbereich → Produktgruppe → Category → Breakdown). Highlights: - Multi-flow data layer over the official open-data CSVs (Aufwendungen + Erträge, 2008–2028) with overlap reconciliation across plan years. - Year slider as a 21-year mini-histogram of both flows; drag-to-scrub and click-to-jump, with bars morphing via CSS transitions on SVG geometry attributes. - Vertically centred icicle with year-outline rectangles framing each year's relative budget size, à la Bostock's animated treemap. - Headline "ausgibt / einnimmt" toggle; sidebar Aufwendungen/Erträge rows double as flow toggles. Active flow in Aufwendungen-purple / Erträge-orange (OKLCH). - Click-to-zoom via path-keyed lookup with ZOOM_COL_BOUNDS that reallocate the depth axis per zoom state. Zoomed item moves to the sidebar; canvas shows its descendants only (no adjacent-block leaks). - Sidebar shows path-specific Aufwendungen/Erträge/Saldo plus the source-PDF Beschreibung; Erläuterungen behind a collapsed details. - Build-time PDF extraction (scripts/extract-pg-sections.mjs) parses 68 Produktgruppen' Beschreibung + Erläuterungen sections from Band 1, including 10 cells of structured Mio.-€ breakdowns (Steuern, Transferaufwendungen, etc.) that drive the level-4 view. - URL state sync for path, year, and flow via history.replaceState so any zoom is shareable. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
53 lines
1.7 KiB
Markdown
53 lines
1.7 KiB
Markdown
⠀
|
||
|
||
# ms-haushalt
|
||
|
||
# Visualisierung der Haushalte der Stadt Münster
|
||
|
||
# Astro Starter Kit: Minimal
|
||
|
||
```sh
|
||
pnpm create astro@latest -- --template minimal
|
||
```
|
||
|
||
> 🧑🚀 **Seasoned astronaut?** Delete this file. Have fun!
|
||
|
||
## 🚀 Project Structure
|
||
|
||
Inside of your Astro project, you'll see the following folders and files:
|
||
|
||
```text
|
||
/
|
||
├── public/
|
||
├── src/
|
||
│ └── pages/
|
||
│ └── index.astro
|
||
└── package.json
|
||
```
|
||
|
||
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
|
||
|
||
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
|
||
|
||
Any static assets, like images, can be placed in the `public/` directory.
|
||
|
||
## 🧞 Commands
|
||
|
||
All commands are run from the root of the project, from a terminal:
|
||
|
||
| Command | Action |
|
||
| ---------------------- | ------------------------------------------------ |
|
||
| `pnpm install` | Installs dependencies |
|
||
| `pnpm dev` | Starts local dev server at `localhost:4321` |
|
||
| `pnpm build` | Build your production site to `./dist/` |
|
||
| `pnpm preview` | Preview your build locally, before deploying |
|
||
| `pnpm astro ...` | Run CLI commands like `astro add`, `astro check` |
|
||
| `pnpm astro -- --help` | Get help using the Astro CLI |
|
||
|
||
## 👀 Want to learn more?
|
||
|
||
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
|
||
|
||
> a8d3b5f (feat: initial Münster Haushalt icicle viewer)
|
||
|
||
⠀ |