Commit Graph
100 Commits
Author SHA1 Message Date
ed 275ffcf143 Got the first 'input box' to work. Did some changes to keyboard input
Renamed KeyboardKey to KeyCode, redid the encoding layout (preemtively getting ready for SDL later as well)

I got the input box working but it has no constraints and needs to be lifted. The scroll box construction does as well.
2024-05-19 11:06:09 -04:00
ed b137bc542c WIP: Stuff related to working on the settings menu + more
Moved core ui to its own folder.
Worked on theming (proper light and dark theme)
Began to work on the scroll box widget and input box constructions

I added back a script for flattening the codebase: gen_flattened_codebase.ps1
2024-05-19 01:21:51 -04:00
ed ddff1fcae6 typos and buildscript fixes & additions 2024-05-16 18:16:14 -04:00
ed b30f3c3466 Restructured the codebase yet again but this time with compiler support for monlithic packages
So no need to stage generate symbolic links in a flat directory for the compiler
2024-05-16 17:27:48 -04:00
ed 0527a033c8 Modifiaitons to build script
I only keep the generated code_compiler_staged dir around if there are errors compiling
2024-05-16 13:35:03 -04:00
ed 40ffed9538 Changed codebase to be foldered (breaking compiler's conventions)
I now generate the layout the compiler wants, eventually I'll just have a custom policy so that the compiler can accept the non-idiomatic layout

See scripts/build.ps1 & gen_staged_compiler_codebase.ps1 for how this is handled.
2024-05-16 13:18:27 -04:00
ed 5ceef39410 Some general refactors and compaction
Made a distinction from the "core" ui vs the rest of the ui that composes from there.
2024-05-16 11:21:07 -04:00
ed 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
ed 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
ed 48ee98f22d detached head bullshit 2024-05-15 03:44:18 -04:00
ed 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
ed fd2552a82f improve layout visibile lag to none for vbox & hbox on the settings menu 2024-05-14 21:54:12 -04:00
ed a29632daea Fix for DLL_NodeFL 2024-05-14 14:50:38 -04:00
ed 70b13ce107 fixes for hmap_chained_init and other stuff 2024-05-14 14:07:29 -04:00
ed 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
ed 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
ed adc75f6977 Got support for persistent ordering of UI_Boxes using UI_FloatingManager 2024-05-13 16:07:49 -04:00
ed 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
ed e8c3312b69 more progress... 2024-05-13 01:56:39 -04:00
ed 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
ed f693685d72 Added a script automatically generating a virtual view using symbol links of the codebase
So I can finally have some folders for organization
2024-05-12 16:02:38 -04:00
ed 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
ed 6a4f7ac6de minor changes, prepping for next tasks 2024-05-11 01:30:54 -04:00
ed e40e3ddf85 small refactors for organization 2024-05-10 19:50:37 -04:00
ed 2b1565e35b AppUI lifted to its own file, Got horizontal and vertical boxes working 2024-05-10 19:20:50 -04:00
ed 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
ed 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
ed 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
ed b8e8e7c88a Progress on setting up app's UI and horizontal/vertical box widgets 2024-05-08 02:26:39 -04:00
ed 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
ed 3336ab2e1c Its the pool free lists... 2024-05-07 01:16:02 -04:00
ed 059a63ccbb Fixed issues with logging on the memory tracker 2024-05-07 01:12:02 -04:00
ed 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
ed 0e27635a9b Updates to readme 2024-05-04 12:59:08 -04:00
ed 046d79c9bd Attempt to add example vod 2024-05-04 12:10:30 -04:00
ed 94137a64cd Update readme 2024-05-04 11:52:52 -04:00
ed f27a69de9a Get the project to compile once again. 2024-05-04 11:47:21 -04:00
ed 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
ed 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
ed 2c84d93249 updates to toolchain 2024-03-25 18:46:02 -04:00
ed e3ff1ce70f Finally fixed memory allocations for slabs/pools/virtual arenas 2024-03-20 22:34:18 -04:00
ed ca66f517e9 update build script to remove pdbs before building (msvc issues)
Also update ignores to ignore log zips
2024-03-20 20:50:46 -04:00
ed 714d60ee34 Trying to figure out this bug with pools... 2024-03-20 13:34:47 -04:00
ed fb1a6063a7 fixed hot reload
there is still memory issues T-T
2024-03-20 01:23:50 -04:00
ed 2d5e308046 misc changes, hot reload is broken 2024-03-20 00:44:43 -04:00
ed 737e8596f3 Fixed a dumb memory bug with arrays 2024-03-19 23:25:48 -04:00
ed 3ae9a418ec Had to enable default allocator for backtrace library (for now) 2024-03-19 20:20:34 -04:00
ed 6d1a32b124 Move odin compiler and ols to their own directory separate from thirdparty packages: toolchain 2024-03-19 18:52:33 -04:00
ed cbf47ca21d Build scripts further improved
Now depedency checking is working as intended
2024-03-19 16:57:28 -04:00
ed 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
ed 2c321b27fc Updates to deps 2024-03-19 11:55:13 -04:00
ed 44ed7a2a85 Improved update_deps.ps1 2024-03-19 11:47:40 -04:00
ed d29a1e20e7 very minor tidying 2024-03-19 08:36:58 -04:00
ed 36bf6840e4 update ols/odin repos 2024-03-18 11:54:06 -04:00
ed 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
ed b0b8f3d595 latest (doing some ark vcs stuff) 2024-03-17 15:30:30 -04:00
ed d06148384d Updated ignores 2024-03-15 21:30:28 -04:00
ed 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
ed ee8b68ac3e Fixed text auto-layout 2024-03-14 10:11:04 -04:00
ed cf7660e385 first 'full' layout draft impl done.
found a memory bug...
2024-03-14 02:02:09 -04:00
ed 180c296556 Updates and fixes to memory 2024-03-14 00:00:44 -04:00
ed 2f574ef760 Updates to scripts 2024-03-14 00:00:29 -04:00
ed 0627794e28 saving a mess of stuff with auto-layout before updating with new mess 2024-03-14 00:00:22 -04:00
ed 159aedb592 Memory fixes, progress towards anchors support in the UI auto-layout
Also support for margins
2024-03-12 20:55:29 -04:00
ed d2daa686d4 Script updates 2024-03-12 02:32:46 -04:00
ed 9efd752180 Updates to odina ols repos 2024-03-12 02:32:37 -04:00
ed 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
ed 8b8c4948ad Added screeenspace culling for ui boxes 2024-03-11 02:05:30 -04:00
ed 1656dffb67 Setup spall profiling, did first optimizations! 2024-03-11 02:05:18 -04:00
ed 304e710c16 It works but there is a memory issue... (parsing in tick update) 2024-03-10 20:09:04 -04:00
ed c80254adbc Got whitespace parser working + widget generation for basic case! 2024-03-10 10:31:21 -04:00
ed 197dd82e78 update odin repo 2024-03-09 14:53:51 -05:00
ed 7b69723f35 Made the ui_resize_border_width percent based instead of pixel based. 2024-03-09 14:24:02 -05:00
ed 4a53a158e0 Lefted text box test to its own widget proc, fixed overlapping widget interaction! 2024-03-09 13:55:47 -05:00
ed 635ce91a9d First text box!!! 2024-03-09 10:21:48 -05:00
ed f1edf1c43e Added basic string interning 2024-03-08 23:20:49 -05:00
ed c395cbaeb6 Some cleanup
need todo string interning next....
2024-03-08 19:51:46 -05:00
ed cb58f4faef Improvements to UI signal 2024-03-08 18:45:27 -05:00
ed 4b026c379a Started to do manual control of the frame timing (no longer using raylib) 2024-03-08 18:45:08 -05:00
ed 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
ed 90478bec94 Added ols to thirdparty ( just keeping own copy for the repo ) 2024-03-07 23:08:43 -05:00
ed a5208f2be2 Slab allocator works! 2024-03-07 19:15:54 -05:00
ed aa47f0ead0 Slab allocator compiler bug fixes 2024-03-07 18:29:49 -05:00
ed f17aead3ea Comment cleanup 2024-03-07 17:58:28 -05:00
ed 568e8043bb removing no longer used code from env 2024-03-07 17:57:58 -05:00
ed 06a040d056 Removing commetns from grime 2024-03-07 17:57:36 -05:00
ed 0afb4c3197 rename parser_code to parser_code_agnostic 2024-03-07 17:57:10 -05:00
ed f2237e7211 Started to overhaul memory setup + runtime fixes 2024-03-07 15:57:17 -05:00
ed 6836459a1d Completed first draft of slab allocator 2024-03-07 03:10:21 -05:00
ed d63c58008e Completed first draft iteration of grime_pool_allocator 2024-03-06 22:41:36 -05:00
ed c71ed67d6a minor fromatting changes 2024-03-06 22:41:17 -05:00
ed 1f2f0c66d8 Added impl for singly-linked lists 2024-03-06 22:41:01 -05:00
ed 6e52a79ca2 Compile fix for grime_arena 2024-03-06 22:40:45 -05:00
ed 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
ed 8eef63e84f Minor unicode file changes 2024-03-06 16:47:00 -05:00
ed 64229e6ca5 Updates to zpl hash map description 2024-03-06 16:46:33 -05:00
ed 9229358a16 Updates to general memory defs 2024-03-06 16:46:23 -05:00
ed aa9ce39224 Typo in grime_stack file 2024-03-06 16:45:50 -05:00
ed 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
ed 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