Reference
Glossary
A one-line definition for each ogygia term, each linked to the page that goes deep.
The full vocabulary in one place. When 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 when it gets 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 that you place like data (
<Region of={x} />). See Held regions.
Attributes & schedules
wake: the import attribute that schedules a region: when the JS of an island 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 (given toregion()where the transform cannot see the call).keep: keep the node + state of a live island 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 the first pointer/key/focus, and replays 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>) 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. Thus 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 + strategy makes 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 emitted again 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, when 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) that 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 (for example{ headings }). - Source / loader: where the entries of a collection 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 load holes of the incoming page down one batch request, not a 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 settle order. Thus a fast region lands before a slow one, whatever the source order.
- Single-flight mutation: a command that returns a region sends the re-rendered HTML back in its own response. Thus the mounted region repaints, with no follow-up fetch.