🤖 Summary 2025-03-05>2025-03-15
Between March 5 and 15, Umfeld saw a major architectural shift toward a triangle-based rendering pipeline, laying the groundwork for advanced rendering modes and retained drawing. A central addition was the new SHARED_triangle_collector, which captures all shape geometry as triangles, enabling export to formats like PDF or SVG and facilitating post-processing. Nearly all primitives—points, lines, quads, triangle fans, strips, and complex polygons—are now converted into triangle representations through dedicated helper functions. This unified triangle collection approach supports both fill and stroke rendering and enables intricate transformations while maintaining correct winding orders. At the same time, the rendering strategy system was refined with clearer RENDER_MODE_* and RENDER_MODE enums, better polygon triangulation strategies, and improved texturing behavior. Additionally, the codebase was cleaned up for clarity: function names were standardized, rendering constants refactored, and Subsystems were made more modular, including enhanced initialization and teardown logic. These changes represent a crucial move toward modularity, exportability, and future extensibility in the Umfeld graphics framework.