Git Product home page Git Product logo

pistol's Introduction

Pistol

Pistol is an open source speedcubing timer that brings a modern aproach and desing. Focused on the best possible user expirience: elegancy, simplicity, ease of use, performance and customization.

Built with SvelteKit, still under development.

Contributing

If you found a typo or a easy issue to fix, feel free to raise a new issue. I will fix it if it's reasonable or I will close it if it's not.

If anyone wants to implement a new feature or to make changes in the code themselves, I will gladly review and merge pull requests. Just don't expect me to make the development process easier (I have no clue what I would be suppossed to do).

Credits

All the cubing visualizations were made with cubing.js.

Scrambles for 3x3, 2x2, 4x4, 5x5, Pyrmanix, Square-1, Clock and Skewb are generated by the csTimer scrambler, with modifications by lgarron for the cubing.js timer.

Timer inspired mainly by csTimer and partialy by the cubing.js timer.

License

This project is licensed under the GPL license (version 3 or later). This means that this library is free to use, although you must publish any code that uses it (e.g. also put it on GitHub). See the full license for exact details.

pistol's People

Contributors

odilf avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

pistol's Issues

Scramble visualizer

Visualize how the cube should look in a certain part of the scramble by hovering the mouse on the desired part.
Also have a visualization that plays to show how to scramble a cube, since it can be hard for begginers to learn cube notation.
Using cubing.js.
Dependant on #8 (Implement scrambler)

Add zen mode

Like lichess.org, remove all distractions and clutter for a nice, minimal, solving experience.

Solve heat map

Change color in solve list depending if it's good/bad

Disable space-toggling in ui elements

If you select something and press the spacebar, it toggles the last selected element. That behaviour is undesirable, since the timer is started by pressing space.
Happens with svelte-materialify ui components.

Add timer press delay

Like to start the timer you should hold for .55 seconds or whatever wca standards are

Make settings

  • Save preferences to sessionStorage
  • Implement easy way of retrieving various settings (i.e. from the name)

Implement auto-reconstructioner

You select your solving method (basically CFOP or Roux) and find logical ways that the person could have solved the cube.

Save solves

using same library as the one used in settings store

Implement scrambler

Either from a npm library, from scratch, from csTimer or from java/tnoodle

Add themes

Light, dark and Estonian would be cool!

Make basic design

  • Figure out where everything should go
  • Fix times scrolling of the page first
  • Make solve item look nice with the popup and #19 (post solve editing)
  • Make decimals in timer smaller than units

Add navigation shorcuts

I'm thinking shift+s for settings, shift+h or t for home/timer.
Also cntrl z/cmd z for deleting solves and cntr/cmd 1/2/3 for adding penalties
Also also up down arrow for moving between solves

Implement users

A user system with databases and the stuff.
In the backburner for now...

Add footer

With links to timer, about and idk what more

Implement smart stats

Have smart statistics. This means not showing all of the data all the time and letting the user interpret the results.

Examples:

  • Show dynamically the average that is the most unusual and what it is likely to mean
  • Warn user if solves are waaaay out of the expected since it might be an error (Use snackbar from smui!)
  • Be able to tell your progress, in general

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.