Pages
Sources
Docs: Ponder Primer and Panes Web App: Open a Composed Parable, select Pieces, and choose a Page from the unified tree. Home is a real placement Page and remains visible beside the other Pages, including before additional Pages exist. A Page is a major destination in a Composed Parable. It gives people a stable place to read, explore, or complete work, and it is composed entirely of Panes. A Page has React code, a Perception that lists the Panes it renders, Policies, and a Palette. The Perception and Policies are part of the Page and are versioned with it; the Palette is created with the Page and deleted with it. A Page is composition only: it holds no data and no SQL of its own. Anything with data belongs in a Pane. Every Parable has a Home Page. Additional Pages can sit beneath another Page to form clear navigation without turning every small region into a destination. The Pages tree retains Home and the existing Page hierarchy. Direct links keep their stable Page identities. A Pane moves the reader to another Page withpages.open('<handle>') and back with pages.back(), from its generated
module (What a Pane’s code can reach).
Opening a Page adds a browser history entry and records where the reader came
from in the address (pageFrom), so browser Back returns there too, and
pages.current().from lets the opened Page name the way back (“Back to Time
Spend”). Without a recorded origin, pages.back() goes to the parent Page, then
Home. The move keeps the Page’s frame running and animates to the new Page once
it has drawn.
In Ponder’s chat, the Page tabs beside the prompt list every Page that renders
something, in tree order, and follow the address when a Pane or browser Back
moves it. Above the content,
the breadcrumb shows the path to the selected Piece, followed by a separate
description band. The context selectors share the available width and wrap
onto another row when their labels need more room.
Build a Page
1
Name the destination
Use a short label that tells a reader what they will accomplish there.
2
Describe its job
Explain the outcome in one sentence before adding controls or
implementation detail. Adding a Page opens a dialog that asks for its name
and this description, and every Page needs one: a save that leaves a Page
without a description is refused.
3
Declare its Panes
Add each Pane the Page renders to its Perception. The Page’s code may
import only the Panes it declares and the runtime layout modules. Any
other import, such as a chart or control library, is refused at save with
a message that names it; put that content in a Pane.
4
Preview the complete route
Check navigation, empty states, keyboard use, theme, and the supported
viewport sizes. A Page that declares no Pane yet shows an “add a Pane”
placeholder and can still be saved.
5
Review the Patch
A Page that still declares no Pane, or declares a Pane that no longer
exists, is reported as a finding when the change is published.