
Objetivo deste post
Publicamos o código-fonte usado no app de cubo 3×3. O código só é carregado quando você abre um arquivo.
Ferramentas usadas
- Qt6 (Core, Gui, Widgets, OpenGL, Network) e OpenGL: o cubo 3D e a tela de importação de fotos
- Busca em duas fases de Kociemba: o código em C do muodov/kociemba incluído do jeito que está. É GPL-2.0.
- Qwen3-VL-8B-Instruct (transformers, MPS no Mac): o servidor de leitura por VLM. Ele se conecta ao app por TCP.
Estrutura de pastas
- src/CubeModel: estado do cubo, giros, classificação de cores
- src/CubeWidget, MainWindow: tela OpenGL e giro com o mouse, botões de embaralhar/anterior/próximo/oráculo
- src/CubePhotoReconstructor: leitura das 54 casas a partir de duas fotos, verificação de regras, correção automática
- src/PhotoImportDialog: importação de fotos, leitura comum e por VLM, o anel de seis cores que aparece ao clicar em uma casa
- src/KociembaSolver, Oracle, BeginnerSolver, MoveSolver: resolução. Usados na ordem Kociemba → busca curta → camada por camada para iniciantes.
- src/TcpCubeVlmClient, vlm_server: cliente e servidor da leitura por VLM
- tools/face_scan_cli.py: ferramenta de linha de comando para conferir as cores uma face por vez
- third_party/ckociemba: código em C do Kociemba
O build é feito com cmake, como descrito no README. Os resultados de build, os ambientes virtuais, os arquivos de tabela do Kociemba (cache) e as fotos de teste não foram incluídos. Os 82 programas de teste ficaram de fora porque os caminhos das fotos de teste estão fixos no código.
Código-fonte completo
42 arquivos · 11.309 linhas — abra uma pasta e clique em um arquivo para carregar o código.
Raiz do projeto
CMakeLists.txt
Carregando o código…
README.md
Carregando o código…
src/
src/BeginnerSolver.cpp
Carregando o código…
src/BeginnerSolver.h
Carregando o código…
src/CubeModel.cpp
Carregando o código…
src/CubeModel.h
Carregando o código…
src/CubePhotoReconstructor.cpp
Carregando o código…
src/CubePhotoReconstructor.h
Carregando o código…
src/CubeWidget.cpp
Carregando o código…
src/CubeWidget.h
Carregando o código…
src/KociembaSolver.cpp
Carregando o código…
src/KociembaSolver.h
Carregando o código…
src/main.cpp
Carregando o código…
src/MainWindow.cpp
Carregando o código…
src/MainWindow.h
Carregando o código…
src/MoveSolver.cpp
Carregando o código…
src/MoveSolver.h
Carregando o código…
src/Oracle.cpp
Carregando o código…
src/Oracle.h
Carregando o código…
src/PhotoImportDialog.cpp
Carregando o código…
src/PhotoImportDialog.h
Carregando o código…
src/TcpCubeVlmClient.cpp
Carregando o código…
src/TcpCubeVlmClient.h
Carregando o código…
third_party/
third_party/ckociemba/coordcube.c
Carregando o código…
third_party/ckociemba/cubiecube.c
Carregando o código…
third_party/ckociemba/facecube.c
Carregando o código…
third_party/ckociemba/include/color.h
Carregando o código…
third_party/ckociemba/include/coordcube.h
Carregando o código…
third_party/ckociemba/include/corner.h
Carregando o código…
third_party/ckociemba/include/cubiecube.h
Carregando o código…
third_party/ckociemba/include/edge.h
Carregando o código…
third_party/ckociemba/include/facecube.h
Carregando o código…
third_party/ckociemba/include/facelet.h
Carregando o código…
third_party/ckociemba/include/prunetable_helpers.h
Carregando o código…
third_party/ckociemba/include/search.h
Carregando o código…
third_party/ckociemba/prunetable_helpers.c
Carregando o código…
third_party/ckociemba/README.md
Carregando o código…
third_party/ckociemba/search.c
Carregando o código…
tools/
tools/face_scan_cli.py
Carregando o código…
vlm_server/
vlm_server/cube_vlm_server.py
Carregando o código…
vlm_server/README.md
Carregando o código…
vlm_server/requirements.txt
Carregando o código…
COMMENTS · CHAPTER 04
O código-fonte completo e as ferramentas usadas 0 comentários
Ainda não há comentários. Deixe uma pergunta ou algo que queira acrescentar.
Para publicar um comentário, comece com o Google e registre um apelido e um e-mail.
Começar com o Google