Commit Graph

113 Commits

Author SHA1 Message Date
Ed_
73ba89e7f9 WIP - VEFontCache: Rendering 3k lines of whitespace ast is 16 ms rn... 2025-01-02 17:49:39 -05:00
Ed_
560b2a125b Adjustments to render codepath on sectr side 2025-01-02 13:00:22 -05:00
Ed_
4adbfaa9fd WIP - VEFontCahe: More progress on optimizing codepaths with SOA 2025-01-01 22:11:41 -05:00
Ed_
5559d62826 Got render_list proper setup for UI_State rendering...
Still need a spacial indexing method to prevent redundant enqueues to the drawlist (esp for text)

I'm in the process of trying to see if I can keep getting vefontcache even more performant... Making it multi-threaded can help but there might be some single-thread per still possible..
2025-01-01 14:13:30 -05:00
Ed_
c7d465d06e Another bugfix for hashmap_chained 2024-12-31 11:26:21 -05:00
Ed_
9015f4ce3c Converted UI_State box caches to use hmap_chained 2024-12-31 02:39:18 -05:00
Ed_
b54d336193 Adjustments to logger 2024-12-31 02:07:30 -05:00
Ed_
ddca5e8668 Finished initial window implementation 2024-12-31 00:17:05 -05:00
Ed_
2a89778c0f May have figured out auto-layout for ordering children (horizontally or vertically)
I'm going to leave the manual compute_layout options for now but their going to be disabled by default.
2024-12-30 23:05:15 -05:00
Ed_
d61bd8f161 more misc changes
It seems applying ceil to cache_glyph_to_atlas.dst_glyph_size does generally improve text clarity...
2024-12-30 19:55:16 -05:00
Ed_
2f2253f12c misc changes
* Decided to not have a state scope (going to be more ganular)
* Fixes to settings_menu (prepping to convert to window after log scope is done)
2024-12-30 19:39:41 -05:00
Ed_
c2476ab854 Progress on window widget, minor refactor for layout directions structs 2024-12-30 19:38:22 -05:00
Ed_
68b712acc6 Fix to ui_box_tranverse_next_depth_first not taking into account a parent limit
For non-root traversal
2024-12-30 19:37:36 -05:00
Ed_
495e14194e Began to setup a UI_Window (generalized window widget) 2024-12-30 15:01:37 -05:00
Ed_
841260849e more reduction of direct mutuable state referencing 2024-12-30 13:26:14 -05:00
Ed_
7ed0010761 move app/ui_theme to ui/widget_theme 2024-12-30 12:50:21 -05:00
Ed_
4b3665ad98 Made logger and state scope files (going to be metric & logging viewer ui for the app. 2024-12-30 12:23:33 -05:00
Ed_
8905105d40 Moved settings menu to its own file, got min_size based on content working (only for the settings menu) 2024-12-30 12:22:58 -05:00
Ed_
57d51fc7b1 Began to reduce direct referencing of mutable state struct 2024-12-30 12:22:26 -05:00
Ed_
7488a6828e Text improvements
* Added clear_atlas_region_caches & clear_shape_cache to VEFontCache (Used on hot-reload by the pototype's font provider)
* Made glyph_draw's over_sample a vec2 for initialization (incase user wants to do some float value multiple of 4x4)
* ADVANCE_SNAP_SMALLFONT_SIZE made a runtime option: Shaper_Context.adv_snap_small_font_threshold
* Large imporvement to text hinting and general rendering of text
2024-12-29 17:30:00 -05:00
Ed_
7eab6f9a7f WIP: attempt to improve text rendering 2024-12-29 10:20:06 -05:00
Ed_
292d1b58b5 finishex exposing cam zoom settings to the wiget menu and the font size canvas scalaar 2024-11-30 04:51:03 -05:00
Ed_
dd2f6e9c71 Finished cam_zoom_mode settings entry, reduced anchor and alignment contraints for ui_layout_children_<> procs 2024-11-30 02:34:11 -05:00
Ed_
7f8a068268 titles for the zoom mode setting menu btns aren't behaving correctly... 2024-11-30 01:04:32 -05:00
Ed_
eba9ec8a30 changed engine_refresh_hz setting to use the InputBox widget 2024-11-29 23:25:24 -05:00
Ed_
533da2cdfb made intial impl for UI_TextInputBox, used it with min and max cam zoom settings ui 2024-11-29 23:17:27 -05:00
Ed_
f6ba5b2638 minor cleanup before generalization 2024-11-29 20:29:26 -05:00
Ed_
898c389bb0 prototype cursor done 2024-11-29 20:11:08 -05:00
Ed_
c62bf2cf07 refinements to input box prototype
Added constraints, visual feedback blink when bad input, enter can confirm setting

Adding proto-text cursor next
2024-11-29 17:46:22 -05:00
Ed_
36678c1127 Fixes for nov 7 breaking changes to sokol_gfx 2024-11-26 10:50:26 -05:00
Ed_
cfc1a802d5 fix for changes to sokol_gfx.Filter.NONE to NEAREST 2024-09-09 13:26:59 -04:00
Ed_
e793392e85 force rename lower 2024-07-01 16:14:33 -04:00
Ed_
d797762702 fix for harfbuzz, remove raylib from update_deps.ps1 2024-07-01 01:24:43 -04:00
Ed_
331046f590 Remove excess content from VEFontCache (keeping it only in its repo) 2024-06-30 21:53:42 -04:00
Ed_
0655ade456 Support for rounded rectangles & borders (not the best implementation...) 2024-06-30 13:37:24 -04:00
Ed_
2698670890 Finally reached parity pre-rendering overhaul 2024-06-29 23:49:12 -04:00
Ed_
597c88c6b7 Misc + made a more controlled digital zoom
Trying to get digital zoom to closer target levels that would match specific even font sizes

Various other changes from iterating on VEFontCache
2024-06-29 22:36:22 -04:00
Ed_
93e43c2b19 Updates for getting get_font_vertical_metrics, + other cleanup 2024-06-28 17:39:28 -04:00
Ed_
12741a228d mostly formatting/name changes and other misc stuff 2024-06-28 03:27:25 -04:00
Ed_
e6ccdd90d1 changes to sectr module based on VEFontCache changes 2024-06-26 15:23:44 -04:00
Ed_
9d0cc125a9 Misc changes
* Made refactor rende procedures to specify dependencies instead of directly grabbing from state singleton
2024-06-26 06:03:00 -04:00
Ed_
1533a14a1b misc changes
* draw_text_string_pos_extent_zoomed can now oversample text futher (if desired)
* render_ui_via_box_tree has a rudimentary render pass layering optimization

Add support for the slab allocator to accept arbitrary alignments (odin's map container needs it)
Messing around with 64-byte alignment as the default for the allocator...
2024-06-25 19:13:41 -04:00
Ed_
1fe741034d wip : trying to fix the workspace view bounds detection 2024-06-25 02:38:08 -04:00
Ed_
894c3fee97 Fix hot-reload 2024-06-24 23:38:53 -04:00
Ed_
08932c8c99 Fixes to test_whitespace_ast 2024-06-24 23:19:18 -04:00
Ed_
6f722026ce Text rendering is now around parity (if not better) than what was done before with raylib
Performance still sucks since the rendering implementation is subpar
2024-06-24 23:19:08 -04:00
Ed_
c93c0ed567 Minor lifting in the render side, getting ready to just hunker down and take notes on whats next
* VEFontCache needs to get fixed up (possibly bring back ELFHash)
  * Problably going to do conversion early to odin's array and map usage
* Need get the quad tree setup for the ui so that I can do fast and efficient traversal for the layer based rendering.
2024-06-24 16:36:22 -04:00
Ed_
0d9623c340 layer text rendering works, ui has issues, there is perf problems
* Added todos for VEFontCache
* Going be remaking the direct box traversal rendering again, I'll keep both layer based and it as a option to switch between
* Need to implement a quad tree for the ui boxes to help with collision test traversal
2024-06-24 11:29:44 -04:00
Ed_
dee8fc7ef9 layer text rendering is working! 2024-06-23 21:32:00 -04:00
Ed_
7d41fcc335 wip : trying to get layered text rendering working 2024-06-23 20:22:36 -04:00