cs0x7f / twisty.js

Twistypuzzle animation library in Javascript using three.js

Home Page:http://www.cubing.net/twisty.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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?

About

Twistypuzzle animation library in Javascript using three.js

http://www.cubing.net/twisty.js


Languages

Language:JavaScript 98.8%Language:Shell 1.2%