1b32fe916e
Large refactor of the entire codebase
...
Saw that layout really should be separated from the style struct, so went ahead and pulled the trigger...
A bunch of other refactors have also been done
* Lifted layout out of style, its not separate in UI_Box and in UI_State there is not a UI_LayoutCombo stack.
* UI_StyleTheme renamed to UI_StyleCombo
* UI_Theme has both UI_StyleCombo & UI_LayoutCombo
* Made files for the "project" related code
* ui_layout_compute moved to its own file, ui_layout now used for layout related data structures and interfacing
* Impovements to horizontal & vertical box impl
* UI_Box now keeps track of how many ancestors it has
2024-05-11 22:38:05 -04:00
6a4f7ac6de
minor changes, prepping for next tasks
2024-05-11 01:30:54 -04:00
e40e3ddf85
small refactors for organization
2024-05-10 19:50:37 -04:00
2b1565e35b
AppUI lifted to its own file, Got horizontal and vertical boxes working
2024-05-10 19:20:50 -04:00
5b24e591eb
Fixed issue with ui_signal_from_box
...
Biggest win was getting the intial fixes for overlapping boxes.
Eventually I'll need to add support for sorting actives of top-most ancestors
(pretty much just remove from linked list and add to last position (adjust indices of adjacent and new top most, etc)
2024-05-10 04:16:04 -04:00
1afe74b4b5
Some cleanup, resize handles lifted to ui_resizeable_handles
...
Fixed some bugs with the handles as well. Old cruft for resizing was removed.
2024-05-10 02:08:36 -04:00
a2b6325b5b
coordinate space math fixes, got resize handles working in settings menu prototype
...
will eventually lift to its own generic widget
I still need to implement the corner resize..
2024-05-09 04:02:33 -04:00
b8e8e7c88a
Progress on setting up app's UI and horizontal/vertical box widgets
2024-05-08 02:26:39 -04:00
e282397bf0
Nvm, took me way to long to realize the string cache needs a different hastable
...
This hashtable is not tolerant over going 'over capacity'. I have to eventually swap to another solution similar to Ryans linear probing for string caching.
For now I'll just abuse ram with an oversized table.
2024-05-07 01:34:43 -04:00
3336ab2e1c
Its the pool free lists...
2024-05-07 01:16:02 -04:00
059a63ccbb
Fixed issues with logging on the memory tracker
2024-05-07 01:12:02 -04:00
1e6e9581c3
Bug fixes to allocators and containers
...
Still haven't found the main bug with resizing zpl_hashmap on string interning
2024-05-06 23:29:47 -04:00
0e27635a9b
Updates to readme
2024-05-04 12:59:08 -04:00
046d79c9bd
Attempt to add example vod
2024-05-04 12:10:30 -04:00
f27a69de9a
Get the project to compile once again.
2024-05-04 11:47:21 -04:00
4492ca3079
Corrections to ols config, moved ols out of repo
...
ols is now assumed to exist installed by the user
2024-05-04 08:26:52 -04:00
7162c5a14d
last state of the prototype.
...
* Still has memory issue
* Was last using it to learn some PGA from Lengyel's books
2024-04-08 01:35:53 -04:00
e3ff1ce70f
Finally fixed memory allocations for slabs/pools/virtual arenas
2024-03-20 22:34:18 -04:00
714d60ee34
Trying to figure out this bug with pools...
2024-03-20 13:34:47 -04:00
fb1a6063a7
fixed hot reload
...
there is still memory issues T-T
2024-03-20 01:23:50 -04:00
2d5e308046
misc changes, hot reload is broken
2024-03-20 00:44:43 -04:00
737e8596f3
Fixed a dumb memory bug with arrays
2024-03-19 23:25:48 -04:00
bf211a8e14
Fixed bad resize_non_zeroed impl (cannot use default_resize_bytes_align_non_zeroed, its not a resize)
2024-03-19 12:18:39 -04:00
d29a1e20e7
very minor tidying
2024-03-19 08:36:58 -04:00
8a40b1462b
Setup a 3d viewport for some extra stuff.
...
Want to mess aroudn with my math notes possibly in this prototype...
2024-03-18 11:44:58 -04:00
b0b8f3d595
latest (doing some ark vcs stuff)
2024-03-17 15:30:30 -04:00
49a4e117a2
Got "Line LODs" working for the whitespace AST test, first step toward hboxes
...
Yet another issue with memory persists (seems to be related to slab free)
2024-03-15 00:02:28 -04:00
ee8b68ac3e
Fixed text auto-layout
2024-03-14 10:11:04 -04:00
cf7660e385
first 'full' layout draft impl done.
...
found a memory bug...
2024-03-14 02:02:09 -04:00
180c296556
Updates and fixes to memory
2024-03-14 00:00:44 -04:00
0627794e28
saving a mess of stuff with auto-layout before updating with new mess
2024-03-14 00:00:22 -04:00
159aedb592
Memory fixes, progress towards anchors support in the UI auto-layout
...
Also support for margins
2024-03-12 20:55:29 -04:00
b4c6fd1866
More fixes & performance improvements
...
Still havent figured out the realloc issue with virtual arenas... But the fixes the slab perforamnce mitigate it at least.
2024-03-12 02:32:16 -04:00
8b8c4948ad
Added screeenspace culling for ui boxes
2024-03-11 02:05:30 -04:00
1656dffb67
Setup spall profiling, did first optimizations!
2024-03-11 02:05:18 -04:00
304e710c16
It works but there is a memory issue... (parsing in tick update)
2024-03-10 20:09:04 -04:00
c80254adbc
Got whitespace parser working + widget generation for basic case!
2024-03-10 10:31:21 -04:00
197dd82e78
update odin repo
2024-03-09 14:53:51 -05:00
7b69723f35
Made the ui_resize_border_width percent based instead of pixel based.
2024-03-09 14:24:02 -05:00
4a53a158e0
Lefted text box test to its own widget proc, fixed overlapping widget interaction!
2024-03-09 13:55:47 -05:00
635ce91a9d
First text box!!!
2024-03-09 10:21:48 -05:00
f1edf1c43e
Added basic string interning
2024-03-08 23:20:49 -05:00
c395cbaeb6
Some cleanup
...
need todo string interning next....
2024-03-08 19:51:46 -05:00
cb58f4faef
Improvements to UI signal
2024-03-08 18:45:27 -05:00
4b026c379a
Started to do manual control of the frame timing (no longer using raylib)
2024-03-08 18:45:08 -05:00
191d5076ea
Dragging! & basic proportional box resize frm cursor distance to box pos
...
Still need to add resize via 'pulling' to stretch the box out from a side or 2 sides diagonally.
Also some general clenaup of code
2024-03-08 03:34:21 -05:00
a5208f2be2
Slab allocator works!
2024-03-07 19:15:54 -05:00
aa47f0ead0
Slab allocator compiler bug fixes
2024-03-07 18:29:49 -05:00
f17aead3ea
Comment cleanup
2024-03-07 17:58:28 -05:00
568e8043bb
removing no longer used code from env
2024-03-07 17:57:58 -05:00
06a040d056
Removing commetns from grime
2024-03-07 17:57:36 -05:00
0afb4c3197
rename parser_code to parser_code_agnostic
2024-03-07 17:57:10 -05:00
f2237e7211
Started to overhaul memory setup + runtime fixes
2024-03-07 15:57:17 -05:00
6836459a1d
Completed first draft of slab allocator
2024-03-07 03:10:21 -05:00
d63c58008e
Completed first draft iteration of grime_pool_allocator
2024-03-06 22:41:36 -05:00
c71ed67d6a
minor fromatting changes
2024-03-06 22:41:17 -05:00
1f2f0c66d8
Added impl for singly-linked lists
2024-03-06 22:41:01 -05:00
6e52a79ca2
Compile fix for grime_arena
2024-03-06 22:40:45 -05:00
d92e4e1c7c
Rolled my own virtual arena allocator
...
Much more straight forward and setup for my specific use case
2024-03-06 16:47:40 -05:00
8eef63e84f
Minor unicode file changes
2024-03-06 16:47:00 -05:00
64229e6ca5
Updates to zpl hash map description
2024-03-06 16:46:33 -05:00
9229358a16
Updates to general memory defs
2024-03-06 16:46:23 -05:00
aa9ce39224
Typo in grime_stack file
2024-03-06 16:45:50 -05:00
3ab6bb8616
Rolled my own virtual memory baseline interface
...
Mostly use the core library's functionality but wanted a nicer wrap for my use case
2024-03-06 16:45:12 -05:00
0656a41cf7
Move context_ext to its own file
...
Will be adding context related features here in the future
2024-03-06 16:44:38 -05:00
59ad47162d
Update font_provider with raylib changes
2024-03-06 16:44:01 -05:00
3c8abc5333
Start to setup the other allocators I'm going to roll my own of, also created a string interning file
2024-03-05 10:41:42 -05:00
898f359470
Removed box serialial unmarshaling def
2024-03-05 10:41:11 -05:00
eb66f5c70d
Beginning setup of the code agnostic parser
2024-03-05 10:40:42 -05:00
43a1c20d73
General refactors to various files
...
* Moved all mapped procedure overloads to grime.odin
* Removed extraneous entity_box related procedures
* Major refactor to grime_array its header is now allocated as part of its initialization
*
2024-03-05 10:40:28 -05:00
3ee5dd7d65
First complete iteration of stack allocator
2024-03-05 10:38:12 -05:00
509b73f79c
Fix for linked lists
2024-03-05 10:37:51 -05:00
3a63914282
Deleting entity_box2 for now as its not needed
2024-03-05 10:20:18 -05:00
ceb746e537
Rolled my own string_to_runes
2024-03-05 10:19:27 -05:00
fd44001456
Added vmem arena file
...
Going to need to roll my own for my use case.
2024-03-05 10:18:38 -05:00
bba45ce96b
deleting hot_reload file (not needed right now)
2024-03-05 10:18:13 -05:00
0622add196
Added WYSIWYG odin parser file
2024-03-05 10:17:53 -05:00
fb6d66140e
Iteration on whitespace parser
2024-03-05 10:17:27 -05:00
218af644d6
Added more helpers for memory ptr math
2024-03-05 10:16:50 -05:00
d83d1cc128
Added push_back/pop_back for doubly-linked lists
2024-03-05 10:16:23 -05:00
b05c87e250
Minor cleanup of font provider
2024-03-05 10:15:56 -05:00
5147a53c4d
Prepping for new vmem layout
2024-03-05 10:15:44 -05:00
bd6e79d005
Runtime fixes
2024-03-02 20:22:28 -05:00
b4feb9e506
make slab allocator file
2024-03-02 19:29:08 -05:00
b0adfbf5f5
Made the initial whitespace parser
2024-03-02 18:19:27 -05:00
035c726a71
got basic ui elmental interaction working, + alignment of anchor
2024-03-02 10:24:09 -05:00
77449819af
Deleting redundant hash table files for now.
...
I can bring them back from the commit history when I decide to explor again.
2024-02-29 19:38:29 -05:00
12aa6b4870
Mostly exploring hashtables, some new files...
...
I made the files for the ast but they're not populated yet.
I made some initial implementation for raddbg flavored linked-lists.
2024-02-29 19:37:37 -05:00
1de141288f
Made font_cache use the zpl hash map, make a proper setup for how many atlases to sore in the size_table
2024-02-27 09:32:26 -05:00
4deee942a8
General codebase refactor & cleanup
...
Renamed HashTable to HMapZPL, with procs having the zpl_ namespace prefix.
(I want to eventually get away from using it)
Started to use the grime pattern for library aliasing better.
2024-02-27 07:50:57 -05:00
a00ba8a152
Minor cleanup for formatting, reverse verify condition usage
...
Verify condition needed to only fire off if false not the other way around.
2024-02-23 09:36:23 -05:00
9b3bc6fd68
Got this thing to compile and seem operable at runtime
...
There was quite a few errors with the hashtable (not suprised). I need to use it more to see if it fails to work properly.
For now it should be fine enough for prototyping
2024-02-22 23:15:29 -05:00
7332644515
Preparing skeleton for proper imgui support.
...
I originally wanted to reference Ryan's UI series along with the RAD Debugger codebase, but that ended up being too convoluted of a route. Instead, I moved on to just doing a deep dive on imgui content I could find to learn from and associated libraries available. I collected my notes so far in this repo [IMGUI_Notes](https://github.com/Ed94/IMGUI_Notes ).
For now I have the base scaffolding datatype wise for the prototype ui.
2024-02-22 21:19:29 -05:00
9cc0855c03
compile error fix
2024-02-14 02:46:08 -05:00
9b959ef869
Initial impl pass for grime array and hashtable
2024-02-14 02:29:28 -05:00
2da0554c78
Not using dynamic map temporarily for font caching
...
There is an issue with hot-reloading dynamic maps. So I'll be using my own dynamic array and hashtable instead to debug the reason.
2024-02-14 02:29:08 -05:00
8d4b59353f
some progression on ui code
2024-02-14 02:27:40 -05:00
04c8f84e7d
We got decent text rendering in world now!
2024-02-13 18:50:22 -05:00
5c124521dc
Font drawing is nice now
2024-02-13 17:16:39 -05:00
f36b05e795
Starting to layout scaffolding for UI based on RAD Debugger/Ryan's UI Series
2024-02-12 20:52:56 -05:00