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
55b80da8e5
Fixed input event buffer issues
...
Queue doesn't properly act as a ring buffer had to roll my own.
I want to make a allocated ring buffer as well...
2024-06-23 13:59:04 -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
a560222d5d
Fixed a long-standing issue with the chained hashmap (finally)
2024-06-21 00:26:29 -04:00
c405c47e6c
mem tracker updates
2024-06-20 15:36:47 -04:00
489faf5515
Misc changes (refactors, notes)
2024-06-20 14:39:50 -04:00
5d6f996d3c
Finished fixing input back to prev-sokol feature parity
2024-06-19 18:09:11 -04:00
59ed4d9dd6
fix hot-reload, starting to setup proper rendering again.
...
* Added hot_reload, measure_text_size to VEFontCache
2024-06-19 02:34:02 -04:00
4b8c4d0c2c
Updated render testing str
2024-06-18 17:56:34 -04:00
05ecad8f56
sokol gp rectangle demo works!
2024-06-18 17:24:07 -04:00
d6cd65288f
remove input_raylib.odin
2024-06-18 10:22:34 -04:00
b698f5166b
Base input pass updated for sokol possibly done (untested)
...
Still need to figure out input event consumption, I don't want to do it with the event ring.
I would like to setup input binding layers and then have the push/pop input contextes with a set of bindings.
If the bindings are detected it should "consume" that binding from further use for the buffered time period.
This will be really important with how heavily model this app will be.I
2024-06-18 01:33:50 -04:00