878c419a1f
Oversized streamlined
2025-01-04 20:09:59 -05:00
d6e232b3f7
Fixed ui rendering issue with getting vertical metrics unscaled.
2025-01-04 10:13:30 -05:00
8c7b3e2058
misc changes
2025-01-03 13:06:05 -05:00
b066b0de3a
more perf improves for VEFontCache
2025-01-03 01:25:05 -05:00
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
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
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
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
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
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
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
12741a228d
mostly formatting/name changes and other misc stuff
2024-06-28 03:27:25 -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
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
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
ce1d31f0d4
Progress on fleshing out rendering (Getting ui ready to render in "layer batches")
2024-06-23 02:47:13 -04:00
2b83b69745
Converted string cache table to use HMapChained, initial impl for ui_box_traverse_next_layer_based
2024-06-21 16:33:15 -04:00
489faf5515
Misc changes (refactors, notes)
2024-06-20 14:39:50 -04:00
991e7a81c0
Progress on VEFontCache port, only cache_glyph_to_atlas & shape_text_uncached left
2024-06-04 18:44:12 -04:00
1741532d64
Progress on VEFontCache port, working on freetype outline to stbtt shape
2024-06-03 17:43:15 -04:00
9ba718254c
lifted the hash maps and the string cache to the grime package
2024-05-31 20:51:30 -04:00
e84ec719b3
Progress on lifting the 'grime' module to its own package
2024-05-31 19:31:27 -04:00
f415eada0d
Doing some heavy refactors on the container interfaces
...
Trying to set up their use to be more ideomatic to the core containers
2024-05-31 17:58:18 -04:00
3998776f4b
Beginning to lift the "grime" files to their own pacakge
2024-05-31 11:26:52 -04:00
5c2f55148a
zpl_hmap prefix to hmap_zpl, plus some todos to go back to builtin containers
2024-05-26 13:35:08 -04:00
797ab227e9
Gut raylib usage from the codebase.
...
Going to either fully commit to sokol or if it fails, rolling the platform layer myself.
2024-05-25 11:52:23 -04:00
13c3032dba
Initial setup of sokol_gfx to replace the raylib impl for rendering.
...
Next I need to setup sokol_gp
2024-05-24 16:31:22 -04:00
cf81d3f9bd
Renamed str_fmt_alloc to str_fmt, str_fmt to str_fmt_out, allocator convention enforcement in context
...
I'm enforcing aprintf it as the default formatter.
I changed up the context allocator assignment to reflect how I've been intending to allocation in startup & platform events vs tick.
Tick uses the frame slab's by default with transient on temp. Startup & platform events use the transient by default & for temp, with any use of the persistent allocator being explicit.
2024-05-22 17:13:56 -04:00