Noding / WikiTry it yourself ↗
GETTING STARTED

Your first workflow.
One line of code.

Describe the nodes you want. Noding connects them as you type, ready to insert into Figma Weave.

1

Write

pmt{A red sneaker} creates a Prompt. Add >img-nano to connect an image model.

2

Preview

See nodes and wires appear as you type. Check errors and warnings before inserting.

3

Insert

In the extension, press Shift + Enter. Or copy the workflow and paste it onto the Weave canvas.

Try it yourself →

Where the speed comes from

Build the structure in one place: no separate node placement or wire dragging for the pattern you describe. Change a model name to compare models. Add *3 to repeat a connected pair. Save a pattern once and insert it later with a shortcut.

What you wantWhat you typeWhat appears
One image modelpmt{A cap}>img-nano2 nodes, 1 wire
Compare two modelspmt{A cap}>(img-nano+img-nano-pro)3 nodes, 2 wires
Repeat the whole pair(pmt{A cap}>img-nano)*36 nodes, 3 wires

Noding speeds up workflow setup. Image and video generation still happen in Weave; compiling or inserting does not run a model.

Learn +: separate nodes, shared prompts and branches →

Next: work at keyboard speed →
LIVE PLAYGROUND

Try it yourself.

Write the code. See the nodes, connections and properties update beside it.

Updates as you type

Loading compiler…

Continue in editor ↗

ResultClick a port or property to inspect

Edit settings in the expression. Click a node’s port or property for its syntax and available choices. This builds a preview; it does not run models.

THE FAST PATH

Stay on the keyboard.

Use keyboard shortcuts without memorizing every model name or setting. Start typing and let suggestions finish the structure.

  1. Find a component

    Type nano or a model name. Use and to choose, then Tab or Enter to accept.

  2. Fill the fields

    Tab accepts a faded suggestion and moves between editable fields. Try completing group: rename the selected title, then Tab into the group.

  3. Choose settings and connections

    Inside [], autocomplete shows supported settings. Type an input name to find compatible connections from nodes you named with #labels.

  4. Insert the result

    From the extension editor, Shift + Enter inserts into the active Weave canvas. Review the result there before running models.

KeyAction
Ctrl + SpaceOpen autocomplete; the Suggestions button does the same.
/ Choose a suggestion.
TabAccept a suggestion or move to the next editable field.
EnterAccept an open suggestion.
EscDismiss suggestions.
Shift + EnterInsert from the extension editor when the expression is valid.
Next: copy a working recipe →
WORKFLOW RECIPES

Start with a working pattern.

Copy an expression or open it in the compiler to edit it. Each recipe is checked against the bundled compiler; review any warnings and the result in Weave.

REUSE YOUR WORK

Save once. Insert by name.

Keep recurring workflows and prompt text in the Workflows and Prompts tabs. Both libraries are always available; no imports are needed.

Save a workflow

  1. Build an expression in the Compiler tab and choose Save workflow.
  2. Name it Product shot and set its shortcut to product-shot.
  3. Save it. Return to the compiler and type its shortcut.
/product-shot

Type /product, choose your saved workflow, and press Tab. The workflow shortcut becomes editable workflow code.

Reuse a prompt

  1. In Prompts, choose New prompt.
  2. Use shortcut studio and content Soft studio light, neutral background, product photography.
  3. Save, then use it inside a prompt:
pmt{@studio}>img-nano

Type @studio inside pmt{} and accept with Tab. With Keep prompt mentions on, the editor keeps @studio and resolves its saved text for preview, copy, download and canvas insertion. Turn it off to paste the full text when accepting a suggestion. The toggle does not rewrite existing code. These examples require the items you just saved; they are not built-in shortcuts.

Existing import workflow; and import prompt; lines remain accepted for compatibility.

Keep code readable

Use Format code or Alt + Shift + F to indent groups and branches. Prompt text and setting values are preserved exactly. Purple mentions, blue node labels and warm connection symbols make the expression easier to scan.

Two uses of @

Inside prompt text, @studio finds saved text automatically. Inside an input setting, [prompt=@brief.prompt] connects to a node named #brief.

Saved workflow snippets and pasted prompt text are copies. Kept prompt mentions use the latest saved text each time the workflow is generated; deleting a referenced prompt produces an error. Use \@name inside prompt text for a literal mention. Libraries and the mention preference are saved locally; the website and extension have separate storage.

Next: the syntax reference →
SYNTAX REFERENCE

Small symbols. Clear connections.

This is inspired by Emmet. Here, > creates a wire; use group{Title}(...) to put nodes inside a group.

Understand +: add nodes and branches.

+ means “also add this.” > means “connect to this.” Use them together to build several branches in one expression.

The parentheses matter. In pmt>(img-nano+img-nano-pro), the prompt feeds both models. In pmt>img-nano+img-nano-pro, only the first model receives the prompt. The second model is separate because > binds more tightly than +.

These examples build the graph. Adding branches does not start simultaneous model runs; you run the workflow from Weave.

All syntax at a glance

SyntaxMeaningExample

Give shared nodes a name

#brief defines a node label. @brief refers to that same node without creating another copy. @brief.prompt selects its output explicitly.

pmt#brief{A red sneaker}
+ img-nano[prompt=@brief.prompt]
+ img-nano-pro[prompt=@brief.prompt]

> binds more tightly than +: write pmt>(img-nano+img-nano-pro) to send one prompt to both models. Use unique labels; repeating a labeled node produces an error.

COMPONENT DIRECTORY

Find a component. Get its code.

Search by component name or shortcut. The code shown below each name is what you type in Noding. Expand a result for its ports and settings.

Loading catalogue…

SETUP & INSERTION

Beside your Weave canvas.

The Chrome extension keeps the compiler in a side panel while you work in Weave.

Install the local extension

  1. In the project folder, run npm run build:extension.
  2. Open chrome://extensions in Chrome and enable Developer mode.
  3. Choose Load unpacked and select dist/chrome-extension.
  4. Open a workflow at https://app.weavy.ai/flow/…, then click the Noding extension icon.

Insert your first expression

Start with pmt{A red sneaker}>img-nano. Choose Insert into canvas or press Shift + Enter in the editor. Allow access to Weave when Chrome requests it. Check that a Prompt and an image model appear, joined by one wire.

If insertion does not appear

Check the canvas before retrying to avoid duplicates. Choose Copy workflow, click an empty canvas area, then paste with ⌘V on Mac or Ctrl V on Windows. This copies workflow JSON, whereas the wiki’s Copy expression buttons copy editable code.

Update an installed copy

Rebuild, then click Reload on the extension card in Chrome and reopen the panel. If you installed from a ZIP extracted elsewhere, replace that folder with the new build first.

Use the web compiler

Run npm run serve and open the compiler. The web version supports copying workflow JSON; direct canvas insertion is available in the installed extension.

Need help? Troubleshooting →
TROUBLESHOOTING

When an expression needs attention.

MessageWhat to do
UNKNOWN_COMPONENTCopy a compiler name from the glossary. Component names with spaces need quotes.
AMBIGUOUS_COMPONENTTwo catalogue entries share that name. Use the unique catalogue identifier shown in the glossary.
AMBIGUOUS_PORTSChoose the destination with :image_1 or [image_1=@photo.file], using ports listed for those nodes.
INPUT_OCCUPIEDTwo connections target the same input. Remove one or choose a different existing input.
UNKNOWN_PORT / INCOMPATIBLE_PORTSCheck both port names and types. Extra ports added manually in Weave are not automatically created by the compiler.
INVALID_SETTING / UNKNOWN_SETTINGCheck the setting name, value type and allowed choices. List selection starts at 0.
UNKNOWN_REFERENCE / DUPLICATE_LABELDefine the label with #name exactly once. References use @name.
CYCLEA node feeds back into itself, directly or through other nodes. Remove the loop.
ADAPTER_REQUIRED / TEMPLATE_ONLYThe component is captured, but the requested mapping is not implemented. Create its default template and finish that part in Weave.

Clipboard did not paste?

Make sure the canvas has focus, rather than a text field. If browser clipboard access fails, expand Generated clipboard JSON, select and copy the JSON manually. Download JSON also saves a copy.

SUPPORT & LIMITS

Know what the preview proves.

A valid expression proves the compiler can build the workflow structure. Review the inserted workflow in Weave before running it.

Read the component badges

Adapter available
The compiler supports captured ports and settings for this component. This is not a guarantee of model execution.
Experimental
Some mappings still need live verification. Read the warning before relying on them.
Template only
You can create the default node. Requested connections or settings may need to be finished in Weave.

Repeating named nodes

("Import"#id[title="Import"]*3) creates #id_1, #id_2 and #id_3, each with the same title and properties. Use @id_2.file to connect the second copy. References inside repeated blocks follow their own copy; references to outside nodes stay unchanged. Nested repetition adds another numeric suffix. Names that collide with existing nodes still need to be renamed.

Media and model settings

An Import node is a placeholder: add your image in Weave. Supported settings appear in autocomplete. A captured setting or port does not imply support for every value or additional port you can create manually in Weave.

Catalogue snapshot

The component directory is built from the local captured catalogue, not a live list of every model currently in Weave. Its result count comes from that catalogue.

Local data

Extension drafts and libraries are stored in your Chrome profile. Web libraries live in browser local storage. There is no cloud sync between them. Pasting a workflow puts its content into your Weave workspace.

Browse component support →