cube-state-engine 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +9 -0
- package/.idea/AICommit.xml +6 -0
- package/.idea/awsToolkit.xml +11 -0
- package/.idea/cube-state-engine.iml +8 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/dist/index.d.mts +1388 -656
- package/dist/index.d.ts +1388 -656
- package/dist/index.js +961 -462
- package/dist/index.mjs +954 -461
- package/package.json +2 -2
- package/.idea/workspace.xml +0 -304
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cube-state-engine",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "An efficient representation in memory for tracking the Rubik's cube state on each movement.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"homepage": "https://github.com/bryanlundberg/cube-state-engine#readme",
|
|
22
22
|
"repository": {
|
|
23
23
|
"type": "git",
|
|
24
|
-
"url": "https://github.com/bryanlundberg/cube-state-engine"
|
|
24
|
+
"url": "git+https://github.com/bryanlundberg/cube-state-engine.git"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@babel/core": "7.26.0",
|
package/.idea/workspace.xml
DELETED
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="AutoImportSettings">
|
|
4
|
-
<option name="autoReloadType" value="SELECTIVE" />
|
|
5
|
-
</component>
|
|
6
|
-
<component name="ChangeListManager">
|
|
7
|
-
<list default="true" id="c7204f89-75f2-42e0-aed9-81b858994b5a" name="Changes" comment="refactor: CubeEngine initialization logic and comments. Removed redundant comments and streamlined the CubeEngine class code. This improves readability while keeping the logic intact, ensuring clarity and maintainability.">
|
|
8
|
-
<change beforePath="$PROJECT_DIR$/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/index.html" afterDir="false" />
|
|
9
|
-
<change beforePath="$PROJECT_DIR$/main.js" beforeDir="false" afterPath="$PROJECT_DIR$/main.js" afterDir="false" />
|
|
10
|
-
</list>
|
|
11
|
-
<option name="SHOW_DIALOG" value="false" />
|
|
12
|
-
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
13
|
-
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
14
|
-
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
15
|
-
</component>
|
|
16
|
-
<component name="Git.Settings">
|
|
17
|
-
<option name="RECENT_BRANCH_BY_REPOSITORY">
|
|
18
|
-
<map>
|
|
19
|
-
<entry key="$PROJECT_DIR$" value="main" />
|
|
20
|
-
</map>
|
|
21
|
-
</option>
|
|
22
|
-
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
23
|
-
</component>
|
|
24
|
-
<component name="GitHubPullRequestSearchHistory">{
|
|
25
|
-
"lastFilter": {
|
|
26
|
-
"state": "OPEN",
|
|
27
|
-
"assignee": "bryanlundberg01"
|
|
28
|
-
}
|
|
29
|
-
}</component>
|
|
30
|
-
<component name="GithubPullRequestsUISettings">{
|
|
31
|
-
"selectedUrlAndAccountId": {
|
|
32
|
-
"url": "https://github.com/bryanlundberg/cube-state-engine.git",
|
|
33
|
-
"accountId": "85b47674-9e23-4732-99d6-79570b26716d"
|
|
34
|
-
}
|
|
35
|
-
}</component>
|
|
36
|
-
<component name="ProjectColorInfo">{
|
|
37
|
-
"associatedIndex": 3
|
|
38
|
-
}</component>
|
|
39
|
-
<component name="ProjectId" id="2sl2I2ViYNbfTkFbsmtRZjsyMhx" />
|
|
40
|
-
<component name="ProjectViewState">
|
|
41
|
-
<option name="hideEmptyMiddlePackages" value="true" />
|
|
42
|
-
<option name="showLibraryContents" value="true" />
|
|
43
|
-
</component>
|
|
44
|
-
<component name="PropertiesComponent"><![CDATA[{
|
|
45
|
-
"keyToString": {
|
|
46
|
-
"JavaScript Debug.index.html.executor": "Run",
|
|
47
|
-
"Jest.2x2 Cube Tests.executor": "Run",
|
|
48
|
-
"Jest.Dw equals y' U.executor": "Run",
|
|
49
|
-
"Jest.Dw' equals y U'.executor": "Run",
|
|
50
|
-
"Jest.Dw2 equals Dw Dw.executor": "Run",
|
|
51
|
-
"Jest.M equals Lw L'.executor": "Run",
|
|
52
|
-
"Jest.M' equals Lw' L.executor": "Run",
|
|
53
|
-
"Jest.ROTATE M then M' returns to solved.executor": "Run",
|
|
54
|
-
"Jest.ROTATE Rw then Rw' returns to solved.executor": "Run",
|
|
55
|
-
"Jest.ROTATE z'.executor": "Run",
|
|
56
|
-
"Jest.ROTATE z.executor": "Run",
|
|
57
|
-
"Jest.Rw equals x L.executor": "Run",
|
|
58
|
-
"Jest.Rw' equals x' L'.executor": "Run",
|
|
59
|
-
"Jest.applyMoves supports B and records when requested.executor": "Run",
|
|
60
|
-
"Jest.applyMoves supports M and M' and records when requested.executor": "Run",
|
|
61
|
-
"Jest.applyMoves supports Rw and Rw' and records when requested.executor": "Run",
|
|
62
|
-
"Jest.applyMoves with record: false does not record history.executor": "Run",
|
|
63
|
-
"Jest.constructor scramble supports M and does not record history.executor": "Run",
|
|
64
|
-
"Jest.cube-engine-2x2.test.js.executor": "Run",
|
|
65
|
-
"Jest.cube-engine.test.js.executor": "Run",
|
|
66
|
-
"Jest.initialize with scramble R U' F R2 D.executor": "Run",
|
|
67
|
-
"Jest.initialize with scramble by string: R U' F R2 D.executor": "Run",
|
|
68
|
-
"Jest.spawn a cube.executor": "Run",
|
|
69
|
-
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
70
|
-
"RunOnceActivity.git.unshallow": "true",
|
|
71
|
-
"git-widget-placeholder": "virtual-egine-2x2",
|
|
72
|
-
"ignore.virus.scanning.warn.message": "true",
|
|
73
|
-
"junie.onboarding.icon.badge.shown": "true",
|
|
74
|
-
"last_opened_file_path": "C:/Users/bryan/OneDrive/Documentos/workspace/NexusTimer",
|
|
75
|
-
"node.js.detected.package.eslint": "true",
|
|
76
|
-
"node.js.detected.package.tslint": "true",
|
|
77
|
-
"node.js.selected.package.eslint": "(autodetect)",
|
|
78
|
-
"node.js.selected.package.tslint": "(autodetect)",
|
|
79
|
-
"nodejs.jest.jest_package": "C:/Users/bryan/OneDrive/Documentos/workspace/cube-state-engine/node_modules/jest",
|
|
80
|
-
"nodejs_package_manager_path": "npm",
|
|
81
|
-
"npm.build.executor": "Run",
|
|
82
|
-
"npm.test.executor": "Run",
|
|
83
|
-
"settings.editor.selected.configurable": "preferences.pluginManager",
|
|
84
|
-
"to.speed.mode.migration.done": "true",
|
|
85
|
-
"ts.external.directory.path": "C:\\Users\\bryan\\OneDrive\\Documentos\\workspace\\cube-state-engine\\node_modules\\typescript\\lib",
|
|
86
|
-
"vue.rearranger.settings.migration": "true"
|
|
87
|
-
}
|
|
88
|
-
}]]></component>
|
|
89
|
-
<component name="RunManager" selected="Jest.cube-engine-2x2.test.js">
|
|
90
|
-
<configuration name="applyMoves supports B and records when requested" type="JavaScriptTestRunnerJest" temporary="true" nameIsGenerated="true">
|
|
91
|
-
<node-interpreter value="project" />
|
|
92
|
-
<jest-package value="$PROJECT_DIR$/node_modules/jest" />
|
|
93
|
-
<working-dir value="$PROJECT_DIR$" />
|
|
94
|
-
<envs />
|
|
95
|
-
<scope-kind value="TEST" />
|
|
96
|
-
<test-file value="$PROJECT_DIR$/test/cube-engine.test.js" />
|
|
97
|
-
<test-names>
|
|
98
|
-
<test-name value="applyMoves supports B and records when requested" />
|
|
99
|
-
</test-names>
|
|
100
|
-
<method v="2" />
|
|
101
|
-
</configuration>
|
|
102
|
-
<configuration name="cube-engine-2x2.test.js" type="JavaScriptTestRunnerJest" temporary="true" nameIsGenerated="true">
|
|
103
|
-
<node-interpreter value="project" />
|
|
104
|
-
<jest-package value="$PROJECT_DIR$/node_modules/jest" />
|
|
105
|
-
<working-dir value="$PROJECT_DIR$" />
|
|
106
|
-
<envs />
|
|
107
|
-
<scope-kind value="TEST_FILE" />
|
|
108
|
-
<test-file value="$PROJECT_DIR$/test/cube-engine-2x2.test.js" />
|
|
109
|
-
<method v="2" />
|
|
110
|
-
</configuration>
|
|
111
|
-
<configuration name="cube-engine.test.js" type="JavaScriptTestRunnerJest" temporary="true" nameIsGenerated="true">
|
|
112
|
-
<node-interpreter value="project" />
|
|
113
|
-
<jest-package value="$PROJECT_DIR$/node_modules/jest" />
|
|
114
|
-
<working-dir value="$PROJECT_DIR$" />
|
|
115
|
-
<envs />
|
|
116
|
-
<scope-kind value="TEST_FILE" />
|
|
117
|
-
<test-file value="$PROJECT_DIR$/test/cube-engine.test.js" />
|
|
118
|
-
<method v="2" />
|
|
119
|
-
</configuration>
|
|
120
|
-
<configuration name="spawn a cube" type="JavaScriptTestRunnerJest" temporary="true" nameIsGenerated="true">
|
|
121
|
-
<node-interpreter value="project" />
|
|
122
|
-
<jest-package value="$PROJECT_DIR$/node_modules/jest" />
|
|
123
|
-
<working-dir value="$PROJECT_DIR$" />
|
|
124
|
-
<envs />
|
|
125
|
-
<scope-kind value="TEST" />
|
|
126
|
-
<test-file value="$PROJECT_DIR$/test/cube-engine.test.js" />
|
|
127
|
-
<test-names>
|
|
128
|
-
<test-name value="spawn a cube" />
|
|
129
|
-
</test-names>
|
|
130
|
-
<method v="2" />
|
|
131
|
-
</configuration>
|
|
132
|
-
<configuration name="index.html" type="JavascriptDebugType" temporary="true" nameIsGenerated="true" uri="http://localhost:63342/cube-state-engine/index.html" useBuiltInWebServerPort="true">
|
|
133
|
-
<method v="2" />
|
|
134
|
-
</configuration>
|
|
135
|
-
<recent_temporary>
|
|
136
|
-
<list>
|
|
137
|
-
<item itemvalue="Jest.cube-engine-2x2.test.js" />
|
|
138
|
-
<item itemvalue="Jest.cube-engine.test.js" />
|
|
139
|
-
<item itemvalue="Jest.applyMoves supports B and records when requested" />
|
|
140
|
-
<item itemvalue="JavaScript Debug.index.html" />
|
|
141
|
-
<item itemvalue="Jest.spawn a cube" />
|
|
142
|
-
</list>
|
|
143
|
-
</recent_temporary>
|
|
144
|
-
</component>
|
|
145
|
-
<component name="SharedIndexes">
|
|
146
|
-
<attachedChunks>
|
|
147
|
-
<set>
|
|
148
|
-
<option value="bundled-js-predefined-d6986cc7102b-1632447f56bf-JavaScript-WS-243.26574.96" />
|
|
149
|
-
</set>
|
|
150
|
-
</attachedChunks>
|
|
151
|
-
</component>
|
|
152
|
-
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
|
153
|
-
<component name="TaskManager">
|
|
154
|
-
<task active="true" id="Default" summary="Default task">
|
|
155
|
-
<changelist id="c7204f89-75f2-42e0-aed9-81b858994b5a" name="Changes" comment="" />
|
|
156
|
-
<created>1739015757661</created>
|
|
157
|
-
<option name="number" value="Default" />
|
|
158
|
-
<option name="presentableId" value="Default" />
|
|
159
|
-
<updated>1739015757661</updated>
|
|
160
|
-
<workItem from="1739015758729" duration="179000" />
|
|
161
|
-
<workItem from="1741396985188" duration="669000" />
|
|
162
|
-
<workItem from="1741434773408" duration="14000" />
|
|
163
|
-
<workItem from="1757809578390" duration="6244000" />
|
|
164
|
-
<workItem from="1757816608819" duration="487000" />
|
|
165
|
-
<workItem from="1757817801762" duration="372000" />
|
|
166
|
-
<workItem from="1759836800222" duration="2277000" />
|
|
167
|
-
<workItem from="1759843281721" duration="2894000" />
|
|
168
|
-
</task>
|
|
169
|
-
<task id="LOCAL-00001" summary="feat: Add scramble initialization and move application support Introduce a constructor option to initialize the CubeEngine with a scramble string, resetting the move history. Implement `applyMoves` to apply sequences of moves with an option to skip move history recording. Accompany changes with relevant tests.">
|
|
170
|
-
<option name="closed" value="true" />
|
|
171
|
-
<created>1757813016634</created>
|
|
172
|
-
<option name="number" value="00001" />
|
|
173
|
-
<option name="presentableId" value="LOCAL-00001" />
|
|
174
|
-
<option name="project" value="LOCAL" />
|
|
175
|
-
<updated>1757813016634</updated>
|
|
176
|
-
</task>
|
|
177
|
-
<task id="LOCAL-00002" summary="feat: Add support for wide D (Dw) moves in CubeEngine Introduced `rotateDw` and `#rotateDw` methods to handle wide D layer rotations. Updated `applyMoves` to process "Dw" and added corresponding tests to ensure correctness, including scramble handling and move recording behavior.">
|
|
178
|
-
<option name="closed" value="true" />
|
|
179
|
-
<created>1757814527881</created>
|
|
180
|
-
<option name="number" value="00002" />
|
|
181
|
-
<option name="presentableId" value="LOCAL-00002" />
|
|
182
|
-
<option name="project" value="LOCAL" />
|
|
183
|
-
<updated>1757814527881</updated>
|
|
184
|
-
</task>
|
|
185
|
-
<task id="LOCAL-00003" summary="Add support for wide U (Uw) layer rotations Implemented new methods to handle wide U layer rotations, `rotateUw` and `#rotateUw`, along with logic to differentiate between regular and wide U moves. Updated command parsing to recognize and process wide U moves appropriately.">
|
|
186
|
-
<option name="closed" value="true" />
|
|
187
|
-
<created>1757814670104</created>
|
|
188
|
-
<option name="number" value="00003" />
|
|
189
|
-
<option name="presentableId" value="LOCAL-00003" />
|
|
190
|
-
<option name="project" value="LOCAL" />
|
|
191
|
-
<updated>1757814670104</updated>
|
|
192
|
-
</task>
|
|
193
|
-
<task id="LOCAL-00004" summary="Add support for Rw wide moves and related tests Implemented functionality to handle Rw and Rw' (wide right-layer) rotations, including integration with move sequencing and history recording. Updated tests to validate correct behavior for new moves, ensure consistency with equivalent rotations, and verify state preservation.">
|
|
194
|
-
<option name="closed" value="true" />
|
|
195
|
-
<created>1757814961897</created>
|
|
196
|
-
<option name="number" value="00004" />
|
|
197
|
-
<option name="presentableId" value="LOCAL-00004" />
|
|
198
|
-
<option name="project" value="LOCAL" />
|
|
199
|
-
<updated>1757814961897</updated>
|
|
200
|
-
</task>
|
|
201
|
-
<task id="LOCAL-00005" summary="Add support for 'Lw' wide move rotation Implemented functionality for rotating the wide 'Lw' (LEFT two layers) move, both clockwise and counterclockwise. Updated the `applyMoves` method to recognize and execute 'Lw' commands along with proper history tracking.">
|
|
202
|
-
<option name="closed" value="true" />
|
|
203
|
-
<created>1757815147915</created>
|
|
204
|
-
<option name="number" value="00005" />
|
|
205
|
-
<option name="presentableId" value="LOCAL-00005" />
|
|
206
|
-
<option name="project" value="LOCAL" />
|
|
207
|
-
<updated>1757815147915</updated>
|
|
208
|
-
</task>
|
|
209
|
-
<task id="LOCAL-00006" summary="Add support for M slice moves and corresponding tests Introduce functionality to handle M and M' slice moves, including their recording in move history. Update documentation and logic in `applyMoves` to recognize M moves and handle scrambling. Add corresponding unit tests to ensure correctness and behavior consistency.">
|
|
210
|
-
<option name="closed" value="true" />
|
|
211
|
-
<created>1757815394671</created>
|
|
212
|
-
<option name="number" value="00006" />
|
|
213
|
-
<option name="presentableId" value="LOCAL-00006" />
|
|
214
|
-
<option name="project" value="LOCAL" />
|
|
215
|
-
<updated>1757815394671</updated>
|
|
216
|
-
</task>
|
|
217
|
-
<task id="LOCAL-00007" summary="Add rotateZ functionality and tests for the Z-axis rotation Introduce the `rotateZ` method to handle clockwise and counterclockwise rotations along the Z-axis. Updated the README for documentation, extended move handling, and added comprehensive unit tests to verify the functionality.">
|
|
218
|
-
<option name="closed" value="true" />
|
|
219
|
-
<created>1757815728756</created>
|
|
220
|
-
<option name="number" value="00007" />
|
|
221
|
-
<option name="presentableId" value="LOCAL-00007" />
|
|
222
|
-
<option name="project" value="LOCAL" />
|
|
223
|
-
<updated>1757815728756</updated>
|
|
224
|
-
</task>
|
|
225
|
-
<task id="LOCAL-00008" summary="Update README with new CubeEngine methods and examples Added details for new methods like `applyMoves`, wide layer rotations, and the constructor with optional scramble. Improved usage examples, including initializing with a scramble and retrieving movement history.">
|
|
226
|
-
<option name="closed" value="true" />
|
|
227
|
-
<created>1757815931435</created>
|
|
228
|
-
<option name="number" value="00008" />
|
|
229
|
-
<option name="presentableId" value="LOCAL-00008" />
|
|
230
|
-
<option name="project" value="LOCAL" />
|
|
231
|
-
<updated>1757815931435</updated>
|
|
232
|
-
</task>
|
|
233
|
-
<task id="LOCAL-00009" summary="feat: Add reset method to CubeEngine with corresponding test Implemented a reset method to revert the cube to its solved state and clear the move history. Added a unit test to ensure the method functions correctly by resetting both the cube's state and move history.">
|
|
234
|
-
<option name="closed" value="true" />
|
|
235
|
-
<created>1757816840133</created>
|
|
236
|
-
<option name="number" value="00009" />
|
|
237
|
-
<option name="presentableId" value="LOCAL-00009" />
|
|
238
|
-
<option name="project" value="LOCAL" />
|
|
239
|
-
<updated>1757816840133</updated>
|
|
240
|
-
</task>
|
|
241
|
-
<task id="LOCAL-00010" summary="feat: Add `reset` method and improve `CubeEngine` documentation The `reset` method allows resetting the cube to its solved state and clears the move history. Updated the `CubeEngine` constructor to accept an optional initial scramble, and revised the documentation for better clarity and completeness.">
|
|
242
|
-
<option name="closed" value="true" />
|
|
243
|
-
<created>1757817044103</created>
|
|
244
|
-
<option name="number" value="00010" />
|
|
245
|
-
<option name="presentableId" value="LOCAL-00010" />
|
|
246
|
-
<option name="project" value="LOCAL" />
|
|
247
|
-
<updated>1757817044103</updated>
|
|
248
|
-
</task>
|
|
249
|
-
<task id="LOCAL-00011" summary="feat: Add support for rotating the Back (B) layer of the cube Implemented `rotateB` function to handle Back layer rotations clockwise and counterclockwise. Updated related documentation, input bindings, and `applyMoves` method to include support for the B move. Added tests to ensure functionality and alignment with expected behavior.">
|
|
250
|
-
<option name="closed" value="true" />
|
|
251
|
-
<created>1757818136642</created>
|
|
252
|
-
<option name="number" value="00011" />
|
|
253
|
-
<option name="presentableId" value="LOCAL-00011" />
|
|
254
|
-
<option name="project" value="LOCAL" />
|
|
255
|
-
<updated>1757818136642</updated>
|
|
256
|
-
</task>
|
|
257
|
-
<task id="LOCAL-00012" summary="test: Add unit tests for 2x2 CubeEngine functionality Introduce tests for basic 2x2 cube operations, including initialization, move validations (M, wide moves), and algorithm execution. These tests ensure the expected behavior and edge case handling of the 2x2 cube simulation.">
|
|
258
|
-
<option name="closed" value="true" />
|
|
259
|
-
<created>1759844862946</created>
|
|
260
|
-
<option name="number" value="00012" />
|
|
261
|
-
<option name="presentableId" value="LOCAL-00012" />
|
|
262
|
-
<option name="project" value="LOCAL" />
|
|
263
|
-
<updated>1759844862946</updated>
|
|
264
|
-
</task>
|
|
265
|
-
<task id="LOCAL-00013" summary="feat: Add support for 2x2 cube size and refactor state initialization Introduced support for 2x2 cubes by updating methods to adapt to cube size. Refactored state initialization with dynamic matrix generation to reduce repetitive code. Updated cube rotation logic and validation to handle variable sizes more efficiently.">
|
|
266
|
-
<option name="closed" value="true" />
|
|
267
|
-
<created>1759845076135</created>
|
|
268
|
-
<option name="number" value="00013" />
|
|
269
|
-
<option name="presentableId" value="LOCAL-00013" />
|
|
270
|
-
<option name="project" value="LOCAL" />
|
|
271
|
-
<updated>1759845076135</updated>
|
|
272
|
-
</task>
|
|
273
|
-
<task id="LOCAL-00014" summary="refactor: CubeEngine initialization logic and comments. Removed redundant comments and streamlined the CubeEngine class code. This improves readability while keeping the logic intact, ensuring clarity and maintainability.">
|
|
274
|
-
<option name="closed" value="true" />
|
|
275
|
-
<created>1759845463330</created>
|
|
276
|
-
<option name="number" value="00014" />
|
|
277
|
-
<option name="presentableId" value="LOCAL-00014" />
|
|
278
|
-
<option name="project" value="LOCAL" />
|
|
279
|
-
<updated>1759845463330</updated>
|
|
280
|
-
</task>
|
|
281
|
-
<option name="localTasksCounter" value="15" />
|
|
282
|
-
<servers />
|
|
283
|
-
</component>
|
|
284
|
-
<component name="TypeScriptGeneratedFilesManager">
|
|
285
|
-
<option name="version" value="3" />
|
|
286
|
-
</component>
|
|
287
|
-
<component name="VcsManagerConfiguration">
|
|
288
|
-
<MESSAGE value="feat: Add scramble initialization and move application support Introduce a constructor option to initialize the CubeEngine with a scramble string, resetting the move history. Implement `applyMoves` to apply sequences of moves with an option to skip move history recording. Accompany changes with relevant tests." />
|
|
289
|
-
<MESSAGE value="feat: Add support for wide D (Dw) moves in CubeEngine Introduced `rotateDw` and `#rotateDw` methods to handle wide D layer rotations. Updated `applyMoves` to process "Dw" and added corresponding tests to ensure correctness, including scramble handling and move recording behavior." />
|
|
290
|
-
<MESSAGE value="Add support for wide U (Uw) layer rotations Implemented new methods to handle wide U layer rotations, `rotateUw` and `#rotateUw`, along with logic to differentiate between regular and wide U moves. Updated command parsing to recognize and process wide U moves appropriately." />
|
|
291
|
-
<MESSAGE value="Add support for Rw wide moves and related tests Implemented functionality to handle Rw and Rw' (wide right-layer) rotations, including integration with move sequencing and history recording. Updated tests to validate correct behavior for new moves, ensure consistency with equivalent rotations, and verify state preservation." />
|
|
292
|
-
<MESSAGE value="Add support for 'Lw' wide move rotation Implemented functionality for rotating the wide 'Lw' (LEFT two layers) move, both clockwise and counterclockwise. Updated the `applyMoves` method to recognize and execute 'Lw' commands along with proper history tracking." />
|
|
293
|
-
<MESSAGE value="Add support for M slice moves and corresponding tests Introduce functionality to handle M and M' slice moves, including their recording in move history. Update documentation and logic in `applyMoves` to recognize M moves and handle scrambling. Add corresponding unit tests to ensure correctness and behavior consistency." />
|
|
294
|
-
<MESSAGE value="Add rotateZ functionality and tests for the Z-axis rotation Introduce the `rotateZ` method to handle clockwise and counterclockwise rotations along the Z-axis. Updated the README for documentation, extended move handling, and added comprehensive unit tests to verify the functionality." />
|
|
295
|
-
<MESSAGE value="Update README with new CubeEngine methods and examples Added details for new methods like `applyMoves`, wide layer rotations, and the constructor with optional scramble. Improved usage examples, including initializing with a scramble and retrieving movement history." />
|
|
296
|
-
<MESSAGE value="feat: Add reset method to CubeEngine with corresponding test Implemented a reset method to revert the cube to its solved state and clear the move history. Added a unit test to ensure the method functions correctly by resetting both the cube's state and move history." />
|
|
297
|
-
<MESSAGE value="feat: Add `reset` method and improve `CubeEngine` documentation The `reset` method allows resetting the cube to its solved state and clears the move history. Updated the `CubeEngine` constructor to accept an optional initial scramble, and revised the documentation for better clarity and completeness." />
|
|
298
|
-
<MESSAGE value="feat: Add support for rotating the Back (B) layer of the cube Implemented `rotateB` function to handle Back layer rotations clockwise and counterclockwise. Updated related documentation, input bindings, and `applyMoves` method to include support for the B move. Added tests to ensure functionality and alignment with expected behavior." />
|
|
299
|
-
<MESSAGE value="test: Add unit tests for 2x2 CubeEngine functionality Introduce tests for basic 2x2 cube operations, including initialization, move validations (M, wide moves), and algorithm execution. These tests ensure the expected behavior and edge case handling of the 2x2 cube simulation." />
|
|
300
|
-
<MESSAGE value="feat: Add support for 2x2 cube size and refactor state initialization Introduced support for 2x2 cubes by updating methods to adapt to cube size. Refactored state initialization with dynamic matrix generation to reduce repetitive code. Updated cube rotation logic and validation to handle variable sizes more efficiently." />
|
|
301
|
-
<MESSAGE value="refactor: CubeEngine initialization logic and comments. Removed redundant comments and streamlined the CubeEngine class code. This improves readability while keeping the logic intact, ensuring clarity and maintainability." />
|
|
302
|
-
<option name="LAST_COMMIT_MESSAGE" value="refactor: CubeEngine initialization logic and comments. Removed redundant comments and streamlined the CubeEngine class code. This improves readability while keeping the logic intact, ensuring clarity and maintainability." />
|
|
303
|
-
</component>
|
|
304
|
-
</project>
|