Skip to content

Reference

Glossary

A one-line definition of each ogygia term, linked to the page that covers it in depth.

On this page

This page collects the vocabulary used across the docs, so if a word is unfamiliar, you can look it up here.

The five words

  • Page: a route that ships as server HTML without the Kit client (csr = false), so only its islands hydrate. See How it works.
  • Island: a component that becomes interactive when it receives its JS on a schedule. See Client islands.
  • Lake: static HTML inside an island that ships no client JS. See Lakes.
  • Server island: HTML fetched from the server after load, showing a placeholder first and shipping no JS. See Server islands.
  • Held region: a renderable chosen on the server that you place like data (<Region of={x} />). See Held regions.

Attributes & schedules

  • wake: the import attribute that schedules an island, meaning when its JS runs. On a live region it sets when the region revalidates, and 'none' makes a lake.
  • fetch: the schedule of a render: 'deferred' hole, meaning when its HTML arrives, as in with { render: 'deferred', fetch: 'visible' }. A hole never takes wake.
  • render: the delivery mode: static (inline HTML, the default), deferred (a server-island hole that is fetched) or live (a hole that revalidates).
  • region: 'raw': marks a held region chosen on the server (passed to region() where the transform cannot see the call).
  • keep: keeps a live island’s node and state across SPA navigation (formerly persist).
  • preset: a named bundle of attributes defined in the plugin config and applied with with { preset: 'name' }.
  • load / idle / visible / interaction / (media): the schedules. On an island (wake) they say when its JS runs, and on a deferred hole (fetch) they say when its HTML arrives. interaction wakes an island on the first pointer, key or focus event and replays the click that woke it; on a hole, it fetches on the first hover or focus. See Timing & nesting.

Mechanics

  • Region: the DOM element (<ogygia-region>) that the runtime manages for each island, lake or server island.
  • Runtime: the ~7.6 KB runtime (~11.7 KB with the SPA router) that boots on a Page and wakes regions on schedule.
  • Portable binding: a marked import whose binding is the island, so you can pass it around like a component. See Client islands.
  • Nearest-boundary rule: nesting is decided by the closest marked parent. See Timing & nesting.
  • Dedupe: the same component with the same strategy produces one client chunk, however many times it is used.

Data & state

  • Remote function: a Kit query, command, form or similar that you can call from inside islands. See Remote functions.
  • Live region: a held region that query.live emits again over time, morphed or kept alive in place. See Held regions.
  • Transportable: a class that can cross an island boundary as a prop because it declares static wire = import.meta.og.wire({ encode, decode }). See Shared state.
  • Codec: the { encode, decode } pair on a transportable class that says how its instances travel.
  • Wire tag: the stable identity (module#Class) under which a transportable is registered on both sides.

Content

  • Collection: a set of content entries defined with content(). See Content collections.
  • Entry: a single item, { id, data, meta, body }, where body is a held region and meta is derived from the source (for example { headings }).
  • Source / loader: where a collection’s entries come from, which is a { refs, get } object (plus optional init / live / groups). markdown(), json() and blocks() build one from a glob, and you can write your own to fetch from a CMS. See Content collections.

PPR & single-flight

  • PPR (partial prerendering): a static shell baked at build time, with dynamic held regions filled in per visitor at request time, using export const prerender = true plus render: 'deferred' holes. See Partial prerendering.
  • Single-flight navigation: on a SPA navigation, the router pulls all of the incoming page’s load holes down in one batch request instead of one fetch per hole. See SPA router.
  • Parcel: the rendered HTML of one hole in a batch response, delivered as a <template data-ogygia-slot>.
  • Out-of-order flush: batched holes stream back in the order they settle, so a fast region lands before a slow one regardless of their order in the source.
  • Single-flight mutation: a command that returns a region sends the re-rendered HTML back in its own response, so the mounted region repaints without a follow-up fetch.