Commit Graph

9 Commits

Author SHA1 Message Date
af0a39166c Fix assertion logging failure and rendering pipeline validation errors. 2026-05-19 16:46:43 +02:00
8ea6a0bf3e Remove tiling and LRU caching, add circles basic shape to improve overall performances. 2026-05-18 16:58:30 +02:00
dc708de354 Add cache handling for tiles 2026-05-11 16:48:34 +02:00
9789e449c3 Rebuild from scratch with a new strategy using compute shaders and SDF. 2026-05-06 16:27:41 +02:00
7e3da1c424 refactor: eliminate globals, add pen tool + edit mode, frustum culling
Remove all file-scope mutable state so the codebase compiles cleanly
as a single translation unit. State moved into structs owned by
userdata_t:

- group_index_ctx_t replaces g_group_by_id/g_group_by_id_cap
- shape_pool_ctx_t replaces g_shape_pool_dirty/g_shape_data_dirty
  and g_shape_groups/g_shape_groups_count
- panel_log_ctx_t wired through all subsystems explicitly
- pipeline_ctx_t owns render pipeline handles
- overlay_upload_state_t (per-buffer flags) replaces single bool

New features piggybacking on the refactor:

- Pen tool: click-to-place anchors, Catmull-Rom preview, finalize
  into Bezier shapes with control points
- Edit mode: anchor/handle hit testing, dragging, pre-drag undo
  snapshots, dedicated GPU buffers for edit overlays
- Frustum culling: spatial-grid-based viewport cull in draw_shapes
  with linear-scan fallback for oversized viewports
- Log dedup: FNV-1a 64-bit hash to skip duplicate messages
- Buffer shrink: halve draw buffers after 60 frames of low usage
- Shape geometry hashing for instanced-draw vertex-buffer grouping
- Group member_indices arrays with O(n) rebuild
- Log ring expanded 64→256 entries, added log_filter

Debug build: added --profiling-funcs and -sASSERTIONS flags.
2026-05-03 00:38:45 +02:00
81616f8a5d History, spatial grid and optimizations 2026-04-28 19:02:00 +02:00
5881a7dafc Add shapes and basic selective actions 2026-04-27 18:26:02 +02:00
21476a3b95 Makefile working with imgui 2026-04-27 13:41:50 +02:00
Clément Pons
24c9cd2fc7 Add a makefile, change imgui with nuklear and add file dropping and loading 2025-06-23 17:48:17 +02:00