v1.3.1 (2026-09-02)
Using the luatypechecks, luaserialization, and luamath libraries for type validation, model serialization, and mathematical primitives.
- models:
- 2D plot:
- distance limit:
- fixing the class name from
PointtoDistanceLimit;
- fixing the class name from
- 2D plot, 2D oscillogram, and distance limit:
- exposing a class name and a stringified representation via the luaserialization library;
- generating a JSON Schema via the
schema()static method; - constructing an instance from serializable options via the
from_options()static method;
- global operations:
- supporting both sequences and objects with the
__indexmetamethod in theiteratorspackage; - calculating the vertical difference between points represented as
Vector2Dobjects;
- supporting both sequences and objects with the
- refactoring:
- replacing the internal
typespackage with the luatypechecks library; - replacing the internal
mathspackage and the CPML library with the luamath library; - adding the luaserialization library;
- replacing the internal
- misc.:
- adding GitHub Actions workflows for tests, linting, and documentation deployment;
- supporting Lua 5.1, 5.2, 5.3, 5.4, 5.5, and LuaJIT;
- improving the generated documentation.
v1.3 (2021-03-08)
Selecting a value by a distance between two 2D plots/oscillograms in the specific index.
- global operations:
- selecting a value by a distance between two 2D plots/oscillograms in the specific index:
- selecting by the specified sequential distance ranges;
- selecting a value by a distance between two 2D plots/oscillograms in the specific index:
- refactoring:
- using the cpml library:
- using the
cpml.utils.clamp()function; - using the
cpml.utils.lerp()function;
- using the
- using the cpml library:
- examples:
- colorizing the plots in the examples;
- specifying the versions of the example dependencies.
v1.2.1 (2021-02-13)
Describing releases of the library.
- describing for releases:
- features;
- change log.
v1.2 (2021-01-10)
Calculating a difference (a distance) between two 2D plots/oscillograms in the same index.
- models:
- 2D plot:
- operations:
- iterating over values:
- via the
__ipairsmetamethod (for Lua 5.2):- using the
__indexmetamethod for accessing by index;
- using the
- via the
__indexmetamethod (for Lua 5.3+):- support of fractional indexes;
- via the
- iterating over values:
- operations:
- 2D plot:
- global operations:
- calculating a difference (a distance) between two 2D plots/oscillograms in the same index:
- returning a difference (a distance) by modulo (optionally);
- calculating a difference (a distance) between two 2D plots/oscillograms in the same index:
- refactoring:
- adding the
maths.lerp()function; - adding the
Iterablemixin.
- adding the
- models:
- 2D plot:
- storing:
- values of a displayed function;
- limits for these values;
- default value;
- operations:
- initializing:
- filling a specified count of values by a specified default value;
- iterating over values:
- via the
__ipairsmetamethod (for Lua 5.2); - via the
__indexmetamethod (for Lua 5.3+):- support of fractional indexes;
- via the
- adding a new value:
- specific;
- with a shift from the last value:
- with a specific shift;
- with a random shift;
- using a specified default value as the last value if no values;
- clamping the added value to specified limits;
- removing the first value:
- returning the removed value:
- returning a specified default value if no values;
- returning the removed value:
- initializing:
- storing:
- 2D oscillogram:
- extending the 2D plot model;
- kinds:
- custom (adding a specific new value);
- linear (adding a new value with a specific shift from the last value);
- random (adding a new value with a random shift from the last value);
- operations:
- updating:
- first step: adding a new value;
- second step: removing the first value;
- updating:
- 2D plot/oscillogram iterator:
- storing:
- 2D plot/oscillogram;
- transformer for iterated values;
- iterating over values of 2D plot/oscillogram:
- via the
__ipairsmetamethod (for Lua 5.2); - via the
__indexmetamethod (for Lua 5.3+);
- via the
- applying transformations to iterated values via a specified transformer;
- storing:
- factory of a 2D plot/oscillogram iterator:
- storing:
- transformer for iterated values;
- generating a 2D plot/oscillogram iterator for a specific 2D plot/oscillogram;
- storing:
- 2D plot:
- global operations:
- calculating a difference (a distance) between two 2D plots/oscillograms in the same index:
- returning a difference (a distance) by modulo (optionally).
- calculating a difference (a distance) between two 2D plots/oscillograms in the same index:
v1.1 (2021-01-03)
Adding models of a 2D oscillogram and a 2D plot/oscillogram iterator.
- models:
- 2D plot:
- storing:
- default value;
- operations:
- initializing:
- filling a specified count of values by a specified default value;
- adding a new value:
- with a shift from the last value:
- using a specified default value as the last value if no values;
- with a shift from the last value:
- removing the first value:
- returning the removed value:
- returning a specified default value if no values;
- returning the removed value:
- initializing:
- storing:
- 2D oscillogram:
- extending the 2D plot model;
- kinds:
- custom (adding a specific new value);
- linear (adding a new value with a specific shift from the last value);
- random (adding a new value with a random shift from the last value);
- operations:
- updating:
- first step: adding a new value;
- second step: removing the first value;
- updating:
- 2D plot/oscillogram iterator:
- storing:
- 2D plot/oscillogram;
- transformer for iterated values;
- iterating over values of 2D plot/oscillogram:
- via the
__ipairsmetamethod (for Lua 5.2); - via the
__indexmetamethod (for Lua 5.3+);
- via the
- applying transformations to iterated values via a specified transformer;
- storing:
- factory of a 2D plot/oscillogram iterator:
- storing:
- transformer for iterated values;
- generating a 2D plot/oscillogram iterator for a specific 2D plot/oscillogram;
- storing:
- 2D plot:
- refactoring:
- adding the
mathsmodule:- adding the
maths.clamp()function; - adding the
maths.random_in_range()function;
- adding the
- adding the
iterators.inext()function.
- adding the
- models:
- 2D plot:
- storing:
- values of a displayed function;
- limits for these values;
- default value;
- operations:
- initializing:
- filling a specified count of values by a specified default value;
- iterating over values:
- via the
__ipairsmetamethod (for Lua 5.2); - via the
__indexmetamethod (for Lua 5.3+);
- via the
- adding a new value:
- specific;
- with a shift from the last value:
- with a specific shift;
- with a random shift;
- using a specified default value as the last value if no values;
- clamping the added value to specified limits;
- removing the first value:
- returning the removed value:
- returning a specified default value if no values;
- returning the removed value:
- initializing:
- storing:
- 2D oscillogram:
- extending the 2D plot model;
- kinds:
- custom (adding a specific new value);
- linear (adding a new value with a specific shift from the last value);
- random (adding a new value with a random shift from the last value);
- operations:
- updating:
- first step: adding a new value;
- second step: removing the first value;
- updating:
- 2D plot/oscillogram iterator:
- storing:
- 2D plot/oscillogram;
- transformer for iterated values;
- iterating over values of 2D plot/oscillogram:
- via the
__ipairsmetamethod (for Lua 5.2); - via the
__indexmetamethod (for Lua 5.3+);
- via the
- applying transformations to iterated values via a specified transformer;
- storing:
- factory of a 2D plot/oscillogram iterator:
- storing:
- transformer for iterated values;
- generating a 2D plot/oscillogram iterator for a specific 2D plot/oscillogram.
- storing:
- 2D plot:
v1.0 (2020-12-23)
Major version.
- models:
- 2D plot:
- storing:
- values of a displayed function;
- limits for these values;
- operations:
- initializing:
- filling a specified count of values by a bottom limit;
- iterating over values:
- via the
__ipairsmetamethod (for Lua 5.2); - via the
__indexmetamethod (for Lua 5.3+);
- via the
- adding a new value:
- specific;
- with a shift from the last value:
- with a specific shift;
- with a random shift;
- using a bottom limit as the last value if no values;
- clamping the added value to specified limits;
- removing the first value:
- returning the removed value:
- returning a bottom limit if no values.
- returning the removed value:
- initializing:
- storing:
- 2D plot: