From 9e698917cb5b332cdbf1969ddfe3840239106c8d Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Thu, 5 Oct 2023 09:31:02 +0200 Subject: Implemented compose; some cleanup --- utils/FORMAT.txt | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 utils/FORMAT.txt (limited to 'utils/FORMAT.txt') diff --git a/utils/FORMAT.txt b/utils/FORMAT.txt new file mode 100644 index 0000000..74e7442 --- /dev/null +++ b/utils/FORMAT.txt @@ -0,0 +1,24 @@ +The functions readcube() and writecube() use the following format. + +Each edge is represented by two letters denoting the sides it belongs to +and one number denoting its orientation (0 oriented, 1 mis-oriented). +Similarly, each corner is represented by three letters and a number +(0 oriented, 1 twisted clockwise, 2 twisted counter-clockwise). +Edge orientation is relative to the F / B axis, corner orientation is +relative to the U / D axis. + +The pieces are ordered such that the solved cube looks like this: + +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 +UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 + +Whitespace (including newlines) between pieces is ignored when reading +the cube, and a single whitespace character is added between pieces +when writing. + +The cube after the moves R'U'F looks like this: + +FL1 BR0 DB0 UR1 UF0 UB0 DL0 FR0 UL1 DF1 BL0 DR0 +UBL1 DBR1 UFR2 DFR2 DFL2 UBL2 UFL2 DBL0 + +More formats might be supported in the future. -- cgit v1.3