- **Help Agent** — A new agent that answers questions about Talemate itself — settings, agents, clients, the world editor — grounded in the bundled documentation, and able to change agent and application settings on request. - **Timeline Rollback** — Scrub a slider across a scene's automatic version history, preview the message history at any revision, then roll the scene back in place or fork the revision into a new save. - **Pi Bridge Client** — A new client type that drives generations through the pi coding agent's headless RPC mode, making any model pi can reach usable in Talemate. - **Application Settings** — Settings move out of their modal into an always-available Settings tab, with a single topic-grouped sidebar, a settings search, all API keys on one page, and unsaved-change tracking. - **Scene Library** — The home screen is rebuilt as a full-page landing view with a file-tree scene library, cover thumbnails and per-save metadata, scene and save deletion, and a drag-and-drop import dropzone. - **Fast Character Creation** — Generate a character in a single request instead of one prompt per aspect, with a Consolidate multi-select, a token budget, and a Fill in misses pass. Off by default. - **Scene Backdrop** — Set any scene illustration as a backdrop filling the scene view behind the messages, saved with the scene, with configurable text legibility and an Immersive quick-toggle. - **Scene Visual Manager** — World Editor → Scene gains a Visuals tab to browse, upload, generate and delete the scene's backgrounds and illustrations, and set the cover image and backdrop. - **Visual Prompt Finalization** — Post-processing actions — match and replace, or a free-form AI instruction — rewrite image prompts right before they reach the image backend, with per-scene and per-character overrides and reusable template sets. - fixes #271 - fixes #275 Plus 25 improvements and 39 bug fixes — see [CHANGELOG.md](https://github.com/vegu-ai/talemate/blob/prep-0.39.0/CHANGELOG.md#0390) for the full list.
3.9 KiB
Utility Nodes
Miscellaneous helpers: counters, string diffs, list extraction from text, ISO date durations and the Module Style node that sets a module's canvas appearance.
5 nodes.
| Node | Registry path |
|---|---|
| Counter | util/Counter |
| Diff | util/Diff |
| Extract List | util/ExtractList |
| ISO Date Duration | util/IsoDateDuration |
| Module Style | util/ModuleStyle |
Counter
util/Counter
Counter node that increments a numeric value inside a dict and returns the new value.
Inputs
| Input | Type | Description |
|---|---|---|
state |
any |
The graph state |
dict |
dict |
The dict containing the value to increment |
key |
str |
(optional) The key to the value to increment |
reset |
bool |
(optional) If true, the value will be reset to 0 |
Outputs
| Output | Type | Description |
|---|---|---|
state |
any |
The state input, passed through |
value |
any |
The new value |
dict |
dict |
The dict with the new value |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
increment |
number |
1 |
The amount to increment the value by. Min: 1. |
key |
str |
"counter" |
The key to the value to increment |
reset |
bool |
False |
If true, the value will be reset to 0 |
Diff
util/Diff
Diff node that returns the diff between two strings.
Inputs
| Input | Type | Description |
|---|---|---|
a |
str |
The original string |
b |
str |
The changed string |
Outputs
| Output | Type | Description |
|---|---|---|
diff_plain |
str |
The diff as plain text |
diff_html |
str |
The diff as inline HTML markup |
a |
str |
The a input, passed through |
b |
str |
The b input, passed through |
Extract List
util/ExtractList
Extracts a list from a string.
Parses a numbered ("1.") or bulleted ("*" / "-") list out of text, such as an LLM response, returning the items as a list of strings.
Inputs
| Input | Type | Description |
|---|---|---|
string |
str |
The text to extract the list from |
Outputs
| Output | Type | Description |
|---|---|---|
string |
str |
The string input, passed through |
list |
list |
The extracted list items |
is_empty |
bool |
True if no list items were found |
ISO Date Duration
util/IsoDateDuration
IsoDateDuration node that allows constructing ISO 8601 duration strings.
Combines an amount and a unit into an ISO 8601 duration (e.g., 3 + "day" -> "P3D").
Inputs
| Input | Type | Description |
|---|---|---|
unit |
str |
The unit of the duration (year, month, week, day, hour, minute, second) |
amount |
number |
The amount of the duration |
Outputs
| Output | Type | Description |
|---|---|---|
unit |
str |
The unit input, passed through |
amount |
number |
The amount input, passed through |
duration |
str |
The ISO 8601 duration string |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
unit |
str |
"day" |
The unit of the duration. Choices: year, month, week, day, hour, minute, second. |
amount |
number |
1 |
The amount of the duration. Min: 1. |
Module Style
util/ModuleStyle
An isolated node that defines the visual style of the graph it is placed in, when that graph is used as a node module inside another graph.
Properties
| Property | Type | Default | Description |
|---|---|---|---|
title_color |
color |
unset |
Title Color |
node_color |
color |
unset |
Node Color |
auto_title |
str |
unset |
Auto Title |
icon |
str |
unset |
Icon (Material Icon Codepoint) |