Git Product home page Git Product logo

twisty.js's Introduction

twisty.js

A javascript library for twistypuzzles.

Started by Lucas Garron, July 2011.

Inspiration

Miscellaneous Development Notes

Puzzle/State representation

  • Current state (array of (piece + matrix))
  • tempo function for each possible ongoing move
  • Queueing moves
  • Move pause
  • Speed up if queue grows (inc. current move straight into next)
  • Simultaneous moves
  • Metric support?
  • Algorithm objects?

Bugs and Features

  • Animate based on time, not steps
  • Update speed before move (reproduce: queue lots of moves; after they're done, the next move is instant, the one after that normal).
    • Rethink speed control in general.
  • Negative layer indices
  • Proper drag/touch support

Puzzle description contract

  • parameters per puzzle
  • key handlers
    • variable states? (level of slice for big cubes [visual indicator of those?])
  • initmove/revmove stuff?
  • visual options (stickers + cubies, stickers only, etc.)
  • Random move / alg generation?

##Features / Settings (dynamicable?)

  • full color/sticker settings (color lists for faces?), image maps
  • custom coloring for e.g. different cube steps (OLL, 6x6x6 centers)
  • transparency (param)
  • bgcolor (transparent default) - is this really necessary?
  • BLD mode
  • Each puzzle: Interface for random scramble?
  • animation/transition curve
  • Config file (thus, standard specs)
  • Callback interface
  • notations?
  • See CubeTwister
  • Playback interface (one level abstracted, but still on same div?)
  • camera settings (location, scale?, orthoQ, etc.)
  • rear view
  • Mouse support
  • Cube panning/rotation
  • static rendering support (for WCA scramblers, etc.)
  • debug mode
  • bandaging?

Puzzles

  • Investigate UMC
  • NxNxN
  • KxLxM
  • 15 Puzzle
  • Pyraminx (any order + edge twisting?)
  • Megaminx (any order)
  • Square-1 (any number of layers?)
  • Clock (NxNxN?)
  • Octahedron?
  • Magic?
  • Sticker-sliding cube
  • pyra crystal
  • Skewb (any order)
  • Square-2
  • UFO
  • Heli cube
  • Anything on gelatinbrain / Jaap's page?

twisty.js's People

Contributors

jfly avatar lgarron avatar

Stargazers

Chen Shuang avatar

Watchers

James Cloos avatar Chen Shuang avatar  avatar

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.