SCR-00024: Overhaul codebase for karasu #24
Owner
- Fork 3rdparty vendored libs
- all ggml-based repos point to local ggml
- Enforce strict speed rules (linter, CLAUDE.md, etc)
- Add EASTL
- Add flecs ECS
- -noexcept in all 3rdparty and 1stparty
- No sanitizers in all 3rdparty and 1stparty release builds
- -ftrapv in 3rdparty and 1stparty release builds
- Agressive lto/PGO, binary size culling, unused symbol stripping
- Custom allocators in all 3rdparty and 1stparty
- Remove general-purpose STL containers and replace them with EASTL or custom ones
- de-virtualization of 1st-party libs
- remove libc++ debug mode from release builds
- Remove RTTI
- Prefer fixed to dynamic when possible for arrays
- Use compile time wherever possible
- use approx-math wherever ok
- Start a multi-threaded job system
- Use SIMD aggressively
- Virtual OS-level memory
- Lint for style in 1st party libs
- no use of auto, ever
- No line can be greater than 120 characters wide
- clang-tidy modernize, performance, bugprone, readability, and cppcoreguidelines
- must use (void) when no args
- When return is void and only 1 line is needed, instead return (void)(expression); return expression() -> void;
- Always use return; on void functions except above
- Never ever nest more than two scopes deep
- for one or more else if, always add else, even if empty with explanation.
- [ ] Fork 3rdparty vendored libs
- [ ] all ggml-based repos point to local ggml
- [ ] Enforce strict speed rules (linter, CLAUDE.md, etc)
- [ ] Add EASTL
- [ ] Add flecs ECS
- [ ] -noexcept in all 3rdparty and 1stparty
- [ ] No sanitizers in all 3rdparty and 1stparty release builds
- [ ] -ftrapv in 3rdparty and 1stparty release builds
- [ ] Agressive lto/PGO, binary size culling, unused symbol stripping
- [ ] Custom allocators in all 3rdparty and 1stparty
- [ ] Remove general-purpose STL containers and replace them with EASTL or custom ones
- [ ] de-virtualization of 1st-party libs
- [ ] remove libc++ debug mode from release builds
- [ ] Remove RTTI
- [ ] Prefer fixed to dynamic when possible for arrays
- [ ] Use compile time wherever possible
- [ ] use approx-math wherever ok
- [ ] Start a multi-threaded job system
- [ ] Use SIMD aggressively
- [ ] Virtual OS-level memory
- [ ] Lint for style in 1st party libs
- [ ] no use of auto, ever
- [ ] No line can be greater than 120 characters wide
- [ ] clang-tidy modernize, performance, bugprone, readability, and cppcoreguidelines
- [ ] must use (void) when no args
- [ ] When return is void and only 1 line is needed, instead return (void)(expression); return expression() -> void;
- [ ] Always use return; on void functions except above
- [ ] Never ever nest more than two scopes deep
- [ ] for one or more else if, always add else, even if empty with explanation.
Kind/Enhancement
Compat/Breaking
Reviewed
Confirmed
Priority
Critical
labels
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
KobuGames/karasu#24
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?