Skip to main content

Module embed

Module embed 

Source
Expand description

Embedding: another document, grafted in as a block of this one.

The model already has the shape. A block’s pins are its interior’s sheet ports — Pin::rect is the body inside the block’s own view, slot places the same pin on the block-as-child — and a root-level port is a pin owned by BlockId::NULL. So a document’s root scope, re-pointed at a fresh block, arrives with its ports already that block’s pins, in the interior it was drawn in.

A copy, not a reference: nothing records where the block came from, and editing the source afterwards does not touch it. Which is also why the ids are re-minted — the arriving document numbered them, and this one never issued them (docs/log-vs-snapshot.md §5.1).

Structs§

Embed
One embed: the document arriving, the name its block takes, and where in this document it lands.

Functions§

embed
Inventory row “Embed”: a document becomes a block of this one.
root_of 🔒
Everything standing at a document’s root, as copy targets. The closure the copy walks pulls in each block’s subtree and the wires adjacent to what it carries, so this lists only what the root holds directly.