<commit_before>design.md
=========

- [ ] VMDE: draw engine
	- [x] init_engine
	- [x] update
	- [x] engine state related
		- [x] get_frame_count
		- [x] get_fps
	- [x] Shaders
		- [x] Load & Compile shaders
		- [x] Use & Call shaders
		- [x] variables binding functions
	- [x] GDrawable
		- [x] Create drawable object
		- [x] Instanced rendering
		- [x] Draw Call
		- [x] Buffer Objects management
	- [x] Res::Texture texture resources
		- [x] load texture
		- [x] Texture to shader binding
	- [x] Audio: audio support
		- [x] Channel: a logical representation of one audio source
			- [ ] Channel_Mute: outputs no sound
			- [ ] Channel_Noise: outputs white noise
			- [ ] Channel_Triangle
			- [ ] Channel_Sine
			- [x] Channel_Vorbis
		- [ ] stop
		- [x] play_channel
		- [x] play_sound
			- [x] play_sound
			- [x] play_loop
- [ ] ASM76: Scripting and virtual machine
	- [ ] ASM76 VM
		- [x] ASM76 bytecode translator architecture
		- [x] 76-Basic Instruction sets
		- [ ] 76-Float
		- [ ] 76-Vectors
		- [ ] API calls to Game Engine
	- [x] ASM76 Assembler
		- [x] Basic Assembler
		- [x] Basic Deassembler
	- [ ] (UNDEFINED NAME) high-level programming language
- [ ] VMGS: game system
	- [x] main
	- [ ] Control
		- [x] Demo View
		- [x] FPS View (Free explore)
		- [x] God View
		- [ ] Physics binded view
	- [ ] Game Objects
		- [x] Cube (Tiled cube)
		- [ ] Model
		- [x] Terrian
			- [x] Map loader & save
			- [x] Map vertices & data baker
		- [ ] Light source
		- [ ] Entity
		- [x] object helper class
	- [ ] Physics
	- [ ] Effects
	- [ ] Game
		- [x] config.hpp
		- [ ] Game Logic

---

- global.hpp: project-wide header
	- There's a VMGS.hpp because we need to avoid conflicts.
- global.cpp: project-wide global variable table
<commit_msg>Update design.md<commit_after>design.md
=========

- [ ] ASM76: the assembly
	- [ ] spec.md 1.0
	- [ ] VM implementation
	- [ ] assembler
	- [ ] disassembler
- [ ] ???: a high level programming language that compiles to ASM76
	- [ ] spec.md 1.0
- [ ] VMDE: draw engine
	- [x] init_engine
	- [x] update
	- [x] engine state related
		- [x] get_frame_count
		- [x] get_fps
	- [ ] Shaders
		- [x] Load & Compile shaders
		- [x] Use & Call shaders
		- [ ] variables binding functions
	- [x] GDrawable
		- [x] Create drawable object
		- [x] Instanced rendering
		- [x] Draw Call
		- [x] Buffer Objects management
	- [ ] Res::Texture: texture resources
		- [x] load texture
		- [ ] Texture to shader binding
	- [ ] Res::AudioCache: (pre)loads an audio file
		- [ ] load function
	- [x] Audio: audio support
		- [x] Channel: a logical representation of one audio source
			- [x] Channel_Mute: outputs no sound
			- [x] Channel_Noise: outputs white noise
			- [x] Channel_Triangle
			- [x] Channel_Sine
			- [x] Channel_Vorbis
		- [x] stop
		- [x] play_channel
		- [ ] play_music
		- [ ] play_sound
- [ ] VMGS: game system
	- [x] main
	- [ ] Control
		- [x] Demo View
		- [x] FPS View (Free explore)
		- [x] God View
		- [ ] Physics binded view
	- [ ] Game Objects
		- [x] Cube (Tiled cube)
		- [ ] Model
		- [ ] Terrian
		- [ ] Light source
		- [ ] Entity
		- [x] object helper class
	- [ ] Physics
	- [ ] Effects
	- [ ] Game
		- [x] config.hpp
		- [ ] Game Logic

---

- global.hpp: project-wide header
	- There's a VMGS.hpp because we need to avoid conflicts.
- global.cpp: project-wide global variable table

{'fraction_non_alphanumeric': 0.13941018766756033, 'fraction_numerical': 0.0065534703604408695, 'mean_word_length': 2.426530612244898, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '7601674', 'n_tokens_mistral': 1365, 'n_tokens_neox': 1239, 'n_words': 374}