Files

279 lines
7.5 KiB
Markdown
Raw Permalink Normal View History

0.39.0 (#274) - **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.
2026-08-29 13:21:22 +03:00
# Number Nodes
Numeric values: conversion, arithmetic, comparison, clamping, averaging and random numbers.
<!-- glossary:generated - everything below this line is generated by `python -m talemate.game.engine.nodes.tools glossary --write` - do not edit -->
_9 nodes._
| Node | Registry path |
| --- | --- |
| [As Number](#as-number) | `data/number/AsNumber` |
| [Average](#average) | `data/number/Average` |
| [Basic Arithmetic](#basic-arithmetic) | `data/number/BasicArithmetic` |
| [Clamp](#clamp) | `data/number/Clamp` |
| [Compare](#compare) | `data/number/Compare` |
| [Make Number](#make-number) | `data/number/Make` |
| [Min Max](#min-max) | `data/number/MinMax` |
| [Random](#random) | `data/number/Random` |
| [Sum](#sum) | `data/number/Sum` |
## As Number
`data/number/AsNumber`
Converts a value to a number
Converts a value to a number, handling both string and numeric inputs.
A value that cannot be converted raises an error.
**Inputs**
| Input | Type | Description |
| --- | --- | --- |
| `value` | `any` | The value to convert to a number |
| `default` | `any` | Fallback value used when ``value`` is unresolved or None |
**Outputs**
| Output | Type | Description |
| --- | --- | --- |
| `value` | `int,float` | The converted number value |
**Properties**
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `number_type` | `str` | `"int"` | Type of number to create. Choices: `int`, `float`. |
## Average
`data/number/Average`
Calculates average of a list of numbers
Calculates one of three types of average (mean, median, or mode)
from a list of numeric values.
**Inputs**
| Input | Type | Description |
| --- | --- | --- |
| `numbers` | `list` | List of numbers to calculate average from |
**Outputs**
| Output | Type | Description |
| --- | --- | --- |
| `result` | `int,float` | The calculated average value (mode yields None when there is no unique mode) |
**Properties**
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `method` | `str` | `"mean"` | Type of average to calculate. Choices: `mean`, `median`, `mode`. |
## Basic Arithmetic
`data/number/BasicArithmetic`
Performs basic arithmetic operations
Performs one of the following operations on two input values: add, subtract,
multiply, divide, power, or modulo.
**Inputs**
| Input | Type | Description |
| --- | --- | --- |
| `a` | `int,float` | First operand (number) |
| `b` | `int,float` | Second operand (number) |
**Outputs**
| Output | Type | Description |
| --- | --- | --- |
| `result` | `int,float` | Result of the arithmetic operation (division or modulo by zero raises an error) |
**Properties**
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `operation` | `str` | `"add"` | Arithmetic operation to perform. Choices: `add`, `subtract`, `multiply`, `divide`, `power`, `modulo`. |
| `a` | `number` | `0` | First operand |
| `b` | `number` | `0` | Second operand |
## Clamp
`data/number/Clamp`
Constrains a number within a specified range
Takes a value and ensures it falls within a specific minimum and maximum range.
If the value is below the minimum, it returns the minimum. If it's above the
maximum, it returns the maximum.
**Inputs**
| Input | Type | Description |
| --- | --- | --- |
| `value` | `int,float` | The number to constrain |
| `min` | `int,float` | Minimum allowed value |
| `max` | `int,float` | Maximum allowed value |
**Outputs**
| Output | Type | Description |
| --- | --- | --- |
| `result` | `int,float` | The value constrained to the specified range |
**Properties**
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `value` | `number` | `0` | The number to constrain |
| `min` | `number` | `0` | Minimum allowed value |
| `max` | `number` | `1` | Maximum allowed value |
## Compare
`data/number/Compare`
Compares two numbers
Performs comparison operations between two numeric values with optional tolerance
for floating point comparisons.
**Inputs**
| Input | Type | Description |
| --- | --- | --- |
| `a` | `int,float` | First value to compare (number) |
| `b` | `int,float` | Second value to compare (number) |
**Outputs**
| Output | Type | Description |
| --- | --- | --- |
| `result` | `bool` | Boolean result of the comparison |
**Properties**
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `operation` | `str` | `"equals"` | Comparison operation to perform. Choices: `equals`, `not_equals`, `greater_than`, `less_than`, `greater_equal`, `less_equal`. |
| `tolerance` | `float` | `0.0001` | Tolerance for floating point comparison |
| `a` | `number` | `0` | First value to compare |
| `b` | `number` | `0` | Second value to compare |
## Make Number
`data/number/Make`
Creates a number with a specified value
Creates either an integer or floating point number with the specified value.
**Outputs**
| Output | Type | Description |
| --- | --- | --- |
| `value` | `any` | The created number value |
**Properties**
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `value` | `number` | `0` | The numeric value to create |
| `number_type` | `str` | `"float"` | Type of number to create. Choices: `int`, `float`. |
## Min Max
`data/number/MinMax`
Finds minimum or maximum in a list of numbers
Takes a list of numbers and finds either the minimum or maximum value,
returning both the value and its index in the list.
**Inputs**
| Input | Type | Description |
| --- | --- | --- |
| `numbers` | `list` | List of numbers to analyze |
**Outputs**
| Output | Type | Description |
| --- | --- | --- |
| `result` | `int,float` | The minimum or maximum value |
| `index` | `int` | The index position of the minimum or maximum value in the list |
**Properties**
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `operation` | `str` | `"min"` | Operation to perform. Choices: `min`, `max`. |
## Random
`data/number/Random`
Generates random numbers
Generates random numbers using various distributions (uniform, integer, normal)
or selects a random item from a list of choices.
**Inputs**
| Input | Type | Description |
| --- | --- | --- |
| `min` | `int,float` | Minimum value for uniform/integer distribution (optional) |
| `max` | `int,float` | Maximum value for uniform/integer distribution (optional) |
| `mean` | `int,float` | Mean value for normal distribution (optional) |
| `std_dev` | `int,float` | Standard deviation for normal distribution (optional) |
| `choices` | `list` | List to select a random item from (optional) |
**Outputs**
| Output | Type | Description |
| --- | --- | --- |
| `result` | `int,float` | The generated random number or selected item |
**Properties**
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `method` | `str` | `"uniform"` | Type of random number to generate. Choices: `uniform`, `integer`, `normal`, `choice`. |
| `min` | `float` | `0.0` | Minimum value for uniform/integer distribution |
| `max` | `float` | `1.0` | Maximum value for uniform/integer distribution |
| `mean` | `float` | `0.0` | Mean value for normal distribution |
| `std_dev` | `float` | `1.0` | Standard deviation for normal distribution |
## Sum
`data/number/Sum`
Sums a list of numbers
Calculates the sum of all values in a list of numbers.
**Inputs**
| Input | Type | Description |
| --- | --- | --- |
| `numbers` | `list` | List of numbers to sum |
**Outputs**
| Output | Type | Description |
| --- | --- | --- |
| `result` | `int,float` | The sum of all numbers in the list |
**Properties**
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `numbers` | `list` | `[]` | List of numbers to sum |