.{math: .{Vec2}} := @use("../../stn/src/lib.hb"); .{Surface} := @use("../../render/src/lib.hb") $BUFFER := "sunset\0" client := @use("./client.hb") server := @use("./server.hb") message := @use("./message.hb") MessageHeader := packed struct { kind: uint, data: uint, } WindowProps := struct { position: Vec2(uint), dimensions: Vec2(uint), // replace with owned string type later title: ^u8, } WindowData := struct { props: WindowProps, buffer_id: uint, } Window := struct { data: WindowData, surface: Surface, }