73ba89e7f9
WIP - VEFontCache: Rendering 3k lines of whitespace ast is 16 ms rn...
2025-01-02 17:49:39 -05:00
560b2a125b
Adjustments to render codepath on sectr side
2025-01-02 13:00:22 -05:00
4adbfaa9fd
WIP - VEFontCahe: More progress on optimizing codepaths with SOA
2025-01-01 22:11:41 -05:00
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
c7d465d06e
Another bugfix for hashmap_chained
2024-12-31 11:26:21 -05:00
9015f4ce3c
Converted UI_State box caches to use hmap_chained
2024-12-31 02:39:18 -05:00
b54d336193
Adjustments to logger
2024-12-31 02:07:30 -05:00
ddca5e8668
Finished initial window implementation
2024-12-31 00:17:05 -05:00
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
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
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
c2476ab854
Progress on window widget, minor refactor for layout directions structs
2024-12-30 19:38:22 -05:00
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
495e14194e
Began to setup a UI_Window (generalized window widget)
2024-12-30 15:01:37 -05:00
841260849e
more reduction of direct mutuable state referencing
2024-12-30 13:26:14 -05:00
7ed0010761
move app/ui_theme to ui/widget_theme
2024-12-30 12:50:21 -05:00
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
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
57d51fc7b1
Began to reduce direct referencing of mutable state struct
2024-12-30 12:22:26 -05:00
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
7eab6f9a7f
WIP: attempt to improve text rendering
2024-12-29 10:20:06 -05:00
292d1b58b5
finishex exposing cam zoom settings to the wiget menu and the font size canvas scalaar
2024-11-30 04:51:03 -05:00
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
7f8a068268
titles for the zoom mode setting menu btns aren't behaving correctly...
2024-11-30 01:04:32 -05:00
eba9ec8a30
changed engine_refresh_hz setting to use the InputBox widget
2024-11-29 23:25:24 -05:00
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
f6ba5b2638
minor cleanup before generalization
2024-11-29 20:29:26 -05:00
898c389bb0
prototype cursor done
2024-11-29 20:11:08 -05:00
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
36678c1127
Fixes for nov 7 breaking changes to sokol_gfx
2024-11-26 10:50:26 -05:00
cfc1a802d5
fix for changes to sokol_gfx.Filter.NONE to NEAREST
2024-09-09 13:26:59 -04:00
e793392e85
force rename lower
2024-07-01 16:14:33 -04:00
d797762702
fix for harfbuzz, remove raylib from update_deps.ps1
2024-07-01 01:24:43 -04:00
331046f590
Remove excess content from VEFontCache (keeping it only in its repo)
2024-06-30 21:53:42 -04:00
0655ade456
Support for rounded rectangles & borders (not the best implementation...)
2024-06-30 13:37:24 -04:00
2698670890
Finally reached parity pre-rendering overhaul
2024-06-29 23:49:12 -04:00
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
93e43c2b19
Updates for getting get_font_vertical_metrics, + other cleanup
2024-06-28 17:39:28 -04:00
12741a228d
mostly formatting/name changes and other misc stuff
2024-06-28 03:27:25 -04:00
e6ccdd90d1
changes to sectr module based on VEFontCache changes
2024-06-26 15:23:44 -04:00
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
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
1fe741034d
wip : trying to fix the workspace view bounds detection
2024-06-25 02:38:08 -04:00
894c3fee97
Fix hot-reload
2024-06-24 23:38:53 -04:00
08932c8c99
Fixes to test_whitespace_ast
2024-06-24 23:19:18 -04:00
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
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
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
dee8fc7ef9
layer text rendering is working!
2024-06-23 21:32:00 -04:00
7d41fcc335
wip : trying to get layered text rendering working
2024-06-23 20:22:36 -04:00