Biblioteca SVG de ícones de twisty puzzles para projetos web
Ferramenta visual para criar e configurar ícones
Adicione os dois arquivos ao seu projeto e inclua-os no HTML:
Nenhuma dependência externa. O script detecta e renderiza automaticamente ao carregar a página.
npm install cube-icons.Use a tag <i> com a classe base ci + o tipo do puzzle + um tamanho:
Cubos NxN e Megaminx: face U com bordas laterais. Skewb: face U com centros e cantos adjacentes.
Cubos NxN: cruz com as 6 faces quadradas. Skewb e Megaminx: faces desdobradas. Pyraminx e Square-1: planificada com ci-net (SQ1: U + barra + D).
Use data-ci-color com ci-mono ou ci-outlined:
Use data-ci-scheme na vista planificada. Esquemas: wca, japanese, pastel, monokai.
Classes ci-1x a ci-10x, mais ci-15x, ci-20x, ci-30x, ci-40x e ci-50x em unidades em:
Use data-ci-rounded (0 a 0.5). Padrão: 0.15.
ci-scrambled)Estado aleatório a cada carregamento (Square-1: scramble WCA de 10 movimentos via generateSquare1ScrambleAlg()).
Aplica movimentos ao estado resolvido. Exemplos representativos por puzzle:
ci-inverse — Algoritmos inversosInverte a sequência de data-ci-alg automaticamente. Ex.: R U vira U' R'. Suportado em todos os puzzles com algoritmo, exceto Clock.
Define stickers individualmente. Formato NxN: 6 faces com n×n letras.
data-ci-alg)Movimentos aceitos em data-ci-alg, ci-animate e ci-steps. Use espaço entre movimentos. Aspas: ' ou ' para primo; 2 para metade de giro (180° onde aplicável). A notação dos demais puzzles está na seção de cada um.
| Tipo | Sintaxe | Exemplos |
|---|---|---|
| Face | U R L F B D + ' / 2 | R U R' U', F2 |
| Camada | 2R, 3U … (nº = camada, 1 = face externa) | 2R U 2R' |
| Wide | w ou minúscula sem prefixo numérico | Rw, r, 2Rw |
| Wide explícito 1ª camada | 1f = F (não wide) | 1f, 1u |
| Slices | M E S + ' / 2 | M' E |
| Rotação do cubo | x y z + ' / 2 | x y x' y' |
x, y, z)Gira o puzzle inteiro em data-ci-alg. Exemplos em 4x4:
ci-inverse inverte a sequência (exceto Clock). Algoritmos inválidos são ignorados silenciosamente.ci-oll ativa vista top. Nos cubos NxN, FTO e Skewb, adesivos amarelos coloridos e demais em cinza; no Megaminx, face U em amarelo.
ci-labelsLetras nas faces para identificar cada lado. Ativado pela classe ci-labels. Tamanho via data-ci-label-size (multiplicador, padrão 1).
data-ci-highlightDestacar peças específicas. Aceita notação WCA (3x3), sticker refs (U0) ou nomes de face.
data-ci-arrowsSetas entre stickers. Sintaxe: Face+Index>Face+Index. Estilos: ->, <->, --. Cores: :cor. Tamanho via data-ci-arrow-size (multiplicador, padrão 1).
Container div.ci-steps gera um ícone por move automaticamente.
Classe ci-animate com controles play/pause/step. Velocidade via data-ci-speed.
Formato de estado: "front/back/pins". Cada parte tem 9 horas (0-11). Pins: 4 binários.
| Tipo | Sintaxe | Exemplos |
|---|---|---|
| Pino + horas | UR3+ DR6- ALL4+ | UR3+ DR6- ALL4+ |
| Pin só | U R D L UR DR DL UL ALL | UR (sobe pino UR) |
| Virar puzzle | y2 | UR3+ y2 UR2- |
| Multi-pin | (UR DR) | (UR DR)3+ |
Com data-ci-alg, a visão dual é usada automaticamente.
Formato: "face_U/face_D". Peças: C (corner=2) ou E (edge=1). Cada face soma 12, total 8C+8E.
Por padrão mostra apenas a face U. Use ci-net para a vista planificada (U + barra central + D).
| Tipo | Sintaxe | Exemplos |
|---|---|---|
| Turno | (U,D) em passos de 30° | (3,0), (0,-3) |
| Slice | / | (3,0) / (0,3) / |
Scramble: 10 movimentos gerados por generateSquare1ScrambleAlg().
Use data-ci-alg com notação WCA. Vista planificada (ci-net) mostra ambas camadas e barra central.
Octaedro com 8 faces triangulares, cada uma subdividida em 9 stickers. Suporta vistas front, top (8 faces), ci-dual (frente + 4 faces opostas) e OLL mode.
| Tipo | Sintaxe | Exemplos |
|---|---|---|
| Face (120°) | U R F L D B BL BR + ' / 2 | U R F L' D B BL BR' |
Estado: "FACE_U,FACE_R,FACE_F,FACE_L,FACE_D,FACE_B,FACE_BR,FACE_BL" — 9 letras por face.
Algoritmo: data-ci-alg com movimentos U, R, F, L, D, B, BL, BR e primes ('). No FTO, X2 equivale a X'. Modo OLL: ver seção 8.
Vistas front, iso, top e net.
| Tipo | Sintaxe | Exemplos |
|---|---|---|
| Canto | R L U B + ' | R U R' U' |
| Rotação do puzzle | x y z + ' / 2 | y2 R U R' U' |
x, y, z)Face U no centro, centros laterais (B, F, L, R) e dois cantos adjacentes em cada vértice.
Vistas front, iso e net.
| Tipo | Sintaxe | Exemplos |
|---|---|---|
| Camada (120°) | U L R B + ' | R U R' U L |
| Tip (120°) | u l r b + ' | u l r b, R u R' |
u, l, r, b)Letras minúsculas giram apenas a ponta de 120°. Maiúsculas giram a camada inteira.
Vistas top e net.
| Tipo | Sintaxe | Exemplos |
|---|---|---|
| Pochmann | R++ R-- D++ D-- | R-- D++ R++ D++ |
| Face (72°) | U F R BR BL L D DL DR DBR B DBL + ' / 2 | R F L' BR BL' U |
| Faces | Topo: U F R BR BL L — Base: D DL DR DBR B DBL | |
Ângulos via data-ci-rotate="X,Y" (graus). Cada puzzle com sua rotação padrão.
ci-interactive)Arraste com mouse ou toque para girar o puzzle.
Ícones se alinham com o texto como FontAwesome:
| Categoria | Classes | Descrição |
|---|---|---|
| Puzzle | ci-2x2 ci-3x3 ci-4x4 ci-5x5 ci-6x6 ci-7x7 | Cubos NxN |
ci-skewb ci-pyraminx ci-megaminx ci-fto ci-square1 ci-clock | Puzzles especiais | |
| Ângulo | ci-front ci-iso ci-top ci-dual ci-net ci-back | Vista do puzzle |
| Cor | ci-colorful ci-mono ci-outlined | Modo de cor |
| Tamanho | ci-1x–ci-10x, ci-15x, ci-20x, ci-30x, ci-40x, ci-50x | Em unidades em |
| Estado | ci-scrambled ci-oll ci-interactive ci-animate ci-labels ci-inverse | Modifica estado / interação / visual |
| Container | ci-steps ci-steps-vertical | Visualizador passo a passo |
| Atributo | Descrição | Exemplo |
|---|---|---|
data-ci-rotate | Rotação 3D (rotX, rotY em graus) | "20,40" |
data-ci-alg | Algoritmo (notação na seção de cada puzzle) | "R U R' U'" "R++ D--" "UR3+" "(3,0) /" |
data-ci-state | Estado manual dos stickers | "WWW...,RRR..." |
data-ci-rounded | Arredondamento (0–0.5) | "0.25" |
data-ci-color | Cor para mono/outlined | "#e06c75" |
data-ci-scheme | Esquema de cores | "japanese" "pastel" "monokai" |
data-ci-theme | Tema (claro/escuro) | "light" "dark" |
data-ci-clock-front | Cor de fundo (clock front) | "#1a3a5c" |
data-ci-clock-back | Cor de fundo (clock back) | "#5c1a1a" |
data-ci-speed | Velocidade do player (ci-animate) | "600" |
data-ci-loop | Loop automático no player | (boolean) |
data-ci-autoplay | Inicia player automaticamente | (boolean) |
data-ci-highlight | Destacar peças (WCA ou face) | "UFR,UF" |
data-ci-arrows | Setas entre stickers | "U0>U2" |
data-ci-label-size | Tamanho das letras (ci-labels) | "1.5" "0.5" |
data-ci-arrow-size | Tamanho das setas | "2" "0.5" |
Vista 3D via data-ci-rotate ou ci-interactive (arrastar para girar).
| Puzzle | front | iso | top | dual | net | back | OLL | Alg | Scramble | 3D |
|---|---|---|---|---|---|---|---|---|---|---|
| Cubos NxN | sim | sim | sim | — | sim | — | sim | sim | sim | sim |
| Skewb | sim | sim | sim | — | sim | — | sim | sim | sim | sim |
| Pyraminx | sim | — | — | — | sim | — | — | sim | sim | sim |
| Megaminx | sim | — | sim | — | sim | — | sim | sim | sim | sim |
| FTO | sim | — | sim | sim | — | — | sim | sim | sim | sim |
| Square-1 | sim | — | — | — | sim | — | — | sim | sim | sim |
| Clock | sim | — | — | sim | — | sim | — | sim | sim | — |
Objeto global CubeIcons exposto após carregar cube-icons.js: