Commit Graph

350 Commits

Author SHA1 Message Date
Ed_
44c97eec71 move freetype function to its own file to declutter draw.odin 2025-01-02 18:16:46 -05:00
Ed_
b427f1fbc8 decide_codepoint_region -> atlas_decide_region (codepath simplifcation... 2025-01-02 18:03:32 -05:00
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_
fa881a263a Successfuly hard-segmented the three different situations for enquing glyphs of a shape 2025-01-01 23:07:22 -05:00
Ed_
4adbfaa9fd WIP - VEFontCahe: More progress on optimizing codepaths with SOA 2025-01-01 22:11:41 -05:00
Ed_
dd1752f84b WIP - VeFontcache: Testing performance of using an SOA setup for processing shape's glyphs 2025-01-01 17:01:59 -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_
1fb011f56c hmap_chained: fix for not properly being able to override slots with matching key (that were still occupied) 2024-12-31 02:38:22 -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_
9da86c1f4b Minor adjustment / cleanup (VEFontCache) 2024-12-29 18:26:34 -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_
109d2b0ff1 update vefontcache to latest 2024-11-26 10:42:27 -05:00
Ed_
08fff0f6fa update vefontcache mappings file 2024-10-19 15:31:16 -04:00
Ed_
cfc1a802d5 fix for changes to sokol_gfx.Filter.NONE to NEAREST 2024-09-09 13:26:59 -04:00
Ed_
bb6e1f78d3 Update vefontcache to latest 2024-07-02 16:21:07 -04:00
Ed_
5c3bc243a4 update url for harfbuzz 2024-07-02 13:37:17 -04:00
Ed_
77301c2b28 finish force rename 2024-07-01 16:14:54 -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_
2423d50407 scripts cleanup 2024-06-30 21:53:48 -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_
8ecfd7407e VEFontCache: Adjustments to positioning & text size shape values 2024-06-30 13:36:54 -04:00
Ed_
2698670890 Finally reached parity pre-rendering overhaul 2024-06-29 23:49:12 -04:00
Ed_
72eb3a1b3b readme fix 2024-06-29 22:51:56 -04:00