Commit Graph
100 Commits
Author SHA1 Message Date
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
ed 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
ed a9ddd7668f VEFontCache: Various changes to field types, increased shape cache default capacity 2024-06-29 22:34:37 -04:00
ed a666300f41 VEFontCache: Remove draw_cached_glyph, formatting
No longer needed as draw_text_batched handles it
2024-06-29 20:33:07 -04:00
ed 93e43c2b19 Updates for getting get_font_vertical_metrics, + other cleanup 2024-06-28 17:39:28 -04:00
ed cdf0f3e3bd typo 2024-06-28 07:51:47 -04:00
ed a28303bad6 Added manual simd but odins already doing it perfectly (+ ohter attempted optimizations) 2024-06-28 07:31:51 -04:00
ed b8665d0bc2 wrining draw_text_batch
Gotta juice it out
2024-06-28 06:26:21 -04:00
ed bb52139e17 2 ms improvement from lru optimizations 2024-06-28 06:08:03 -04:00
ed ce2a837bb6 got rid fo the shape draw_list caching code 2024-06-28 06:04:04 -04:00
ed 3b5cc3cc80 Some minor performance improvments, draw_list caching for shapes failed. 2024-06-28 05:29:53 -04:00
ed 12741a228d mostly formatting/name changes and other misc stuff 2024-06-28 03:27:25 -04:00
ed 43415446b0 VEFontCache: look into to trying to cache the draw_list for a shape
plus other misc changes
2024-06-28 03:26:55 -04:00
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 136fef65c4 bad notes updates 2024-06-23 02:45:19 -04:00
ed ea384b10af brainstorming notes on imgui ui_graph_build_end processing passes 2024-06-21 16:33:34 -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 f9820457d1 notes 2024-06-20 14:40:02 -04:00
ed 489faf5515 Misc changes (refactors, notes) 2024-06-20 14:39:50 -04:00
ed 03500acb9a notes updates 2024-06-20 14:38:32 -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
ed 3b395f3356 Ignore thirdparty and toolchain directories & updates to build scripts 2024-06-17 17:24:59 -04:00
ed 425a642fd3 Started to setup input events based off sokol
Will replace the input polling done with raylib.

Going to also provide the more robust input tracking for consuming events with the UI interactions
2024-06-17 03:35:53 -04:00
ed 05ffaf432d VEFontCache: got rid of elf hash using a "label" hash borrowed from the rad debugger
There was an issue with uniqueness so I just decided to scrap it (no need to keep parity with the original there...)
2024-06-17 01:24:03 -04:00