Curve
References an existing curve. Select the source sheet and curve in the inspector. When editing an existing curve, that target curve is excluded from the available inputs to prevent direct self-reference.
Build calculations by connecting source nodes to operators and a destination. This guide reflects the two editor scripts used in Let's Balance.
Output node. Table Module Editor builds a graph of table references and calculations, and requires at least one Output Cell node when applying.Drag a connection from a source node's output port to an operator's input port, then connect the operator's output to the destination. The editors validate connection direction and replace an existing wire when you connect a different source to an occupied input port.
Use the Curve Connector when you want to define a calculated curve from other curves, table cells, or constants. Choose Add Curve for an existing curve, Add Const for a fixed number, Add Table for a table-cell reference, or choose an operation from the operator picker and add it.
References an existing curve. Select the source sheet and curve in the inspector. When editing an existing curve, that target curve is excluded from the available inputs to prevent direct self-reference.
Provides a fixed numeric value. Select the node and edit its value in the inspector.
References a numeric cell from a table. Select the table and cell reference in its node controls.
The single destination for the curve expression. The Apply action requires an incoming connection to Output and a successfully compiled expression.
1.2.*) and connect the curve to input A and the constant to input B.Output.Each operator produces one output that can feed another operator or the final Output node. A and B are input ports, not spreadsheet column letters. For a curve input, the calculation is evaluated using the curve expression; examples below show sample numeric results.
| Operator | Required inputs | Output | Example | When to use it |
|---|---|---|---|---|
+ | A, B | A + B | 100 + 25 → 125 | Add a fixed bonus to production. |
− | A, B | A − B | 100 − 25 → 75 | Subtract expenses from income. Order matters. |
* | A, B | A × B | 100 × 1.2 → 120 | Apply a 20% production boost. |
/ | A, B | A ÷ B | 100 ÷ 4 → 25 | Convert a total into a per-unit value. B must not be zero. |
pow(a,b) | A = base, B = exponent | A raised to power B | 2 ^ 3 → 8 | Model exponential cost or growth. Example: base cost × pow(growth factor, level). |
min(a,b) | A, B | Smaller of A and B | min(80,100) → 80 | Apply a maximum allowance by taking the lower value. |
max(a,b) | A, B | Larger of A and B | max(−5,0) → 0 | Keep a calculated value at or above a floor. |
log10(x) | X | Base-10 logarithm of X | log10(1000) → 3 | Compress large progression values for comparison. X must be positive. |
exp(x) | X | e raised to X | exp(0) → 1 | Build continuous exponential scaling. |
floor(x) | X | Round downward to an integer | floor(3.8) → 3 | Convert a fractional result into whole items or levels. |
ceil(x) | X | Round upward to an integer | ceil(3.2) → 4 | Count whole actions needed to reach a target. |
clamp(x,min,max) | X = value, Min = lower bound, Max = upper bound | Restrict X to the given bounds | clamp(130,0,100) → 100 | Keep a stat or percentage inside an allowed range. |
Σ Series | Value = term expression, Count = number of terms | Sum a sequence defined by the supplied term and count | Value = 10, Count = 3 → sum three terms of 10 = 30 | Use for repeated costs or contributions. Exact series behavior follows the expression evaluator. |
sheet_sum(...) | Choose the source sheet in the node | A sheet-wide summation expression | Values 5, 10, 15 → 30 (illustrative) | Total values from a selected sheet. Select the correct sheet in the node rather than wiring an ordinary numeric input. |
sum(...) | Up to three inputs (A, B, C); at least one must be connected | Add all connected inputs | 10 + 20 + 30 → 60 | Combine several bonuses or contributions. This is not a table-range sum. |
Σ Cumulative | Function = curve/value expression; settings: Start X, Step, Auto Start X | Running accumulation across sampled X values | Input 2, 3, 4 → cumulative 2, 5, 9 (conceptual) | Model accumulated resources or total progression. Step controls sample spacing; Auto Start X uses the first valid sample. |
sheet_sum is configured by selecting a sheet; although its graph node is created with an input row, its expression compiler reads the selected sheet ID. The Σ Cumulative settings are specific to the Curve Connector.Use the Table Module Editor to connect table cells or ranges to operations and write the result to a selected output cell. This editor has its own graph format and an explicit Output Cell requirement.
Read one table cell, such as A1. Select the table and cell reference.
Reference a range, such as A1:A5, for range-aware calculations.
Supply a fixed numeric input, such as 1.2 or 50.
Choose the table and destination cell for a result. At least one Output Cell node must exist when you press Apply.
A1.1.2.* and connect both inputs.B1.Connect Table Cell, Table Range, or Const nodes to operator inputs. Connect the operator result to an Output Cell destination. The operator names below match the editor script; the examples illustrate the intended arithmetic rather than guaranteeing a particular write-back schedule.
| Operator | Required inputs | Output | Example | When to use it |
|---|---|---|---|---|
+ | A, B | A + B | 100 + 25 → 125 | Add a fixed bonus to production. |
− | A, B | A − B | 100 − 25 → 75 | Subtract expenses from income. Order matters. |
* | A, B | A × B | 100 × 1.2 → 120 | Apply a 20% production boost. |
/ | A, B | A ÷ B | 100 ÷ 4 → 25 | Convert a total into a per-unit value. B must not be zero. |
pow(a,b) | A = base, B = exponent | A raised to power B | 2 ^ 3 → 8 | Model exponential cost or growth. Example: base cost × pow(growth factor, level). |
min(a,b) | A, B | Smaller of A and B | min(80,100) → 80 | Apply a maximum allowance by taking the lower value. |
max(a,b) | A, B | Larger of A and B | max(−5,0) → 0 | Keep a calculated value at or above a floor. |
log10(x) | X | Base-10 logarithm of X | log10(1000) → 3 | Compress large progression values for comparison. X must be positive. |
exp(x) | X | e raised to X | exp(0) → 1 | Build continuous exponential scaling. |
floor(x) | X | Round downward to an integer | floor(3.8) → 3 | Convert a fractional result into whole items or levels. |
ceil(x) | X | Round upward to an integer | ceil(3.2) → 4 | Count whole actions needed to reach a target. |
clamp(x,min,max) | X = value, Min = lower bound, Max = upper bound | Restrict X to the given bounds | clamp(130,0,100) → 100 | Keep a stat or percentage inside an allowed range. |
Σ Series | Value = term expression, Count = number of terms | Sum a sequence defined by the supplied term and count | Value = 10, Count = 3 → sum three terms of 10 = 30 | Use for repeated costs or contributions. Exact series behavior follows the expression evaluator. |
sheet_sum(...) | Choose the source sheet in the node | A sheet-wide summation expression | Values 5, 10, 15 → 30 (illustrative) | Total values from a selected sheet. Select the correct sheet in the node rather than wiring an ordinary numeric input. |
Σ Range Sum | Range / Value = a Table Range or numeric value | Total the supplied range or value | A1:A3 = 5, 10, 15 → 30 | Sum a column segment or a selected range. The table graph runner handles this operator. |
Σ Range Sum has one input named Range / Value. Curve Connector sum(...) instead has three possible numeric inputs. Σ Cumulative is not in the Table Editor operator picker.| Goal | Editor | Destination |
|---|---|---|
| Make a curve from existing curves and numbers | Curve Connector | Output |
| Combine table cells or ranges into table calculations | Table Module Editor | Output Cell |
| Calculate cumulative values across a curve | Curve Connector | Σ Cumulative → Output |
Confirm that Output exists and has an incoming wire. Missing inputs or an expression that cannot compile also prevent applying.
Make sure the graph contains at least one Output Cell node. Check the selected destination table and cell.
Verify the selected curve/sheet, table ID, cell or range reference, constant values, and operator input order (especially subtraction and division).
Each input port accepts one wire; attaching a new wire replaces the old one. Use separate operator inputs for separate sources.