mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-29 23:04:49 +00:00
removed hacky caret, fixed highlight rectsize, added voice input idea
This commit is contained in:
parent
c82119e6d8
commit
fc310cf974
4 changed files with 12 additions and 19 deletions
|
@ -70,6 +70,11 @@ These are potentially inspirational resources for the editor's design.
|
|||
* GPT-3 can generate correct python functions based on a comment describing the functionality, video [here](https://www.youtube.com/watch?v=utuz7wBGjKM). It's possible that training a model using ast's may lead to better results than text based models.
|
||||
* Users with large private code bases could (re)train a publicly available error recovery model to experience benefits without having to share their code.
|
||||
* It could be useful to a user who is creating a function to show them the most similar function (type signature, name, comment) in a public+their private database. Say I was using a web framework and I just created a function that has a multipart form as argument, it would be great to have an example instantly available.
|
||||
* Voice input:
|
||||
* Good for accessibility.
|
||||
* https://www.youtube.com/watch?v=Ffa3cXM7bjc is interesting for inspiration.
|
||||
* Describe actions instead of using complicated shortcuts.
|
||||
* Could be efficient way to communicate with smart assistant.
|
||||
|
||||
|
||||
## General Thoughts/Ideas
|
||||
|
|
|
@ -107,7 +107,7 @@ fn run_event_loop() -> Result<(), Box<dyn Error>> {
|
|||
let mut glyph_brush = build_glyph_brush(&gpu_device, render_format)?;
|
||||
|
||||
let is_animating = true;
|
||||
let mut text_state = String::new();
|
||||
let mut text_state = "A".to_owned();
|
||||
let mut keyboard_modifiers = ModifiersState::empty();
|
||||
|
||||
// Render loop
|
||||
|
@ -341,7 +341,7 @@ fn queue_all_text(
|
|||
position: (30.0, 90.0).into(),
|
||||
area_bounds,
|
||||
color: (0.0, 0.05, 0.46, 1.0).into(),
|
||||
text: String::from(format!("{}|", text_state).as_str()),
|
||||
text: String::from(text_state),
|
||||
size: 40.0,
|
||||
..Default::default()
|
||||
};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use cgmath::Vector2;
|
||||
use wgpu_glyph::{ab_glyph};
|
||||
|
||||
pub struct Rect {
|
||||
pub top_left_coords: Vector2<f32>,
|
||||
|
@ -7,12 +6,3 @@ pub struct Rect {
|
|||
pub height: f32,
|
||||
pub color: [f32; 3],
|
||||
}
|
||||
|
||||
pub fn convert_rect(glyph_rect: ab_glyph::Rect, color: [f32; 3]) -> Rect {
|
||||
Rect {
|
||||
top_left_coords: [glyph_rect.min.x, glyph_rect.min.y].into(),
|
||||
width: glyph_rect.width(),
|
||||
height: glyph_rect.height(),
|
||||
color
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
use ab_glyph::{FontArc, InvalidFont};
|
||||
use cgmath::{Vector2, Vector4};
|
||||
use wgpu_glyph::{ab_glyph, GlyphBrush, GlyphBrushBuilder, GlyphCruncher, Section, SectionGlyphIter, SectionGlyph};
|
||||
use wgpu_glyph::{ab_glyph, GlyphBrush, GlyphBrushBuilder, GlyphCruncher, Section};
|
||||
use crate::rect::Rect;
|
||||
|
||||
#[derive(Debug)]
|
||||
|
@ -53,23 +53,21 @@ pub fn queue_text_draw(text: &Text, glyph_brush: &mut GlyphBrush<()>) -> Vec<Rec
|
|||
|
||||
let glyph_section_iter = glyph_brush.glyphs_custom_layout(section, &layout);
|
||||
|
||||
let glyph_bound_rects = glyph_section_iter.map(|section_glyph|
|
||||
glyph_section_iter.map(|section_glyph|
|
||||
{
|
||||
let position = section_glyph.glyph.position;
|
||||
let px_scale = section_glyph.glyph.scale;
|
||||
let width = px_scale.x;
|
||||
let width = px_scale.x * 0.5;
|
||||
let height = px_scale.y;
|
||||
|
||||
Rect {
|
||||
top_left_coords: [position.x - width, position.y - height].into(),
|
||||
top_left_coords: [position.x, position.y - height * 0.75].into(),
|
||||
width,
|
||||
height,
|
||||
color: [1.0, 1.0, 1.0]
|
||||
}
|
||||
}
|
||||
).collect();
|
||||
|
||||
glyph_bound_rects
|
||||
).collect()
|
||||
}
|
||||
|
||||
pub fn build_glyph_brush(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue