SCR-00024: Overhaul codebase for karasu #24

Open
opened 2026-09-23 02:56:50 +00:00 by ganelonhb · 0 comments
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.
ganelonhb added reference cr-24-overhaul-codebase-for-karasu 2026-09-23 03:03:47 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
KobuGames/karasu#24
No description provided.