ed
73bfdb63ea
misc changes
...
mostly added kt1l from watl exercise
2025-08-07 10:53:35 -04:00
ed
3769413a50
messing around with testing using keyword in proc args (with new debug support)
2025-07-19 00:07:36 -04:00
ed
fe8e84f9bd
Selected primary names, reduction of secondary names
2025-07-08 00:14:19 -04:00
ed
a617ecc61f
took a break and started to figure out worker codenames for fun
2025-07-07 23:32:35 -04:00
ed
6d780482c7
Mostly still reviewing and planning... (see description)
...
Anything considered static can be aggregated into a single VArena. We don't have to worry about ever releasing its memory or it growing "too large". All memory here must be fixed sized.
Conservative persistent memory can grow on demand but we would perfer if it could be trimmed or released when no longer dealing with heavy scenarios. Persistent memory should use a slab allocator that is backed by a virtual address space pool allocator instead of pools allocating from a single varena. Chained Arenas can source thier chunks of vmem from the slab which can be utilized for scratch memory. Fonts should be loaded from VSlab. The string cache should use a dedicated varena with 16-byte alignment. All conservative memory should be trimmable by a wipe command which should free all unused blocks. Each block should be a single OS aware reserve of vmem.
The Frame can possilby stay as a single varena with scratch allocation utilized on demand. Although it may be more viable for chained varenas to be derived from the main varena via a slab or pool interface. Frame memory should be trimmable on command which should release its committed vmem to its initial value. A dedicated transient varena should not exist. It should be removed when possible. File mappings for now can use a dedicated varena made on demand with a capped reserve size of 4 meg. Any file exceeding this needs the host to support virtual memory mapped I/O for files. The codebase db will use sqlite for the file I/O abstraction.
Host might only need to track the first persistent block of vmem, and the rest can be handled by the client (including wrapping that vmem up in a varena). Hot-reload only needs persistent vmem's ref restored on the client module's side. All other references can be resolved from there.
2025-07-07 02:00:57 -04:00
ed
87d5cda2c0
more review
2025-07-04 14:40:25 -04:00
ed
b15503c079
fleshing out some of the input binding impl
2025-07-04 14:06:51 -04:00
ed
2e8381b097
Beginning to review progress on prototype codebase bootstrapping.
2025-07-04 14:06:28 -04:00
ed
ff91e41da9
convert all region/endregion directives to the comment signature used with editor plugins
2025-06-30 09:26:17 -04:00
ed
74567ae98a
adding some stuff from watl but not ready to use yet
2025-06-28 20:57:05 -04:00
ed
cf7151a1ce
misc changes
...
not worth comment ing on...
2025-06-28 20:56:49 -04:00
ed
bf5ecd0e0d
adjust build script to odin_sectr.exe (renamed when compiler builds)
2025-06-28 20:56:11 -04:00
ed
54db9a7d57
misc updates to dependencies
...
removed freetype, updated vefontcache to latest and sokol + sokol gp
2025-06-26 23:27:05 -04:00
ed
3fd4e139d9
gitignore fixes
2025-06-26 22:15:43 -04:00
ed
01e989adc8
update gitignore
2025-06-26 21:46:32 -04:00
ed
29130cb367
old stuff
...
Planning to come back to this and eval some state.
Not ready to fully come back still out learning from the past.
2025-06-26 21:44:30 -04:00
ed
5b0878d14d
update to latest vefontcache
2025-02-13 19:47:19 -05:00
ed
85dbaa37b9
updating to latest VEFontCache... tested 10k draw call target (worked)
2025-02-13 19:12:13 -05:00
ed
0f5f9c18b1
Update readme, build scripts
...
Add incremental build check for stb truetype lib
2025-02-01 09:29:31 -05:00
ed
07cd28226f
update to latest
2025-01-13 20:44:07 -05:00
ed
0cd2d84c64
Simplified text rendering code (since its now much of the heavily lifting is all on VEFontCache)
2025-01-13 01:08:02 -05:00
ed
7680290650
vefontcache fixes
2025-01-13 00:55:42 -05:00
ed
fd424c94bb
Fixed bug wth vefoncache storage_entry.visible, added building stb_truetype to dep update
2025-01-12 22:03:38 -05:00
ed
9d5ac7b0d2
got it to compile with vefontcache changes, runtime issues..
2025-01-12 16:41:55 -05:00
ed
9da0e73d3b
Misc changes to engine and shaders
2025-01-12 14:01:11 -05:00
ed
bc47b37a46
Update vefontcache to latest
2025-01-12 14:00:58 -05:00
ed
a869ebab69
Add custom stb_truetype package/lib to thirdparty for vefontcache update
2025-01-12 14:00:43 -05:00
ed
22cf5c653b
Update readme
2025-01-10 11:01:57 -05:00
ed
e23935db5b
More cleanup, preparing VEFontCache for public repo
2025-01-10 09:32:19 -05:00
ed
50dd6130c8
Working towards getting the library to an alpha release state
2025-01-10 01:54:18 -05:00
ed
488e5ba67f
shaper_shape_text_latin was not resolving atlas info and bounds + lru poollist touchup
2025-01-09 23:53:59 -05:00
ed
9ab7bf78c6
made draw type vis a compile time option
...
Didn't want to deal with the branchless math trial and error...
2025-01-09 23:48:43 -05:00
ed
b5fdc02b7d
Updates to client api settings and memory suage of sokol_gp
2025-01-09 23:37:15 -05:00
ed
c114624eee
fixes for: Atlas-Region B clear-region on caching glyph, batching, & tuning default values for performance
...
Need to fix the debug vis for the library
2025-01-09 23:36:39 -05:00
ed
08a8b4b823
Insane perfomrance after tuning the batch and caches.
2025-01-09 14:54:59 -05:00
ed
b4abde1094
Misc: VFontCache perf and features, exposing config on prototype side...
2025-01-09 13:23:35 -05:00
ed
ce84652417
More offloading to shaper, seeing if its better todo some math in loop...
2025-01-08 08:38:06 -05:00
ed
18d8735c54
Preparing to attempt to offload various metric calculations for a shape's glyphs to the shape itself from the draw list generator
2025-01-07 22:24:23 -05:00
ed
fa627b4c4a
LRU proper casts id to Pool_ListIter (don't assume i32)
2025-01-07 22:23:24 -05:00
ed
6010dd1590
Fix for blitting
2025-01-07 22:10:06 -05:00
ed
7dee697103
partially restoring old order to try to identity the regression with blitting to atlas...
2025-01-07 17:52:42 -05:00
ed
6e01c39899
Builds again has on text rendering (makes sense)
2025-01-07 10:17:46 -05:00
ed
3a245a1e9b
WIP (Broken) docs and huge changes
2025-01-07 03:06:12 -05:00
ed
a9080fe1f3
LRU cache now as templated key type
...
Was testing to see if 16-bit cach emade a diff for the glyphs (it did not)
2025-01-06 21:18:39 -05:00
ed
bf38087d8e
Remove rune tracking for string cache, + vecache deharcoding atlas...
...
Shapers as well
2025-01-06 17:21:16 -05:00
ed
0350a0c282
Remove rune tracking for string cache, + vecache changes
...
Getting ready to de-hardcode vefontcache shaders
2025-01-06 14:12:55 -05:00
ed
f1f98ffafb
Removed usage of procedure using statements from vefontcache
2025-01-06 11:23:30 -05:00
ed
840e6053ff
WIP - VEFontCache: Working on getting font size usage and super-sampling via scaling working on library side...
2025-01-06 11:00:55 -05:00
ed
c0b439bc30
Update readme and build script
2025-01-06 01:20:27 -05:00
ed
d400ad6524
Merge remote-tracking branch 'github.com/master'
2025-01-04 20:30:03 -05:00
ed
f18da9af05
minor adjustments
2025-01-04 20:29:32 -05:00
ed and GitHub
62f9a726ee
Update Readme.md
2025-01-04 20:27:54 -05:00
ed
878c419a1f
Oversized streamlined
2025-01-04 20:09:59 -05:00
ed
fe4f3ad14a
VEFontCache : Streamlined to_cache (fixed)
2025-01-04 16:59:56 -05:00
ed
5b59942c1a
WIP - VEFontCache: Working on streamlining to_cache codepath
2025-01-04 15:55:33 -05:00
ed
83b7098ce9
WIP : trying to fix oversized yet again...
2025-01-04 10:16:22 -05:00
ed
d6e232b3f7
Fixed ui rendering issue with getting vertical metrics unscaled.
2025-01-04 10:13:30 -05:00
ed
cb6053395c
WIP - VEFontCache: Major changes
...
* Add back proper batching (busted the rendering for it though..)
* Some reogonzation of definitions and procedure args
* CURRENTLY BROKEN: Something went wrong with the calculations for text positioning..
2025-01-03 23:06:31 -05:00
ed
078d9c8447
Misc changes
2025-01-03 18:04:20 -05:00
ed
049633bdc5
VEFontCache: Fixed oversized drawing
...
* Added ENABLE_DRAW_TYPE_VIS
* Added DISABLE_PROFILING
* Some cleanup of unused codepaths
*
2025-01-03 18:04:15 -05:00
ed
f6e7741bf3
More codepath simplification, convert lru to track u32
2025-01-03 15:11:02 -05:00
ed
c4c3bba20c
VEFontchange: codepath changes and bugfixing
2025-01-03 13:06:43 -05:00
ed
8c7b3e2058
misc changes
2025-01-03 13:06:05 -05:00
ed
db1701a5d7
finished simpiflying/pipelining generate_oversized_draw_list
2025-01-03 02:16:49 -05:00
ed
b066b0de3a
more perf improves for VEFontCache
2025-01-03 01:25:05 -05:00
ed
5e0afd5b7b
WIP - VEFontCache : generate_shape_draw_list codepath simplification
2025-01-02 22:56:08 -05:00
ed
9448c3906c
Performance improvement using the index of glyph_pack for sub slices instead of appending values directly.
2025-01-02 20:05:45 -05:00
ed
44c97eec71
move freetype function to its own file to declutter draw.odin
2025-01-02 18:16:46 -05:00
ed
b427f1fbc8
decide_codepoint_region -> atlas_decide_region (codepath simplifcation...
2025-01-02 18:03:32 -05:00
ed
73ba89e7f9
WIP - VEFontCache: Rendering 3k lines of whitespace ast is 16 ms rn...
2025-01-02 17:49:39 -05:00
ed
560b2a125b
Adjustments to render codepath on sectr side
2025-01-02 13:00:22 -05:00
ed
fa881a263a
Successfuly hard-segmented the three different situations for enquing glyphs of a shape
2025-01-01 23:07:22 -05:00
ed
4adbfaa9fd
WIP - VEFontCahe: More progress on optimizing codepaths with SOA
2025-01-01 22:11:41 -05:00
ed
dd1752f84b
WIP - VeFontcache: Testing performance of using an SOA setup for processing shape's glyphs
2025-01-01 17:01:59 -05:00
ed
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
ed
c7d465d06e
Another bugfix for hashmap_chained
2024-12-31 11:26:21 -05:00
ed
9015f4ce3c
Converted UI_State box caches to use hmap_chained
2024-12-31 02:39:18 -05:00
ed
1fb011f56c
hmap_chained: fix for not properly being able to override slots with matching key (that were still occupied)
2024-12-31 02:38:22 -05:00
ed
b54d336193
Adjustments to logger
2024-12-31 02:07:30 -05:00
ed
ddca5e8668
Finished initial window implementation
2024-12-31 00:17:05 -05:00
ed
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
ed
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
ed
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
ed
c2476ab854
Progress on window widget, minor refactor for layout directions structs
2024-12-30 19:38:22 -05:00
ed
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
ed
495e14194e
Began to setup a UI_Window (generalized window widget)
2024-12-30 15:01:37 -05:00
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