textmode.js / filters / TextmodeFilterStrategy
Interface: TextmodeFilterStrategy<TParams>
Interface for implementing custom filter strategies.
Type Parameters
| Type Parameter | Default type |
|---|---|
TParams | unknown |
Properties
| Property | Modifier | Type | Description |
|---|---|---|---|
id | readonly | string | Unique identifier for this filter |
Methods
createShader()
ts
createShader(context): TextmodeShader;Create the shader program for this filter. Called once when the filter is first used (lazy initialization).
Parameters
| Parameter | Type | Description |
|---|---|---|
context | FilterContext | The filter context containing renderer and dimensions |
Returns
The compiled shader program
Example
ts
createShader: () => shadercreateUniforms()
ts
createUniforms(params, context): Record<string, unknown>;Create uniform values for this filter based on user parameters. Called each time the filter is applied.
Parameters
| Parameter | Type | Description |
|---|---|---|
params | TParams | The parameters passed by the user (can be undefined) |
context | FilterContext | The filter context containing dimensions |
Returns
Record<string, unknown>
An object mapping uniform names to values
Example
ts
createUniforms: (params) => ({ u_amount: params?.amount ?? 1 })