Docs Core
OpFamily
The FNS tab in the OP Create dialog: an operator family whose members are FNS tools placed from the store as one node each, with stubs for projects that travel and in-place updates that keep retained parameters and state. Built with TDFam.
◈ Core
What it is
Open the OP Create dialog and there is an FNS tab beside COMP, TOP, CHOP and the rest. Every entry on it is an FNS tool that reads as one operator: inputs on the left, outputs on the right, its own parameters, placed into the network you are working in like any stock type. Random, SimpleSceneChanger, ProSceneChanger, SwitchTools, MixSequencer, OpSequencer and CamSequencer are the first members.
The installer adds the family with the first of its operators and removes it with the last. A project without FNS operators has no FNS tab, no family registry and no family folder.
The tab is optional. When you tick a family operator in Pick Tools, the selection bar shows Add FNS tab to OP Create. Untick it to keep the operators in your palette only. To turn the tab off later, untick FNS Tab in OP Create on the FNSTools page of the toolkit's parameters, untick the same switch in Pick Tools, or run the Remove Operator Family quick-launch command. The toggle turns it back on too, as long as at least one family operator is installed. Your FNS tools stay installed either way, and the choice sticks: installing another family operator, or setting up a new project like the last one, keeps the tab off until you tick the switch again.
The family is the same component wherever it runs: this package is a TDFam family named FNS, coloured brick red (0.569 0.265 0.188), installed on project start, and its registry promotes itself to /sys the way TDFam designs it.
Where the operators come from
Members are the packages you already know, mirrored from the machine's store into the family's operator folder (FNSTools/FNS/ in your palette folder), one tox per member under its plain name with a manifest beside it. The same folder shows up in TouchDesigner's own Palette as FNSTools > FNS. The FNS updater keeps that folder in step with the store: every install and update pass that leaves the store complete runs the sync, so the FNS tab lists every member the machine holds, and only those.
Because the store only holds the packages your account is entitled to, a Pro-tier member appears on the tab for Pro members and not for Base members, with no extra gate anywhere. A member you never installed is still on the tab once the store holds it, since the store is complete by default (see the updater's Keep the Whole Release in the Store toggle).
A member can also be an operator alternative: create a Noise CHOP with the alternatives shortcut held and Random is offered. Two doors, one tox.
Stubs and updates
Two things a pane package could not do before:
- Stubs. Before a project travels to a machine without the toolkit, stub the FNS operators: each placed member becomes a light placeholder that keeps its wiring, position, retained parameters and retained state. On a machine with the family, replace the stubs and the real operators come back. Both are commands on this package.
- Updates in place. A placed member is frozen at its spawn version. Update Family Operators upgrades every placed member to the newest version in the family folder, applying each member's retained parameters and state.
Which parameters and which state survive a stub or an update is declared per member in its manifest.
The same three actions, plus a resync of the family folder, are quick-launch commands: Stub Family Operators, Replace Family Stubs, Update Family Operators and Sync Family From Store. A fifth, Remove Operator Family, takes the tab away (see above). They act without dialogs and report what they did, and each can be limited to the network you are looking at. The toolkit's own copies of the members are never stubbed or updated this way, by these commands or by the pulses below: those copies belong to the FNS updater.
Credits
Built with TDFam by Lyell Hintz (dotsimulate) and Dan Molnar (Function Store), Apache-2.0. The licence and notice ship inside the package.
Parameters
Family
| Control | Type / default | What it does |
|---|---|---|
Family NameFamily |
textempty | The family name: the tab the operators appear under in the OP Create dialog. |
VersionVersionread-only |
textempty | The version of the family registry. |
InstallInstall |
on / offon | Install the family into the OP Create dialog. |
Install On StartInstallonstart |
on / offon | Install the family every time the project opens. |
ColorColor |
colour0.569 | The family's colour in the OP Create dialog and on its operators. |
IndexIndex |
number9 | Position of the family's tab among the OP Create dialog's tabs. |
Compatible Op FamiliesCompatibletypes |
menu, editableempty | Which operator families the family's operators connect to, for filtering in the dialog. |
Op CompOpcomp |
operatorempty | The COMP holding the family's operators. |
Create Op CompCreateopcomp |
button | Create an empty COMP for the family's operators and point Op Comp at it. |
[ .tox ] Op FolderOpfolder |
folder pathempty | A folder of .tox operators to add to the family. |
Color .tox from FolderColorfileops |
on / offoff | Colour the operators loaded from the folder in the family colour. |
Version Regex MatchNamingconventionread-only |
menu, editableempty | How version numbers are read from .tox file names. |
Ensure ManifestsEnsuremanifests |
button | Give every operator in the family a manifest if it lacks one. |
FamUI COMPFamuicomp |
operatorempty | The COMP that draws the family's UI in the dialog. |
Stubs
| Control | Type / default | What it does |
|---|---|---|
Create Stubs For AllCreatestuball |
button | Create a stub for every operator in the family. |
Replace Stubs For AllReplacestuball |
button | Replace every stub in the project with the current operator. |
Update AllUpdateall |
button | Update every family operator in the project to the current version. |
Target OpTargetop |
operatorempty | Operator to stub or stub to replace |
Create Stub For OpCreatestubop |
button | Create stub for target operator |
Replace Stub For OpReplacestubop |
button | Replace target stub with full operator |
Update OpUpdateop |
button | Update the selected operator to the current version. |
Target CompTargetcomp |
operatorempty | Network container to process |
Create Stubs In CompCreatestubscomp |
button | Stub all operators in target network |
Replace Stubs In CompReplacestubcomp |
button | Regenerate all stubs in target network |
Update Ops In CompUpdatecomp |
button | Update every family operator inside a COMP. |
Target TypeTargettype |
menu, editableempty | The operator type Update Type acts on. |
Update TypeUpdatetype |
button | Update every placed operator of Target Type. |
Callbacks
| Control | Type / default | What it does |
|---|---|---|
Callback DATCallbackdat |
operatorempty | The DAT holding the family's callbacks. |
Create CallbacksCreatecallbacks |
button | Create a callbacks DAT from the template and point Callback DAT at it. |
About
| Control | Type / default | What it does |
|---|---|---|
AboutAbout |
button | Show the about text. |
LicenseLicense |
button | Show the license. |
Dev ModeDevmode |
on / offoff | Development mode, for authoring the family itself. |
SupportTdfamcreators0support |
button | Open the support page of a TDFam creator. |
SupportTdfamcreators1support |
button | Open the support page of a TDFam creator. |