Limit Theory Engine Notes
Created on 2022-10-31T03:18:22-05:00
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.