jc/TODO
2025-05-21 15:19:17 -06:00

54 lines
2.9 KiB
Text

*** IN PROGRESS ***
[Judah]
000 [math] add easing procedures
[Jesse]
001 [arch] create module to determine simd support
011 [math] add more Vec math procedures
034 [math] Rect '#type,distinct Vec(4, T)' type + rectcut
002 [math] use simd for Mat4 operations
041 [math] small test suite
*** UP NEXT (NO PARTICULAR ORDER) ***
003 [floats] 16-bit fixed point floats, 128-bit floats
004 [luajit] create bindings
005 [sokol] create bindings module (should use [math] types)
006 [sdl3] create bindings module (should use [math] types)
007 [bytes] create byte utilities module (should include Buffer type)
008 [strings] create string utilities module (include Buffer type) - blocked by 007
009 [encoding] jai-friendly binary serialization support - blocked by 007
012 [hash] create 'Map(K, V)' type
013 [bindings] create build/binding utilitites module (since we do this a lot)
014 [platform] create module for OS/platform-specific procedures (read file, write file, etc.)
015 [meta] create metaprogramming utilitites module (AST rewriting, code generation/introspection, etc.)
016 [x] default to arena-based allocators everywhere (a la brevis/serenum)
017 [x] re-implement dynamic arrays (should mirror procedures on 'Static_Array')
018 [x] enum backed array type (can just be a 'Static_Array' specialization)
019 [rand] create random number generation module (probably port Demetri's 'pcg32_pie')
020 [net] create networking module (just a layer over sockets)
021 [net/http] simple http server/client interface - blocked by 020
022 [encoding] bebop format support? (https://docs.bebop.sh)
023 [build/wasm] create wasm build support module - blocked until 'Basic' is fully replaced
024 [x] create file to document conventions/style guide
025 [window] create windowing module
027 [compress] create compression algorithm module
028 [compress] add lz4 support - blocked by 027
029 [compress] add zstd support - blocked by 027
030 [meta] add metaprogram (plugin?) to rewrite code from one jai version to another
031 [x] standardize error handling (maybe odin-style enums?)
032 [memory] more allocators!
033 [sort] create sort module (quick sort, radix sort; in place and copy)
034 [x] can we add location info to Allocator_Proc?
035 [memory] add debug allocator to track allocation locations, double frees, etc. (should wrap another allocator)
036 [thread] create *simple* threading module
037 [thread] add 'Mutex', 'Semaphore', 'Wait_Group' types - blocked by 036
038 [encoding] add html support, via code - blocked by 008
039 [encoding] add rivit support, via code (https://judahcaruso.com/rivit.htm) - blocked by 038
040 [encoding] add markdown (commonmark?) support, via code - blocked by 038
042 [x] use absolute imports internally (ie. #import "jc/math"), update symlink/install process in README
*** DONE ***
010 [x] make base jai files standalone (ie. [array], [memory], etc... big maybe)