Reference
Glossary
One-line definition for every ogygia term, each linked to the page that goes deep.
The whole vocabulary in one place. If a word in the docs is unfamiliar, it is defined here.
The five words
- Page: a route that ships as server HTML with no Kit client (
csr = false). Only islands hydrate. See How it works. - Island: a component that becomes interactive by getting JS on a schedule. See Client islands.
- Lake: static HTML inside an island that ships zero client JS. See Lakes.
- Server island: HTML fetched from the server after load; placeholder first, no JS. See Server islands.
- Held region: a server-chosen renderable you place like data (
<Region of={x} />). See Held regions.
Attributes & schedules
wake: the import attribute that schedules a region: when an island’s JS runs, or when adeferred/liveregion fetches.'none'makes a lake.render: the delivery mode:static(inline HTML, the default),deferred(a server-island hole, fetched),live(a hole that revalidates).region: 'raw': marks a held, server-chosen region (handed toregion()where the transform can’t see the call).keep: keep a live island’s node + state across SPA navigation (waspersist).preset: a named bundle of attributes defined in plugin config, applied withwith { preset: 'name' }.load/idle/visible/interaction/(media): the schedules.interaction(islands only) wakes on first pointer/key/focus, replaying the click that woke it. On an island they say when JS runs; on adeferred/liveregion, when the HTML fetches. See Timing & nesting.
Mechanics
- Region: the DOM element (
<ogygia-region>) the runtime manages for every 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 any component. See Client islands.
- Nearest-boundary rule: nesting is decided by the closest marked parent. See Timing & nesting.
- Dedupe: the same component + strategy produces one client chunk, however many times it is used.
Data & state
- Remote function: a Kit
query/command/formetc., callable from inside islands. See Remote functions. - Live region: a held region re-emitted over time by
query.live, morphed or kept-alive in place. See Held regions. - Transportable: a class that can cross an island boundary as a prop by declaring
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) a transportable is registered under on both sides.
Content
- Collection: a set of content entries defined with
content(). See Content collections. - Entry: a single item:
{ id, data, meta, body }, wherebodyis a held region andmetais source-derived (e.g.{ headings }). - Source / loader: where a collection’s entries come from: a
{ refs, get }object (plus optionalinit/live/groups).markdown(),json(),blocks()build one from a glob; write your own to fetch a CMS. See Content collections.
PPR & single-flight
- PPR (partial prerendering): a static shell baked at build with dynamic held regions filled per visitor at request time.
export const prerender = true+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 one batch request instead of a fetch per hole. See SPA router.
- Parcel: one hole’s rendered HTML in a batch response, delivered as a
<template data-ogygia-slot>. - Out-of-order flush: batched holes stream back in settle order, so a fast region lands before a slow one regardless of source order.
- Single-flight mutation: a command that returns a region sends the re-rendered HTML back in its own response, so the mounted region repaints with no follow-up fetch.