7250456db5
Got centered resize working for the handles
...
Impl feels jank... but thats what I get for supporting two origins for the auto-layout
2024-05-16 02:14:54 -04:00
85cf9d8db2
More progress on themes + workspace resize handles support
...
Still need to add support for centered resize of boxes with the handles. (Will need a different alignment configuration)
Theme manipulation is getting cleaned up iteratively code is slowly looking less nosiy
2024-05-15 18:48:20 -04:00
48ee98f22d
detached head bullshit
2024-05-15 03:44:18 -04:00
af757cfdaa
Began working on a proper default theme
...
Going with dark mode at first,
I'll also be making a lightmode, but I want to have a post-processing shader for tonemapping the app screen's tone by the user before doing so.
2024-05-15 03:37:00 -04:00
fd2552a82f
improve layout visibile lag to none for vbox & hbox on the settings menu
2024-05-14 21:54:12 -04:00
a29632daea
Fix for DLL_NodeFL
2024-05-14 14:50:38 -04:00
70b13ce107
fixes for hmap_chained_init and other stuff
2024-05-14 14:07:29 -04:00
26771ff2fd
made a new hashtable container: HMapChained
...
Will be used isntead of the zpl in some places
2024-05-14 11:47:44 -04:00
12c99bee26
Mostly cleanup
...
Text is athe biggest bottleneck right now. Raylib as a renderer fails for this prototype in that front.
I'll eventually need to look into other solutions such as SDL2 + something that renders UI boxes & text very fast...
2024-05-13 21:53:08 -04:00
adc75f6977
Got support for persistent ordering of UI_Boxes using UI_FloatingManager
2024-05-13 16:07:49 -04:00
0744069b0d
pushing what I have rn, decided not to go this route
...
Instead going with ![img](https://i.imgur.com/S3tjZUu.png )
2024-05-13 10:40:29 -04:00
e8c3312b69
more progress...
2024-05-13 01:56:39 -04:00
595de438af
WIP: Persistent order support for rooted boxes (top-most boxes)
...
I wasn't expecting it to be this to bad to support it...
Also:
* I renamed some of the files to group better with the virtual codebase view
2024-05-13 01:53:19 -04:00
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
794852a0b0
Got initial box mouse select detection working
2024-02-12 00:35:22 -05:00
6147d4e344
Refactors, lots and lots of it... plus coodinate space
2024-02-11 23:00:06 -05:00
f76ba4e9ba
Lots of stuff (Big ones are cam and frame initial features)
...
There is now a 2D camera in the workspace!
We have a basic 'Frame' definition. It doesn't have any interaction yet...
I started to define spacial math, mostly for doing conversion and getting a grounding on pixel/points/cm reference. The world space is in cm.
2024-02-10 03:40:53 -05:00
2d698d22c9
Added versioning to project serialization
2024-02-09 13:39:08 -05:00
58851e34ac
Got project saving/loading initally working
2024-02-09 13:09:58 -05:00
58c3f23327
Moved the curly to KP_Enter on the lookup table to prevent a false syntax error for now
2024-02-08 22:36:52 -05:00
6819336696
Got logging setup
...
There is an issue with the tracked allocators made for the host module.
I'll need to see later whats going on, for now it doesn't matter.
2024-02-08 22:33:53 -05:00
d205aba15a
Set the base address back to 1 tb
2024-02-08 16:05:56 -05:00
84d9675a27
Got replay working
...
Doesn't work across app runs, unlike handmade the crux here is raylib. Even if we did raylibs features ourselves there would still be an issue of restoring the gpu memory state. So in order to have replays work across app runs is proper state serialization.
I'll leave that for later and focus on the next core features.
2024-02-08 16:05:15 -05:00
9b4ceeffda
Baseline input and replay setup done. Needs testing and fixes
2024-02-08 10:50:36 -05:00
f27245f7a2
Moved grime to its own dedicated file
2024-01-30 02:27:45 -05:00
282c071163
Finished off some loose ends for hot-reload
2024-01-30 01:54:37 -05:00
2e6ca2d0fd
Segregated host/api better. Memory setup is problably solid now.
2024-01-30 01:29:48 -05:00
0c2a95c796
Update deps to not copy dlls if odin wasn't updated.
2024-01-25 11:31:21 -05:00
c9a10c3b41
Fix for hot-reload (raylib shared required on odin compiler)
2024-01-25 11:24:52 -05:00
1755dac070
wip fixes for hot reload
2024-01-25 10:49:57 -05:00
89f2041b79
Setup project to auto-grab dependencies directory from a fork of the odin repo.
2024-01-22 21:38:09 -05:00
761794f594
Hot reload works
2024-01-22 03:47:53 -05:00
77a48d7104
Memory setup for hot-reload & save states
2024-01-22 00:22:06 -05:00
3b259f2893
Odin is nice.
2024-01-21 23:38:02 -05:00
d0c016a355
Got window setup & basic text to window space debug.
2024-01-21 13:35:52 -05:00
85ac6a1d55
Initial stuff
2024-01-21 11:16:12 -05:00