Git Product home page Git Product logo

Comments (5)

jrnxf avatar jrnxf commented on June 6, 2024 3

Hey nice work! My main critique(s) would be that as you finish the first line you jump to the second line and stay there until the end of the test -- exactly as monkeytype does it. The only difference I might consider is that on monkeytype as you are approaching your last and final line, that last line jumps up to the second line (leaving no third line) and you finish. I think it might feel like a nice sense of satisfaction if you could actually see yourself finally jump out of the second line loop and make it to that third and final loop. There are a few other nitpicks I'm seeing in your branch, but nothing I we can't solve together! Why don't you open up a PR with it as is and we can workshop it! I think if you include #6 in the PR title it will auto link this issue. Also look out for a button in when creating the PR along the lines of Allow maintainer contributions or something, I believe that should let me add to the PR as well!

from thokr.

jrnxf avatar jrnxf commented on June 6, 2024

@TheTrio thank you for checking out thokr! This is an excellent idea, and would completely solve the performance issues (see context below) that comes from when users specify super long prompts. I had a similar idea of recreating the MonkeyType auto-scroll but honestly can't remember why I decided against it. I do know that at that point I wasn't aware of any performance concerns, so maybe that's why? Either way this seems like a great approach and know firsthand it would solve a number of problems. Are you interested in tackling this one with me? It's fine if not! I'm happy to assign it to myself and start work on it when things settle down for me!


Current performance concerns:

Here's a gif I made highlighting the problem. Keep in mind nobody in their right mind can actually type this fast, nor do I imagine anyone is requesting tests with word lengths this long, but it's still an important performance metric to consider. (basically rust is having to calculate what to draw on each and every keypress -- plus a 100ms interval if using a timed test) which slows down the processing significantly the longer the test goes on and the more there is to calculate.

poor performance at large word lengths

from thokr.

TheTrio avatar TheTrio commented on June 6, 2024

Are you interested in tackling this one with me? It's fine if not! I'm happy to assign it to myself and start work on it when things settle down for me!

I really don't know that much rust, but I would love to give it a shot. I suppose the file to start hacking in is ui.rs?

from thokr.

TheTrio avatar TheTrio commented on June 6, 2024

I have something like this presently

demo

The code is here. I wanted to know if I'm in the right direction before making a PR

from thokr.

TheTrio avatar TheTrio commented on June 6, 2024

My main critique(s) would be that as you finish the first line you jump to the second line and stay there until the end of the test -- exactly as monkeytype does it

Yeah, that would definitely be a better experience. The only reason this looks the way it currently does is because I found it easier to implement.

There are a few other nitpicks I'm seeing in your branch, but nothing I we can't solve together!

Great! I'm sure I've written some pretty unidiomatic Rust, and would be happy to improve it!

Have also created a PR.

from thokr.

Related Issues (9)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.