D. Rimron-Soutter 54cfe4f175 perf(zxdb): server-render index pages with ISR and initial data
Why
- Reduce time-to-first-content on ZXDB index pages by eliminating the initial client-side fetch and enabling incremental static regeneration.

What
- Main Explorer (/zxdb):
  - Server-renders first page of results and lookup lists (genres, languages, machinetypes) and passes them as initial props.
  - Keeps client interactivity for subsequent searches/filters.
- Labels index (/zxdb/labels):
  - Server-renders first page of empty search and passes as initial props to skip the first fetch.
- Category lists:
  - Genres (/zxdb/genres), Languages (/zxdb/languages), Machine Types (/zxdb/machinetypes) now server-render their lists and export revalidate=3600.
  - Refactored list components to accept server-provided items; removed on-mount fetching.
- Links & prefetch:
  - Replaced remaining anchors with Next Link to enable prefetch where applicable.

Tech details
- Added revalidate=3600 to the index pages for ISR.
- Updated ZxdbExplorer to accept initial results and initial filter lists; skips first client fetch when initial props are present.
- Updated LabelsSearch to accept initial payload and skip first fetch in default state.
- Updated GenreList, LanguageList, MachineTypeList to be presentational components receiving items from server pages.

Notes
- Low-churn list APIs already emit Cache-Control for CDN; list pages now render instantly from server.
- Further polish (breadcrumbs, facet counts UI) can build on this foundation without reintroducing initial network waits.

Signed-off-by: Junie@lucy.xalior.com
2025-12-12 15:31:10 +00:00
2025-12-12 13:43:30 +00:00
2025-11-13 15:21:30 +00:00
2025-12-12 13:43:30 +00:00
2025-12-12 13:43:30 +00:00
2025-10-07 22:04:14 +01:00
2025-10-07 22:04:14 +01:00
2025-10-07 22:01:08 +01:00
2025-10-15 23:04:08 +01:00

Spectrum Next Explorer

A Next.js application for exploring the Spectrum Next hardware. It includes a Register Explorer with realtime search and deeplinkable queries.

Features

  • Register Explorer parsed from data/nextreg.txt
  • Realtime filtering with querystring deep links (e.g. /registers?q=vram)
  • Bootstrap 5 theme with light/dark support

Quick start

  • Prerequisites: Node.js 20+, pnpm (recommended)
  • Install dependencies:
    • pnpm install
  • Run in development (Turbopack, port 4000):
  • Build and start (production):
  • Lint:
    • pnpm lint

Project scripts (package.json)

  • dev: PORT=4000 next dev --turbopack
  • build: next build --turbopack
  • start: next start
  • deploy-test: push to test.explorer.specnext.dev
  • deploy-prod: push to explorer.specnext.dev

Documentation

  • Docs index: docs/index.md
  • Getting Started: docs/getting-started.md
  • Architecture: docs/architecture.md
  • Register Explorer: docs/registers.md

License

  • See LICENSE.txt for details.
Description
Languages
TypeScript 77.3%
SCSS 11.6%
CSS 7.5%
JavaScript 2%
Dockerfile 1.4%
Other 0.2%