Composition / foldkit-mixins-builder

The canvas and the page's data

A Query or Surface Block draws from its node's read, which is the application's, not the Builder's. The page's parent reads them, as it must to preview or publish the page, and gives them to the canvas as the Builder's view inputs; the Builder keeps no copy:

ts
EditorSlot.view(model, h, {
  controls: {
    document: BuilderView.inputs({ data: reads.data(model) }),
  },
})

reads is QueryBlock.active(...) (or SurfaceBlock.active(...)), the same active Surface that fetches them. Placed on its own, the drawn Builder takes the same inputs: placed.view(model, h, BuilderView.inputs({ data })). The canvas draws with Renderer.make, so a Block's actions do not run there.