Engine.js lets you tune both the visual look and the spatial arrangement of the editor to suit your workflow. Color themes change the palette of the entire interface, while layout structures relocate the canvas viewport relative to the Hierarchy and Attributes panels. Both preferences are remembered across browser sessions throughDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/OmarMtya/engine.js/llms.txt
Use this file to discover all available pages before exploring further.
localStorage, so the editor always opens exactly as you left it.
Color Themes
Color themes are cycled by clicking the palette icon (fas fa-palette) in the configuration bar. Each click removes the current theme class from <body> and adds the next one in the array ['defaultColor', 'oscuro', 'azul']. The selected class name is also written to localStorage under the key skin.
Default
Class:
Header:
Canvas background:
Body: white
defaultColorHeader:
#30302f dark charcoalCanvas background:
#eee light grayBody: white
Dark (oscuro)
Class:
Header:
Canvas background:
Body:
oscuroHeader:
#30302f (unchanged)Canvas background:
whiteBody:
#474746 dark gray, white textBlue (azul)
Class:
Header:
Canvas background:
Body:
azulHeader:
#005DAB blueCanvas background:
#c7c7c7 medium grayBody:
#F4F4F4 light gray, #575757 textTheme CSS Details
The theme classes are defined incss/esquemas.css. Below is a summary of the properties each class overrides:
| CSS property | defaultColor | oscuro | azul |
|---|---|---|---|
body background | (browser default) | #474746 | #F4F4F4 |
body color | (inherited) | white | #575757 |
header / #configuracion background | #30302f | #30302f | #005DAB |
canvas background | #eee | white | #c7c7c7 |
input / select background | (default) | #c7c7c7 | #F4F4F4 |
label color | #30302f | white | (inherited) |
Applying a Theme Programmatically
Layout Structures
Layout structures are cycled by clicking the window icon (far fa-window-maximize) in the configuration bar. Each click cycles through ['defaultEstructura', 'canvasDerecha', 'canvasIzquierda'] and saves the selected value to localStorage under the key estructura.
Each structure class overrides the grid-column values of the three main panels using CSS !important, allowing the canvas to be repositioned without touching the HTML markup.
Default
Class:
Canvas: columns 4–10
Hierarchy: columns 1–4 (left)
Attributes: columns 10–13 (right)
defaultEstructuraCanvas: columns 4–10
Hierarchy: columns 1–4 (left)
Attributes: columns 10–13 (right)
Canvas Right (canvasDerecha)
Class:
Canvas: columns 7–13
Attributes: columns 4–7
Hierarchy: columns 1–4
canvasDerechaCanvas: columns 7–13
Attributes: columns 4–7
Hierarchy: columns 1–4
Canvas Left (canvasIzquierda)
Class:
Canvas: columns 1–7
Hierarchy: columns 7–10
Attributes: columns 10–13
canvasIzquierdaCanvas: columns 1–7
Hierarchy: columns 7–10
Attributes: columns 10–13
Layout CSS Details
| Panel | defaultEstructura | canvasDerecha | canvasIzquierda |
|---|---|---|---|
#container-canvas | grid-column: 4/10 | grid-column: 7/13 | grid-column: 1/7 |
#jerarquia | grid-column: 4/1 | (unchanged) | grid-column: 7/10 |
#atributos | grid-column: 13/10 | grid-column: 7/4 | grid-column: 10/13 |
Switching Layouts Programmatically
Persistence with localStorage
Both preferences are restored automatically when the editor loads. TheinicializarVistas() function in js/vista.js runs an IIFE that reads skin and estructura from localStorage and applies the saved classes to <body> before the user interacts with anything: