MT6IBX7SGLE26XIFZY53WYNHSJZMSDVDRJP3VYPXIQ4DKY75XVXAC GHIHJCWBCGFZI4AG66L7WG4WKJ467DXFBRBNLT4ZULSN7ZVBJI6AC GROTV3H2V6BHU5CA7WSLVYDCWAR7GHUP5JV2QOGPLJ6N3553T4MAC L6RIUKGLJZLAOKFGUDTZKBPP4HUBPEZAKHJEQHO34WFF62AB2ZIQC X5EMQBC4BFNJOOHS2QMF4UB4QH6JKSALK6RXLK6B7SP6MNYSAP6QC Q6Z5IQJ3SUI7BUJCKT377EPIRO7UVZFI7UB74ZEEGTCTUKC7WGKQC WQIQA2TNWNSNGKQC22XPTECAZEWG6PG5QWQECUVXDUQRSCV6RUZQC /// Convert a 2d point as the world describes it, to a 2d point that/// the world glyphon can understandfn convert_world_to_glyphon_world(&self, point: glam::Vec2) -> glam::Vec2 {// Converts it to a representation of [0, 1] from the world domain of [-WHE, +WHE]let normalized = self.glyphon_to_world.transform_point3(point.extend(0.0));// Maps the normalized coords to the glyphon scale of 2 * WHE(normalized * 2.0 * WORLD_HALF_EXTENTS.as_vec2().extend(0.0)).xy()}
let screen_to_world = (glam::Affine3A::from_translation(glam::Vec3::new(-(WORLD_HALF_EXTENTS.x as f32),-(WORLD_HALF_EXTENTS.y as f32),0.0,)) * glam::Affine3A::from_scale(glam::Vec3::new(2.0 * WORLD_HALF_EXTENTS.x as f32,2.0 * WORLD_HALF_EXTENTS.y as f32,1.0,))).inverse();
let loc = screen_to_world.transform_point3(glam::Vec3::new(0.0, 0.0, 0.0))* 2.0* WORLD_HALF_EXTENTS.as_vec2().extend(0.0);vec![(buffer, BufferMapper::new(loc.xy(), 1.0))]
let loc = glam::Vec2::new(32.0, 32.0);vec![(buffer,BufferMapper::new(self.convert_world_to_glyphon_world(loc), 1.0),)]
egui::Window::new("gama").show(ctx, |ui| {ui.label(">> Welcome to Cat Waiter <<");if ui.text_edit_singleline(&mut self.voop).on_hover_text("the best textbox of your life").changed(){log::info!(">> new text: {}", self.voop);}});
egui::Window::new("gama").default_pos((10.0, 200.0)).show(ctx, |ui| {ui.label(">> Welcome to Cat Waiter <<");if ui.text_edit_singleline(&mut self.voop).on_hover_text("the best textbox of your life").changed(){log::info!(">> new text: {}", self.voop);}});