Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Rubik Studio Visualizer

Fabian SernaFabian Serna

Render 3D and 2D Rubik's Cube (3x3x3 and 4x4x4) states, animated move sequences, and real-cube color solver inside Markdown code blocks.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1
███████╗ █████╗ ██████╗ ██╗██████╗ ███████╗██╗   ██╗  ██╗██████╗ 
██╔════╝██╔══██╗██╔══██╗██║██╔══██╗██╔════╝██║   ██║ ██╔╝╚════██╗
█████╗  ███████║██████╔╝██║██║  ██║█████╗  ██║   ██║██╔╝  █████╔╝
██╔══╝  ██╔══██║██╔══██╗██║██║  ██║██╔══╝  ╚██╗ ██╔╝╚██╗  ╚═══██╗
██║     ██║  ██║██████╔╝██║██████╔╝███████╗ ╚████╔╝  ╚██╗██████╔╝
╚═╝     ╚═╝  ╚═╝╚═════╝ ╚═╝╚═════╝ ╚══════╝  ╚═══╝    ╚═╝╚═════╝ 
                 Obsidian Plugin by: FabiDev<3

Visualizador interactivo 3D y 2D de Cubos de Rubik (3x3x3 y 4x4x4), reproductor paso a paso sincronizado en tiempo real y calculador de estados desde cubos físicos reales directamente dentro de tus notas de Obsidian.

📖 Tutorial 3x3x3 · 🟧 Tutorial 4x4x4 · 🧪 Galería de Ejemplos


💡 Créditos, Idea Original y Ecosistema Tecnológico

  • Autor e Idea Original: Fabian Serna (FabiDev<3) — Concepción funcional, diseño pedagógico de los tutoriales progresivos 3x3x3 / 4x4x4, arquitectura de experiencia de usuario y calculador de mapeo desde cubos físicos reales.
  • Entorno de Desarrollo Agéntico: Desarrollado desde Google Antigravity, integrando empaquetado autónomo de Web Workers, motor de resolución constructiva por fases (BFS) y sincronización reactiva con el DOM virtual de Obsidian.
  • Plugins, Librerías y Motores Consumidos:
    • obsidian API: API oficial de plugins de Obsidian (Plugin, Modal, MarkdownRenderChild, parseYaml, Command Palette) para el renderizado reactivo de bloques de código ```rubik-viz y modales interactivos.
    • cubing (cubing.js / TwistyPlayer): Motor criptográfico y gráfico WebGL/3D/2D de Lucas Garron y la comunidad de speedcubing usado para la simulación geométrica de puzzles 3x3x3 y 4x4x4, máscaras de stickering (OLL, PLL, F2L, centers-only) y línea de tiempo de animaciones.
    • esbuild + TypeScript: Empaquetador de alto rendimiento con inyección inline del Web Worker de búsqueda de cubing.js y parche de registro idempotente de Custom Elements (customElements.define) para evitar colisiones en el virtual scroller de Obsidian.

✨ Características Principales

1. 🎮 Visualización 3D y 2D Interactiva en Bloques Markdown (rubik-viz)

Renderiza cubos 3x3x3 y 4x4x4 dentro de cualquier nota usando bloques YAML limpios:

  • Alternancia en vivo 3D ↔ 2D: Cambia entre el cubo 3D orbital y la planta desplegada 2D con un solo clic sin editar la nota.
  • Botón 🎯 Centrar cubo: Restablece al instante la órbita de la cámara 3D a su posición natural de lectura (priorizando las caras Superior U, Frontal F y Derecha R) sin perder el paso actual de la secuencia.
  • Botón ↺ Reiniciar vista: Regresa la línea de tiempo al estado inicial y centra la cámara.

2. ⚡ Sincronización en Tiempo Real con la Animación 3D

  • Iluminación en vivo movimiento por movimiento: Conectado directamente a player.experimentalModel.currentMoveInfo de cubing.js. A medida que el cubo gira en 3D, se ilumina debajo el botón exacto del movimiento que se está ejecutando en ese instante (ej. R, luego U, luego R') junto con una píldora animada (▶ R / ✓ R).
  • Reproducción individual al hacer clic: Al hacer clic sobre cualquier movimiento de la lista inferior, el cubo salta a ese instante y reproduce únicamente la animación 3D de ese giro, deteniéndose al terminar el movimiento.
  • Resaltado automático para 4x4x4: Distingue automáticamente con etiquetas ámbar los movimientos de capas dobles (Rw, Uw, Lw, r, l) y capas internas (2R, 2R2, 2U) esenciales para las paridades de OLL y PLL.

3. 🎨 Calculador de Estado Inicial desde un Cubo Real (Mapear Cubo Real 3x3)

¿Tienes un cubo de Rubik físico desordenado en la mano?

  • Abre la paleta de comandos (Ctrl + P / Cmd + P) y ejecuta:
    • Rubik Studio Visualizer: Mapear colores de cubo real (Calculador de estado inicial 3x3)
  • Pintor interactivo de 54 casillas: Pinta las 6 caras (U, L, F, R, B, D) con validación física en tiempo real:
    • Verifica conteo exacto de 9 colores por cara, existencia de las 12 aristas y 8 esquinas reales, orientación de esquinas ($\sum co \equiv 0 \pmod 3$), orientación de aristas ($\sum eo \equiv 0 \pmod 2$) y paridad de permutación.
  • Motor Solver 3x3 integrado (RealCubeSolver): Calcula en menos de 5 ms tanto el setup exacto de tu cubo real como una solución paso a paso en alg para que veas en 3D cómo se arma tu propio cubo.

4. 🧰 Constructor Visual con Vista Previa en Vivo

  • Ejecuta Rubik Studio Visualizer: Insertar estado de cubo desde la paleta de comandos para abrir el estudio interactivo con plantillas rápidas (Sexy Move, Sune, T-Perm, Paridad OLL 4x4, Paridad PLL 4x4), teclado de movimientos y previsualización 3D instantánea.

🚀 Sintaxis del Bloque rubik-viz

```rubik-viz
title: "4x4x4 - Resolver Paridad de PLL"
puzzle: 4x4x4
view: 3D
setup: "z2 Uw2 2R2 Uw2 2R2 U2 2R2"
alg: "2R2 U2 2R2 Uw2 2R2 Uw2"
anchor: start
mask: full
tempo: 1.0
controls: true
```

Parámetros YAML soportados

Parámetro Valores permitidos Por defecto Descripción
title Texto libre "Cubo 3x3" Título mostrado en el encabezado de la tarjeta.
puzzle 3x3x3, 3x3, 4x4x4, 4x4 3x3x3 Tipo de cubo a renderizar.
view 3D, 2D, PG3D 3D Vista inicial del cubo (3D interactiva o 2D desplegada).
setup Notación WCA (z2, scrambles, etc.) "" Giros previos que definen el estado inicial del cubo antes de alg.
state Cadena de 54 caracteres (U,R,F,D,L,B o W,R,G,Y,O,B) "" (Opcional) Define el estado inicial pintando directamente las 54 pegatinas de un cubo 3x3 real.
alg Notación WCA (R U R' U', Rw, 2R2...) "" Secuencia de movimientos que se animará paso a paso.
anchor start, end start start: inicia en setup y ejecuta alg. end: termina resuelto al finalizar alg.
mask full, OLL, PLL, F2L, centers full Máscara de colores para resaltar únicamente las piezas de una etapa específica.
tempo Número positivo (0.3 a 3.0) 1.0 Velocidad de reproducción de la animación.
controls true, false true Muestra u oculta la barra inferior de reproducción de cubing.js.

📚 Tutoriales Interactivos Incluidos

El repositorio incluye tres documentos listos para abrir en tu bóveda de Obsidian:

  1. tutorial-3x3x3.md: Tutorial progresivo que parte de un único cubo 3x3x3 desordenado y lo va armando fase por fase (Cruz Blanca en U, Esquinas Blancas, Segunda Capa, giro z2 después de la Fase 3, OLL y PLL), incluyendo casos alternativos independientes (Forma de "L", Punto Amarillo, Anti-Sune, Doble Sune, Y-Perm, Ub-Perm, H-Perm, etc.).
  2. tutorial-4x4x4.md: Tutorial progresivo por reducción para el 4x4x4 (Centros $2\times 2$, Emparejamiento de Aristas Slice-Flip-Slice, Etapa 3x3x3, Paridad de OLL y Paridad de PLL con casos adyacentes y de esquinas).
  3. example.md: Galería de referencia con ejemplos de todas las vistas, máscaras y configuraciones del plugin.

📦 Instalación en Obsidian

Instalación Manual

  1. Descarga los archivos de la última versión (main.js, manifest.json y styles.css).
  2. Crea la carpeta <TuBoveda>/.obsidian/plugins/rubik-visualizer/.
  3. Copia dentro main.js, manifest.json y styles.css.
  4. En Obsidian, ve a Ajustes → Plugins comunitarios, recarga la lista y activa Rubik Studio Visualizer.

Compilación desde el Código Fuente

# 1. Instalar dependencias
npm install

# 2. Compilar en modo producción (genera main.js empaquetado con Web Workers inline)
npm run build

# 3. Modo desarrollo con recarga en caliente (watch)
npm run dev

📄 Licencia

Distribuido bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.


Creado con ❤️ por Fabian Serna (FabiDev<3) · Impulsado por Google Antigravity & cubing.js
HealthExcellent
ReviewSatisfactory
About
Visualize interactive 3D and 2D Rubik's Cubes (3x3 and 4x4) inside Obsidian notes with sticker masks, animation timelines and modal renderings. Play step-by-step moves in real time and calculate cube states from physical configurations to reproduce or analyze solves.
VisualizationMarkdown
Details
Current version
1.0.0
Last updated
6 hours ago
Created
7 hours ago
Updates
1 release
Compatible with
Obsidian 1.4.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Fabian SernaFabian Sernafabianserna
GitHubfabianserna
  1. Community
  2. Plugins
  3. Visualization
  4. Rubik Studio Visualizer

Related plugins

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

ExcaliBrain

An interactive, structured mind-map of your Obsidian vault.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.

Mermaid Tools

Improved Mermaid.js experience: visual toolbar with common elements and more.

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Consistent Attachments and Links

Move note attachments and update links automatically.

Outliner

Work with your lists like in Workflowy or Roam Research.