Skip to content

Releases: function-store/FNSTools

v2.11.2 --- hotfixes

Choose a tag to compare

@function-store function-store released this 17 Jul 08:52

FNSTools v3 is out, for TouchDesigner 2025 and newer. It is installed from functionstore.tools and is not published as a GitHub release, so this toolkit's updater will not offer it. Moving a project over: Moving from v2. v2.11.2 stays here for TouchDesigner 2023.


Have noticed some degradation in performance of the toolkit, which comes from OpFind DATs.
Therefore: replace usage of opfind in ResetPLS with usage of findChildren for optimization.

Also fixed placement of IOFilter in OpMenu.

Check previous release notes for more: https://github.com/function-store/FunctionStore_tools/releases/tag/v2.11.0

v2.11.1 --- ResetPLS hotfix

Choose a tag to compare

@function-store function-store released this 16 Jul 13:16

Have noticed some degradation in performance of the toolkit, which comes from OpFind DATs.
Therefore: replace usage of opfind in ResetPLS with usage of findChildren for optimization.

Check previous release notes for more: https://github.com/function-store/FunctionStore_tools/releases/tag/v2.11.0

v2.11.0 - fixes, compatibility, some new features

Choose a tag to compare

@function-store function-store released this 08 Jul 21:47

✨ New

CustomParPromoter

  • GLSL uniform support: promoting a vecN value parameter from a GLSL TOP/MAT's Vectors page now uses the uniform name (vecN name) as the promoted parameter's name and label — you get uColor instead of Vec0value. Shader-style names (uColor, iCounter) keep their casing in the label.
  • Promote All on a GLSL Vectors page promotes one parameter per uniform, named after the uniform, and skips the uniform-name string parameters.

Script Externalizer

  • Smarter file extensions: respects the DAT's language setting, and when that's non-specific it detects content — GLSL shaders (.vert/.frag/.glsl), JSON, YAML, XML and HTML all get their proper extension instead of defaulting to .py.
  • Now also available as a standalone release module (ScriptSyncFile.tox).

MidiMapper / OSC

  • Added Active toggles for MIDI and OSC mapping.

QuickExt

  • New extensions automatically enable Init Extensions On Start on the target COMP.
  • The toolset is now tagged tdn_exclude, so TDN-based externalization (Embody) skips FunctionStore_tools components instead of exporting them with your project.

🐛 Fixes

  • CustomParPromoter: dropping a single member of a parameter group (e.g. just the x of an XYZ) no longer promotes the entire group — only the dropped component is created and bound. Works for all parameter styles.
  • QuickExt: creating an extension no longer breaks TD autocomplete in VS Code. Project typings now extend TD's shipped interface library (from tdi import *) instead of replacing it, with helper stubs namespaced under typings/custom_typings/QuickExt/. (Autocomplete via tdi needs TD 2025.32820+.)
  • QuickExt on macOS: stub files are written to the project folder instead of a stray typings/ folder in the app's working directory.
  • VSCodeTools: opening VS Code no longer auto-writes parameter.py/parameterTypes.py (wrong location on macOS; unnecessary now that typings ship with the project).
  • NavBar: fixed Parent Hierarchy error on newer TD builds (dependable-list indexing changed); works on old and new builds alike.
  • ParRandomizer: fixed an error when triggering parameter reset with no parameter under the cursor.
  • OpMenu: fixed an error and tidied the I/O filter row placement.

v2.10.4

Choose a tag to compare

@function-store function-store released this 07 Nov 17:39

Release Notes: v2.10.4

  • Fixed annoying warning
  • Fixed version number

Release Notes: v2.10.3

🐛 Bug Fixes & Compatibility

  • TD2025 Support: Fixed olib functionality not working properly in TouchDesigner 2025 versions
  • ParentHierarchy: Compatibility fix for improved stability
  • QuickExt: Reverted to explicitly setting parent references to resolve issues

🧹 Maintenance

  • Cleanup: Removed unwanted automatic "logs" folder creation
  • Project Updates: Updated FNS_TDDefault_2023.toe with latest changes

📦 Technical Details

  • Commits: 6 commits since v2.10.2
  • Focus: Bug fixes and TouchDesigner 2025 compatibility improvements

This patch release addresses several compatibility issues and cleans up unwanted behavior, ensuring smoother operation across TouchDesigner versions.

v2.10.3 --- more 2025 compatibility fixes

Choose a tag to compare

@function-store function-store released this 07 Nov 01:00

Release Notes: v2.10.3

🐛 Bug Fixes & Compatibility

  • TD2025 Support: Fixed olib functionality not working properly in TouchDesigner 2025 versions
  • ParentHierarchy: Compatibility fix for improved stability
  • QuickExt: Reverted to explicitly setting parent references to resolve issues

🧹 Maintenance

  • Cleanup: Removed unwanted automatic "logs" folder creation
  • Project Updates: Updated FNS_TDDefault_2023.toe with latest changes

📦 Technical Details

  • Commits: 6 commits since v2.10.2
  • Focus: Bug fixes and TouchDesigner 2025 compatibility improvements

This patch release addresses several compatibility issues and cleans up unwanted behavior, ensuring smoother operation across TouchDesigner versions.

v2.10.2 bugfixes

Choose a tag to compare

@function-store function-store released this 02 Nov 05:57

New Features

  • Custom Parameter Promotion additions
    • Added hotstrings (#@! for bind, #@~ for ref)
    • Added special case for promoting index parameters of switch-like operators: the range of the slider will automatically be the number of inputs to the switch
      • improved ParGroupUnit/Pulse handling

Compatibility

  • TD2025 Compatibility: Fixed critical issue with external table for toolbar in TD2025.31150, addressed parameter object comparison inconsistencies
    • IMPORTANT: due to a bug in 2025.31150 some other issues might remain, hope they fix it soon!
  • POPs family color shows up in ColorUI properly by default
  • Mac Compatibility: Updated AltSelect to use alt key, changed navbar nugget modifier for Mac to alt as well
  • Other minor fixes and tweaks

v2.10.1 minor update

Choose a tag to compare

@function-store function-store released this 03 Jul 01:30

New Features:

  • Added POP support to ColorUI
  • ParRandomizer: in 2025+ versions ui.rolloverParGroup is available for randomizing ParGroups
  • ParRandomizer: Ctrl+RightClick-> reset all params; Ctrl+Shift+RightClick-> set current params as default
  • New special case for CustomParTools Shift/Alt+Drag an index parameter -> maximum will be the number of inputs to the switchOP (presumably) --- This is a precursor for a general support for this special case.

Fixed:

  • Promoting ParGroups now with correct label (via diamond button or otherwise)
  • Promoting ParGroupPulse (like Reset + ResetPulse together) will promote both parameters correctly
  • Fixed ColorUI auto-import from json file

v2.10.0 POPs support

Choose a tag to compare

@function-store function-store released this 08 Jun 19:54

POPs support added to the toolkit

You can still update to this version for TD2023.18800+ projects, as all changes have been made to be backwards compatible --- and I intend to keep it that way as long as I can, or at least until official release of TD2025.

🟣 POPs support added to the following components: 🟣

  • OpTemplates
  • ResetPLS
  • OpMenu IOFilter
  • AltSelect
  • iop lister/select
  • GlobalOutSelect
  • OpStore

Fixed:

  • MidiMapper and OscMapper for POPs version

⚠️ Please let me know if you face any issues or have ideas for improvement here and please give as much detail as possible when doing so!

v2.9.4

Choose a tag to compare

@function-store function-store released this 03 Jun 01:58

This release is largely optimization and fixes, read the previous release notes for latest features!

Important:

- Disabled QuickOp due to weird unsolvable bugs (for now)

Improvements:

  • Reduced ambient cook time for the toolkit (should be around 0.04 ms)
  • Added undo action for CustomParTools

Fixes:

v2.9.3

Choose a tag to compare

@function-store function-store released this 09 May 00:24
0fb8a41

💻New minimum TD version requirement updated to 2023.11880

  • NEW: NavBar mods revamped and more powerful!

    • Hovering over a parent in the pathbar and holding Alt shows available shortcuts (Global, Parent, iop) [buggy on Mac!]
    • Holding Ctrl also shows all parameters and their values (hit Ctrl again to poll values) [works on Mac]
      • This retains the popup window until clicked
    • Clicking on any of the items will copy a reference to that object
      • You can then paste this to any expression or script
    • Right-Clicking on any of the parameters will open the parameter customization window of that param
    • ‼️Middle-Clicking on a parent in the pathbar opens parameters!
    • ‼️‼️Long-Middle-Clicking on a parent in the pathbar opens parent customization!
    • If you don't have a 3 button mouse handy, alt+RightClick equates to middle clicking
  • NEW: QuickParCustom: parameter hover actions to promote/customize parameters

    • alt.x hovered param: Promote to parent (Bind by default, hold shift as well to use Expression instead)
      • If parameter is already promoted this shortcut will open the promoted param's customization
    • alt.\ hovered param: Customize parameter (if it's a Custom Par it will customize its owner comp, otherwise the promoted owner)
    • ctrl.alt.\ hovered param: Toggle between Bind and Expression modes
      ️
  • NEW: ExprHotStrings special parent shortcut

    • If enabled #! will resolve to the closest parent shortcut
      • and #!! will also add a .par after it
    • #!.par.Something -> parent.Project.par.Something (for example)
    • #!!Something -> parent.Project.par.Something (for example)
    • Encouraging even more to use parent shortcuts (which you can easily add by ctrl+shift-clicking on the diamond button
  • FIXED: HotkeyManager unwanted prompts

    • Really hope this is fixed, let me know!
  • Added more Active toggles to main params of the toolkit

  • Other minor fixes and improvements