<commit_before>#include "common.h"
#include "SubTerra.h"
#include "Polar.h"
#include "JobManager.h"
#include "EventManager.h"
#include "AssetManager.h"
#include "InputManager.h"
#include "Integrator.h"
#include "GL32Renderer.h"
#include "World.h"
#include "HumanPlayerController.h"

void SubTerra::Run(const std::vector<std::string> &args) {
	Polar engine;
	engine.AddSystem<JobManager>();
	engine.AddSystem<EventManager>();
	engine.AddSystem<InputManager>();
	engine.AddSystem<AssetManager>();
	engine.AddSystem<Integrator>();
	engine.AddSystem<GL32Renderer>();
	engine.AddSystem<World>(16, 16, 16);
	engine.AddSystem<HumanPlayerController>();

	auto inputM = engine.systems.Get<InputManager>().lock();
	auto dtorEscape = inputM->On(Key::Escape, [&engine] (Key) {
		engine.Quit();
		//engine.RemoveSystem<World>();
	});<commit_msg>Added commented ideal code for engine states<commit_after>#include "common.h"
#include "SubTerra.h"
#include "Polar.h"
#include "JobManager.h"
#include "EventManager.h"
#include "AssetManager.h"
#include "InputManager.h"
#include "Integrator.h"
#include "GL32Renderer.h"
#include "World.h"
#include "HumanPlayerController.h"

void SubTerra::Run(const std::vector<std::string> &args) {
	Polar engine;
	engine.AddSystem<JobManager>();
	engine.AddSystem<EventManager>();
	engine.AddSystem<InputManager>();
	engine.AddSystem<AssetManager>();
	engine.AddSystem<Integrator>();
	engine.AddSystem<GL32Renderer>();
	engine.AddSystem<World>(16, 16, 16);
	engine.AddSystem<HumanPlayerController>();

	auto inputM = engine.systems.Get<InputManager>().lock();
	auto dtorEscape = inputM->On(Key::Escape, [&engine] (Key) {
		engine.Quit();
	});

	/*engine.AddState("root", [] (EngineState &st) {
		st.AddSystem<JobManager>();
		st.AddSystem<EventManager>();
		st.AddSystem<InputManager>();
		st.AddSystem<AssetManager>();
		st.AddSystem<Integrator>();
		st.AddSystem<GL32Renderer>();

		auto inputM = st.GetSystem<InputManager>().lock();
		st.dtors.emplace_back(inputM->On(Key::Space), [] (Key) { st.RunState("world"); });
	});

	engine.AddState("world", [] (EngineState &st) {
		st.AddSystem<World>(16, 16, 16);
		st.AddSystem<HumanPlayerController>();

		auto inputM = st.GetSystem<InputManager>().lock();
		st.dtors.emplace_back(inputM->On(Key::Escape), [] (Key) { st.QuitAll(); });
	});

	engine.RunState("root");*/
{'fraction_non_alphanumeric': 0.19006849315068494, 'fraction_numerical': 0.011986301369863013, 'mean_word_length': 6.8686868686868685, 'pattern_counts': {'":': 0, '<': 34, '<?xml version=': 0, '>': 38, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5907126', 'n_tokens_mistral': 858, 'n_tokens_neox': 808, 'n_words': 130}