Blocks

A block is a reusable arrangement of steps. Where a template is a whole pipeline you install and run, a block is a piece you drop into a template you are already building: trim the dead air, caption it and add sound effects, as one thing you insert once and configure with a few settings.

What happens when you insert one

A block turns into ordinary steps in your template. You see exactly which steps before anything is written, you can read them afterwards, and you can edit or delete any of them like steps you added yourself.

That is the whole model, and it is worth being clear about what follows from it:

  • Nothing new runs. A block only arranges processors that already ship with Puffin Ship. It cannot introduce behaviour that is not already in the product.
  • You can see everything. The insert dialog shows the full expansion, including prompts, before you accept it.
  • It is yours afterwards. The steps are in your template. A later version of the block does not change what you installed.

Configuring one

A block declares its own settings, and they appear as an ordinary form: dropdowns, numbers with limits, colors, toggles, lists. What you choose can change how many steps you get, not just their settings. A block might add a sound-effects step only when you switch that option on, or add one b-roll step per folder you list.

It also declares its inputs: the places where your template's own steps plug in. A block that captions a cut needs to be told which step produced the transcript and which produced the cut. You wire those in the insert dialog from a dropdown of your existing steps.

Finally it declares what it needs: timeline levels (which are added to your template if they are missing) and any service keys, listed up front so you know before inserting whether you will be able to run it.

What a block cannot do

The line is sharp, and it is the same line that makes blocks safe to install from strangers:

A block cannot make a decision that depends on something that does not exist yet.

Everything a block does is worked out when you insert it, from the settings you chose. So a block can say "add captions when this option is on", because you set the option. It cannot say "add a diagram when the speaker mentions pricing", because there is no transcript at that moment.

The practical ceiling is higher than that sounds, because a block can include an AI step and carry the prompt as a setting. "Add a diagram when the speaker mentions pricing" is an instruction to an AI step, and that step does its thinking during the run.

For anything genuinely beyond that, use Request a processor in the feedback menu. It goes to the same queue and gets a real answer: sometimes a block you had not thought of, sometimes a new processor built into the product.

Where they come from

Blocks are shared and reviewed exactly like templates: a person reads one before it is published, and the same rules apply about keys, ownership and withdrawal. See The template library.

Authors: Authoring a block is the reference for writing one.