libs/framework
Cross-Platform Application Bootstrap Harness
The core application harness that abstracts GLFW3 window creation, OpenGL context negotiation, event polling, and frame timing. Provides an ergonomic lifecycle interface for building desktop games, developer tools, and rich interactive applications.


Sub-Millisecond Multi-Cursor Editing
Unlike line-array or gap-buffer architectures, the Kale Piece Table holds an immutable original file buffer coupled with an append-only edit buffer. Loading a 100MB file takes under 1ms because no memory copying occurs.
import "libs/framework/app.kl" as app;
fn main() -> int32 {
let cfg: app.WindowConfig = app.default_config("Kale Studio", 1280, 720);
let application: app.Application = app.create(&cfg);
while app.is_running(&application) {
app.poll_events(&application);
app.begin_frame(&application);
// Render scene
draw_dashboard();
app.end_frame(&application);
}
app.destroy(&application);
return 0;
}Deterministic command-line invocations to build, link native dynamic dependencies, and run automated regression tests:
kale build apps/sample_app/main.kl -o bin/sample.exe -lglfw3 -lopengl32./bin/sample.exeGPG Key 1B917D4779A6102E • Continuous integration with automated symbol verification.
One line to initialize window, context, font atlases, and render batchers with graceful error recovery.
Calculates microsecond delta-times with fixed-step updates and silky smooth variable-rate rendering.
Aggregates keyboard scan codes, mouse cursor coordinates, scroll wheels, and window resize events.