Initial project import

This commit is contained in:
Agila Forge Importer committed 2026-07-13 14:56:57 +00:00
commit d189bb22f4
19 files changed
+361

No files matched your search

+64
View File
@@ -0,0 +1,64 @@
// Safe application-level UI model. Rendering is provided by the proprietary Agila runtime.
module agila
pub struct Color {
pub:
r u8
g u8
b u8
a u8 = 255
}
pub fn rgb(hex u32) Color {
return Color{
r: u8((hex >> 16) & 0xff)
g: u8((hex >> 8) & 0xff)
b: u8(hex & 0xff)
}
}
pub struct Theme {
pub:
background Color
surface Color
text Color
accent Color
}
pub fn default_theme() Theme {
return Theme{
background: rgb(0x08080e)
surface: rgb(0x171827)
text: rgb(0xf5f1ff)
accent: rgb(0xc084fc)
}
}
pub interface Widget {
describe() string
}
pub struct Text {
pub:
value string
}
pub fn (t Text) describe() string { return 'Text(${t.value})' }
pub struct Button {
pub:
label string
}
pub fn (b Button) describe() string { return 'Button(${b.label})' }
pub struct Column {
pub:
children []Widget
}
pub fn (c Column) describe() string { return 'Column(${c.children.len} children)' }
pub fn preview(widget Widget) {
println('[Agila SDK sandbox UI] ${widget.describe()}')
}