Commit Graph

252 Commits

Author SHA1 Message Date
Ed_
5fbede25cb fix for compile error on table api breaking change 2024-06-27 00:00:26 -04:00
Ed_
d437e95efb misc changes to ve font cache after starting to make the standalone repo 2024-06-27 00:00:07 -04:00
Ed_
c94be49714 making VEFontCache less dependent on grime pkg (getting it ready to be standalone) 2024-06-26 23:37:29 -04:00
Ed_
e6147caf41 small update 2024-06-26 23:28:08 -04:00
Ed_
063cf6b45c license 2024-06-26 23:26:42 -04:00
Ed_
f08b04e901 last cleanup before docs 2024-06-26 22:51:04 -04:00
Ed_
1e7650970b compile fixes 2024-06-26 21:51:33 -04:00
Ed_
fc59f948f5 moved catch_batch_glyph to draw file 2024-06-26 21:40:45 -04:00
Ed_
86d6adc931 Set glyph_padding to 4 (when using 8x8 over_sample we need more padding) 2024-06-26 17:02:15 -04:00
Ed_
e6ccdd90d1 changes to sectr module based on VEFontCache changes 2024-06-26 15:23:44 -04:00
Ed_
470197cb6c Advance_Snap_Smallfont_Size to 0 by default, removed position rounding in shape_text_uncached
Need to eventually make the rounding an option
2024-06-26 15:23:02 -04:00
Ed_
8e8f25ba50 VEFontCache: Lifted the GlyphDrawBuffer member of atlas to the context 2024-06-26 15:15:03 -04:00
Ed_
343d558a94 Clean up of last remaining vestitudes of using my containers in VEFontCache 2024-06-26 13:28:54 -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_
413f544e9c VEFontCache: Codepath simplificiation & optimization 2024-06-26 06:01:06 -04:00
Ed_
6f034534f3 VEFontCache: Should be using odin arrays and maps excluisvely now for the package 2024-06-25 23:53:44 -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_
268ba29ec6 minor pref improvements, started to convert to using odin's arrays (in VEFontCache) (last commit bad) 2024-06-25 19:11:31 -04:00
Ed_
c567d48a4c minor pref improvements, started to convert to using odin's arrays (in VEFontCache) (last commit bad) 2024-06-25 19:11:10 -04:00
Ed_
00587a226b minor pref improvements, started to convert to using odin's arrays 2024-06-25 19:09:53 -04:00
Ed_
6fac2a97ff Swapped LRU and temp_codepoint_seen to use odin's vendor hash map
Starting to get serious about profiling this procedure and optimizing performance.
I also want to make it more ideomatic now...
2024-06-25 17:10:18 -04:00
Ed_
b5f9687927 Various improvements to VEFontCache's font rendering 2024-06-25 14:28:59 -04:00
Ed_
1fe741034d wip : trying to fix the workspace view bounds detection 2024-06-25 02:38:08 -04:00
Ed_
1f4d07727e minor reorganization 2024-06-25 02:37:18 -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_
321bbfd772 Fix for VEFontCache: measure_text_size & shape_text_cached 2024-06-24 23:17:18 -04:00
Ed_
838e37e58d Fixed crash with VEFontCache.can_batch_glyph 2024-06-24 23:16:24 -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
Ed_
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
Ed_
ce1d31f0d4 Progress on fleshing out rendering (Getting ui ready to render in "layer batches") 2024-06-23 02:47:13 -04:00
Ed_
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
Ed_
a560222d5d Fixed a long-standing issue with the chained hashmap (finally) 2024-06-21 00:26:29 -04:00
Ed_
c405c47e6c mem tracker updates 2024-06-20 15:36:47 -04:00
Ed_
489faf5515 Misc changes (refactors, notes) 2024-06-20 14:39:50 -04:00
Ed_
5d6f996d3c Finished fixing input back to prev-sokol feature parity 2024-06-19 18:09:11 -04:00
Ed_
6f4a5e215c prevent hot reload failure from lack of transient backing 2024-06-19 05:51:34 -04:00
Ed_
bcbbf95471 add support for fixed_size option to make_queue 2024-06-19 05:51:13 -04:00
Ed_
10f58b432e truncate log files on init 2024-06-19 05:50:40 -04:00
Ed_
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
Ed_
4b8c4d0c2c Updated render testing str 2024-06-18 17:56:34 -04:00
Ed_
05ecad8f56 sokol gp rectangle demo works! 2024-06-18 17:24:07 -04:00
Ed_
d2d55b210c Setup initial readme for VEFontCache 2024-06-18 11:24:54 -04:00
Ed_
156ddcef97 Removing fontstash and RFont from codebase
Planning to instead just focus on using VEFontCache.
2024-06-18 11:18:33 -04:00
Ed_
d6cd65288f remove input_raylib.odin 2024-06-18 10:22:34 -04:00
Ed_
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