ADded support for 1BPP, 2BPP, and 4BPP encoding. Fixed bug where output file did not open in truncate mode.
Added stringification to RGB and ContextualizedIndex. Updated Pixmap to actually build palette. Updated Distance function for ARGB32 to properly calculate distance. Img2Bin can now output 8BPP images.
Added CSV I/O; added documentation to SixLabors wrapper.
Added forgotten palette generator for default palette. Updated default palette to make better use of color space. Added PalConv Tool to CVAPTool. Fixed issue in reflection to obtain a pixel type's color space.
More work on CVAPTool to prepare for image conversion; writer functionality added to SixLabors wrapper. Added standard palette for CVAP (which was way overdue).
Began working on SixLabors wrapper around Image. Refactored Palette a bit and added new concrete Image classes. Added new Raster interfaces corresponding to Indexed mode.
Added CVAPTool as a separate solution, which uses WFOPT.NET as a dependency.
Fixed some stuff related to fixed size buffers for RenderContext. More work on input management, including pumping stuff forward through the event queue.
Added missing iterators.cs in CVAP.Util. Refactored backend to use a public API. Added memory fill and scramble.
Implemented iterator for TreeSet and associated test.
Added ConcurrentModificationException. Implemented TreeSet.Remove() to use red-black tree. Added stub for enumerator.
Fixed TreeSet.Add() bug that was happening because color flip was indicating that an insertion occurred even though it didn't.
Began work on converting TreeSet to use RBTree; does not pass tests yet but added some infrastructure to help discover why. CVAP.Test now has access to any internal function with CVAP.Util so that we can call AssertStructureValid() on the tree, and added cached link to JSW's RBTree implementation as source material.
Began working on set interface; using BST for TreeMap now, but will eventually use RBTree. Apparently forgot to add Video Test a while back so adding that, too.
Began work on allocators for MemSource management.
Refactored Tilemap facet for Layer implementation because I forgot to put in the pointer to the atlas.
Added standard Tilemaps; updated Memory subsystem some to allow for pulling generic values. Added DirtyableTileMap.
More work on MatchIndex for Palette; began work on standard tilemaps.
Updated video implementation so CVAP.Video.Palette is actually a CVAP.Graphics.Palette. Added some infrastructure to allow palettes to be sliced.
Refactored Layer definition, resumed work on SFML Backend.
More unit testing for vectors. Resumed work on backend; until we get GLSL rendering done, we'll just go ahead and render directly into a pixmap, so added some infrastructure for that.
Added test generators for unit tests, began work on unit tests for Vectors.
Refactored build system to use MSBuild tasks, which should improve IDE performance for the project. Restructured project so code generators are located under the project they reside in, and refactored VideoCore generator. SDK 6.0.4 is now required to build CVAP due to a bug with TaskHostFactory.
Vectors now have swizzle and conversion operators.
Began refactoring Vector generator, produces mostly everything besides the swizzle operator. Also added forgotten Typedefs.cs which is now required to get the code to work.
Added documentation processing to CVAP.CodeGen. Turned off documentation generation for now in CVAP.Util, but documented most of the stuff there.
Additional work on the code generation, including fixing a bug where Method specifiers were not fully emitted. Spent some time refactoring low hanging fruit in the code generators. Documentation pass to reduce warnings in CVAP.Util.
More work on code generators, began porting Geometry generator over to new framework. Can mostly do anything besides delegates and generic classes.
Fleshed out typename rendering for CVAP.CodeGen. Added TokenStream and friends to assist parsing.
Began work on new code generators; added RawTranslationUnit target for temporary stuff but will eventually switch over to using C# generator once it is ready. Also forgot to add Scalar and Traits last time, adding it now.
Refactored vectors again, this time to use traits. Began work on refactoring code generator to something more flexible.
Nearly completely refactored vectors; thinking of moving 4D vectors to another library since they account for nearly 500KB in the binary. Probably has to do with the way that the swizzle operators are implemented. Completely refactored ScalarValue and added BCD8, Int24. Int4 and UInt4 are temporarily gone for now, as is the matrix stuff.
Updated Color model significantly so that colors are not limited to ARGB32. Made some fields that are immutable readonly. Updated bug in Angle generator where the unit was being assigned to itself.
Added ArrayPixelRow to fix CS8151. Glyphs now use PixelRow.
Much more work on RenderContext, including refactoring to use PixelRows to reduce alignment requirements on pixmaps. Added MemorySource.RefTo. Can now query a RenderContext for a pixmap located in Memory.
Added LED font, but have not yet registered it. Some work on TileFont, including the ability to address individual glyphs. Added MutableTileFont. More work on the tutorial.
Font serialization now implemented, but for 1BPP only.
Finally got font autogeneration partially implemented. Fixed improper image for cp437 terminal, will begin populating image data in next revision.
Added 8x16 fonts, fixed some errors in the 8x8 fonts. Added 16x16 font for ASCII.
More work on the book. Began fleshing out bitmap fonts. More work on memory subsystem, including adding DirtyableMemorySource.
Began implementing angles; continued work on matrices, added Memory subsystem.
Began refactoring of vector generator; need to add Scale, Rotation, and Dot back into derived vectors.
Added unit tests, preparing to refactor the generation of Vector.
Added angles; significantly refactored Vectors and added Matrices and Angles (still need to write generator for this).
Added Code Generation to CVAP core to produce geometry and vector types. Added BoundedArea and friends. More work on events, including adding an explicit EventQueue class.
Moved all .NET code to its own subdirectory, and added Examples. Began working on input management code. Added USB device classification so that we can tell when certain joysticks should be treated as special devices.
Added CVAP.Util utility library; began work on tutorial book.
Began work on master specification; also added audio and added framework for port I/O. API remains unstable.
Refactored RenderContext some in preparation for implementation of Backend, which has also been worked on. Atlases and Tilemaps should now return references, simplifying the code to access them.
Initial Import