Limit Theory Engine Notes

Created on 2022-10-31T03:18:22-05:00

Return to the Index

This card can also be read via Gemini.

Launcher uses the usual having an update call which polls individual keyboard commands to trigger actions.

Natural Language Processing model to deal with taping "a/an" prefixes to text.

Code to convert periods of time in to readable text ("for a long time.")

Has its own basic audio synthesis. Delay line, envelope generator, instrument class that ties it all together.

Envelope generator uses some trig functions

double t = (double)d.sampleNum / d.sampleRate;
return Min(1., t * a) * Exp(-r * Max(0., t - s));

Mentions problem with floats and error accumulation.

Can't use mass += blah to incrementally track weight limits. Errors in floating point will accumulate and the incremental updates will very slowly migrate away from reality. Has to re-compute the limits from scratch.

Uses C compiler macros to tape over C++ and do its component system. The macros insert class headers and some boilerplate accessor stuff.