csTimer version 2024.08.13 - Professional Speedcubing/Training Timer
Language:
Introduction
csTimer is a professional timing program designed for Rubik's cube speedsolvers, it provides:
Amounts of scramble algorithms, including all WCA official events, varieties of twisty puzzles, training scramble for specific sub steps (e.g. F2L, OLL, PLL, ZBLL, and can filter cases), etc
Plenty of statistics functions, it supports time-split timing; Any number of sessions, session split/merge, etc.
Varieties of solver, such as Cross, Xcross, 2x2x2 face, Skewb Face, SQ1 shape, for learning or training these sub steps.
Other auxiliary tools, such as scramble image, 8-second inspection (voice) alert, metronome, batch-scramble generator, etc.
Backup function, For avoiding data missing, you can backup your solves to local files, csTimer's server or Google storage.
csTimer supports most of modern desktop browsers, on mobile phone and tablet PC, you can add csTimer to your home screen, and it will work as a native APP.
csTimer takes advantage of browser cache, which consumes traffic only when you open it for the first time, after that, csTimer is able to work without network connection (except for functions like backup)
Copyright
csTimer is an open source software that follows the GPLv3. If you have any suggestions or comments on csTimer, please submit it here
How to start timing - Hold the space bar (or both of left and right Ctrl keys, or touch the screen on mobile devices) and wait for the timer to turn green, the timer will start timing once the space bar is released, press any key to stop timing and the solving time will be record.
UI description - There are 6 buttons near the logo of csTimer: option, export, scramble, list times, donate, tools, click on the scramble, list times, tool to open the corresponding function panel.
Scramble panel - In the Scramble panel, you can select scramble type, set scramble length and case filter (if available), review previous scramble, generate next scramble.
List times panel - In the list times panel, you can open session manager by clicking "Session", select/add/delete sessions, empty session by the selector and the button next to, then you can view the current single/average, best single/average, and the full time list.
Tools panel - In the tool panel, you can select specific auxiliary functions, including scramble image, scramble generators, solvers, other kinds of statistics, etc.
Keyboard shortcut
Key
Function
Alt + 1
Scramble type to Square-1
Alt + 2 ~ 7
Scramble type to 2x2x2~7x7x7
Alt + p/m/c/s
Scramble type to pyra/megaminx/clock/skewb
Alt + i
Scramble type to input
Alt + d
Remove all solves in current session
Alt + z
Remove the latest solve
Alt + up/down
To next/last session
Alt + left/right
Display last/next scramble
Ctrl + 1/2/3
The latest solve is OK/+2/DNF
Ctrl + Alt + t/i/s/v/g/q/b/l
Entering in times with timer/typing/stackmat/virtual/bluetooth cube/qcube/bluetooth timer/last layer
Gesture
Function
Up left
The latest solve is DNF
Up
The latest solve is +2
Up right
The latest solve is OK
Left
Last scramble
Right
Next scramble
Down left
Add comment to the latest solve
Down
Remove the latest solve
Down right
Check the latest solve
Virtual Cube Key Map
Option details
Hide All Elements When Timing. Hide logo and all panels when timing.
use milliseconds. Display the millisecond digit, no matter whether it is checked, the internal timing accuracy of csTimer is 1 millisecond.
time format. Time format to display.
Auto Export (per 100 solves). If checked, csTimer will export the solves automatically per 100 solves to the specified place, local file, csTimer server, or Google Storage.
Import non-latest data. If you've uploaded multiple backups, you can import from one of the up to 10 most recently uploaded backups, if you accidentally upload an empty backup, this option will help you retrieve your solves.
Hint messages in logo. cstimer's Logo will serve as an information display panel that prompts for a variety of information you may be interested in, such as breaking PB.
Show Avg Label. Two lines of labels are displayed below the the main timer, the current two averages, ao5 and ao12 by default.
Zoom. You can adjust sizes of all elements by this option.
select timer's font. Font of the main timer.
UI design is. You can switch ui design to material-like, or hide shadows by this option.
UI style is. Switch between desktop and mobile views.
Scramble panel display style. Make scramble panel embedded into background.
Statistics panel display style. Make list times panel embedded into background.
Tools panel display style. Make tool panel embedded into background.
background image opacity. Opacity of the background image.
background image. You can select your own image as the background image, however, only https urls are available due to security constraint of the browser.
timer size. Set the size of main timer.
use small font after decimal point. Use a smaller font size after the digital point in main timer.
select color theme. Select color schemes of csTimer. Click csTimer's logo to show more color schemes.
use mouse timer. Use mouse to start timer, keyboard-trigger will also be available.
use WCA inspection. Enable WCA inspection procedure, which is a 15-second countdown, auto +2/DNF penalty will also be enabled if you inspecting more than 15 seconds.
voice alert of WCA inspection. Alert at 8s/12s of inspection, to simulate the alert from judge in WCA competitions.
Voice volume. Voice level of the alert above.
entering in times with. csTimer is able to add solves by several ways, it supports manually input, automatically record from a stackmat timer, connect to a bluetooth smart cube or play virtual Rubik's cube, besides keyboard timing.
Unit when entering an integer. When you type an integer XXX in the input box, what does it mean, XXX second or XXX centisecond or XXX millisecond?
timer update is. How timer is updated when timing.
time of keeping space down(second(s)). How long the space bar should be held before the timer turns green.
multi-phase. Number of phases, press any key to mark a split point when timing.
Use Stackmat Status Information. Stackmat will report its state, e.g. whether left or right area is touched, then csTimer is able to use these information, however, the data error might occur and cause unexpected behavior.
scramble size. Size of the scramble text.
Auto scramble size. The size of the scramble text will be automatically adjusted by the length of the scramble, which works with together previous option.
monospaced scramble. Use monospaced font for scramble text.
Limit the height of scramble area. When the scramble area is too high, a scroll bar will occur to avoid the raising of the scramble panel.
Alignment of scramble area. Alignment of the whole scramble area, include scramble type selector.
pre-scramble. Pre moves before scramble, which is used for virtual Rubik's cube and scramble image.
Color neutral. If turned on, the position/first-layer color of some training scrambles will be random.
Using fast scramble for 4x4x4 (non-official). WCA official 4x4x4 scramble requires huge computation resources, select this option to use a random-move scramble for 4x4x4 instead.
Label key move(s) in scramble. Mark a key move in the scramble, e.g. the move that take the state away from square shape in SQ1 scrambles.
Action when clicking scramble. Behavior when you click on the scramble text, copy scramble or generate next scramble.
Number of solves trimmed at better side. Number of solves trimmed at head and tail of solves when calculating average.
show summary before time list. Show the statistics table before time list.
Show target time for session best. In the statistics table, the time required to refresh personal best after next solve is displayed. "N/A" means the next solve will not refresh PB no matter how fast it is, "∞" means any time except DNF will refresh PB.
print scramble(s) in statistics. Print scramble in round statistics dialog.
print solving date in statistics. Print solving date in round statistics dialog.
rename session immediately after creation. Immediately rename a session after creating it.
create new session when switching scramble type. When switching scramble type, a new session will be created.
Inverse time list. Invert the time list, thus, latest solves will at the bottom of the time list.
Enable session emptying. When disabled, an '+' button (for session creating) will replace the 'X' button besides the session selector, thus, when clicked, a new empty session will be created instead of clearing the whole session.
Show absolute index in statistics report. Show absolute index in the session instead of 1 to number of solves (e.g. 1/2/3 for mo3) in round statistics.
Show stat. when clicking solve number. When click the first row of the time list, show a round statistics for a single solve.
Statistical indicators. Statistical indicator for the statistics table, when customizing, aoX and moX are available.
Enable Multiple Deletion. Able to delete multiple solves starts from a solve, for avoid misunderstand, the selected solve will be the oldest solve to delete.
time distribution precision. Time interval for the time distribution tool.
Show solution progressively. If selected, only the length of a solution from a solver is displayed, and you can view the solution one move by one move, otherwise, the whole solution is displayed.
Scramble Image Size. Set the size of scramble image.
number of tools. csTimer is able to show up to 4 tools simultaneously.
use keyboard shortcut. Use keyboard shortcut to switch scramble type, generate next scramble, switch between sessions. Click csTimer's logo to show details.
use gesture control. Use gestures (swiping in different directions) to switch OK/+2/DNF, add comments, generate next scramble, etc. Also available on non-touch screen devices when mouse timer is enabled. Click csTimer's logo to show details.
VRC base speed (tps). Base turn speed of the virtual Rubik's cube, the turn will be speed up if there are multiple moves to turn.
multi-phase. Automatic multi-phase split for virtual Rubik's cube and bluetooth cube.
Bluetooth Cube Mode. Usage mode of smart cube: In normal mode, you need to manually scramble the cube until it is consistent with the scrambled state; in training mode, after pressing the space (or touching the screen on the touch screen), the virtual cube will directly change to the scrambled state. You need to solve virtual cube partially (depends on scramble, e.g. permutation of last layer is not checked in oll training) instead of physical cube; In continuous training mode, in addition to training mode, once the virtual cube is solved, you will directly enter the next solve without pressing space. You can also press ESC (on a touch screen, hold the screen for 2 seconds) to exit the solve.
Show virtual bluetooth cube. Show a virtual Rubik's cube in the main timer when connecting to a bluetooth cube.
Mark scrambled if stay. For a bluetooth cube, csTimer cannot know whether a move is from for scrambling or solving.
Mark scrambled with spacebar. When the space bar is pressed, the bluetooth cube is marked scrambled, any turns after that will treated as the start of timing.
Mark scrambled by doing. Use specific move sequences on the bluetooth cube to mark scrambled.
Beep when mark scrambled. Beep when some of scramble-finish signal is triggered.
Reset bluetooth cube when connect. When connecting to a bluetooth cube, csTimer will detect whether it is solved, if not, there might be some hardware problems or the cube is really unsolved.
Auto hardware error detection. Some bluetooth cubes will loss some of moves due to hardware failure, csTimer will try to detect such case.
Tools detail
ScrambleGenerator. You are able to generate up to 999 scrambles with one click by this tool.
Confirm time. Tool to view current solves with its comment, scramble, solving date and reconstruction if available, which is also the dialog when you click on a solve.
cross-session stats. You are able to do cross-session statistics with this tool.
Statistics. Statistic table similar with the table in the list times panel.
time distribution. Time distribution and stability analysis, <X Y/Z means there are totally Z solves less than X seconds, and all of the latest Y solves are less than X seconds in the session.
time trend. Shows a trend curve of all solves in current session.
Daily Statistics. Count number of solves each day/week/month/year.
draw scramble. Scramble image to verify a correct scramble, all WCA puzzles are supported.
Solvers > Roux S1. Roux 1st step solver, which solves a 1x2x3 block.
Solvers > EOLine. EO line solver, which solves orientations of all 12 edges, and positions of DF and DB edges.
Solvers > Cross. Cross solver, which solve DF, DL, DR, DB edges.
Solvers > 2x2x2 face. 2x2x2 face solver, which solves a face of 2x2x2 cube.
Solvers > Cross + F2L. Cross and F2L solver, which solves Cross and 4 F2Ls with computer search, so the solution might be far from human solutions.
Solvers > Roux S1 + S2. Roux 1st and 2nd step solver, which firstly solves a 1x2x3 block on the left face and then expend another 1x2x3 block on the right face with R, M, r, U.
Solvers > 2x2x2 + 2x2x3. Petrus 1st and 2nd step solver, which firstly solves an 2x2x2 block on the left and then expend it to a 2x2x3 on the left.
Solvers > EOLine + ZZF2L. Eoline and ZZF2L solver, which firstly solves the EOLine and then solve one of left 1x2x3 or right 1x2x3 and the solve the other 2x2x3.
Solvers > SQ1 S1 + S2. SQ1 1st and 2nd step solver, which firstly solves the shape of SQ1 and then split U pieces and D pieces.
Solvers > Pyraminx V. Pyraminx V solver, which solves three corners and two edges to shape into a 'V' pattern for pyraminx.
Solvers > Skewb Face. Skewb face solver, which solves a layer of skewb, more specifically, 1 center and 4 neighbor corners.
Bluetooth Cube. Auxiliary tool for bluetooth cube, which is able to show current state, battery power, real-time reconstruction etc.
metronome. Metronome, besides beeping at specific frequency, you make it beep at specific time after starting solve as well.
Common Scramble. Using same scrambles with friends by setting a common seed.
stackmat. Auxiliary tool for Stackmat, which is able to view the status, power and noise level of the signal, etc.
In addition to timing by keyboard, csTimer also supports Bluetooth Smart Cubes and Smart Timers.
If you use a smart cube, csTimer will record the detailed solution of each of your solves and provide more statistics and practice functions (e.g. CFOP automatic segmentation, etc.)
For some bluetooth cubes, we need you to provide the MAC address of your cube to decrypt the data. csTimer is able to automatically read MAC address of the cube if you properly setup your browser:
Chrome: enable chrome://flags/#enable-experimental-web-platform-features flag in browser settings.
Bluefy: turn on Enable BLE Advertisements option in browser settings.