+ engine.addEntity(configuration());
+
+ // Select elements
+ const canvas = document.getElementById(canvasId);
+ const settings = document.getElementById(settingsId);
+
+ // Add Systems
+ engine.addSystem(new CameraRotator());
+ engine.addSystem(new LissajousPositionUpdater());
+ engine.addSystem(new WebGLRenderer(canvas));
+
+ // IMPROVEMENT NOTE: I believe adjusters can be generalized further.
+ // We could potentially have a factory for this.
+ engine.addSystem(new GlobalAdjuster(settings));
+ engine.addSystem(new CameraAdjuster(settings));
+ engine.addSystem(new FrequencyAdjuster(settings));
+ engine.addSystem(new PhaseAdjuster(settings));
+ engine.addSystem(new AmplitudeAdjuster(settings));