Skip to main content

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 with pages.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.

Keep the hierarchy useful

Use a child Page when the content deserves its own route and title. Use a Pane when it belongs inside the current Page. Use a Package when several related Panes should move and be reviewed together. If a Page appears in the tree but cannot render, keep the current Patch, read the visible preview error, and repair the Page or one of the Panes it declares. Do not delete and recreate it merely to clear an error; that would create a new identity and can break links to the existing Page. While editing, the document drawer’s tabs are Programming (the React source), Perception, Palette, Policies, Plots (the Plots of the Panes it declares, to read; a Page owns none), Panes (the Panes it declares, as one tree, each once with Open), and Performance (how the Page drew for you while you record; see Panes). The drawer starts closed, and then stays as you leave it: moving to another Page or Pane keeps it open or closed and on the same tab, or on the first tab when that Piece has no such tab. Preview failures leave its header and editors available. Drag the drawer’s top border to resize it, and use Auto or the device buttons in the panel footer to size the preview.

Reference

Generated Workspace API reference for this Piece: