Mejoras hacklab: i18n, pestaña Projects, transporte con seek, guía y temas
- i18n ligero de la interfaz del REPL (castellano, inglés, francés, alemán, italiano, portugués...) con selector en el header - Pestaña Projects: gestor local de proyectos con carpetas, buscador y librería de tracks de fábrica (bases techno/acid originales) - Barra de transporte bajo el editor: play/pausa/anterior/siguiente, tiempo y barra de progreso arrastrable; seek real vía Cyclist.setCycle() - Pestaña Guía: chuleta de síntesis y sonidos para el directo - Packs de temas del editor: neon-madrid + hacklab-pack (5 neón + 5 estándar) - pnpm-workspace: allowBuilds para instalación limpia en Linux
This commit is contained in:
parent
c150752372
commit
7b9f1155b4
13 changed files with 2731 additions and 55 deletions
45
packages/codemirror/themes/neon-madrid.mjs
vendored
Normal file
45
packages/codemirror/themes/neon-madrid.mjs
vendored
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
import { tags as t } from '@lezer/highlight';
|
||||
import { createTheme } from './theme-helper.mjs';
|
||||
|
||||
// Tema NEÓN: naranja neón dominante (texto de UI y código base),
|
||||
// con acentos VERDE NEÓN (números, átomos) y CIAN (operadores, corchetes, puntuación).
|
||||
export const settings = {
|
||||
background: '#0a0a0c',
|
||||
lineBackground: '#0a0a0c99',
|
||||
foreground: '#ff7a18', // naranja neón — todo el texto de la interfaz y el código base
|
||||
muted: '#ff7a1840', // bordes/separadores en naranja tenue
|
||||
caret: '#00e5ff', // cursor cian
|
||||
selection: 'rgba(57,255,20,0.25)', // selección verde neón
|
||||
selectionMatch: 'rgba(0,229,255,0.22)',
|
||||
lineHighlight: 'rgba(255,122,24,0.07)',
|
||||
gutterBackground: 'transparent',
|
||||
gutterForeground: '#ff7a1866',
|
||||
};
|
||||
|
||||
export default createTheme({
|
||||
theme: 'dark',
|
||||
settings,
|
||||
styles: [
|
||||
{ tag: [t.atom, t.bool, t.special(t.variableName)], color: '#39ff14' }, // verde neón
|
||||
{ tag: t.labelName, color: '#00e5ff' }, // $: en cian
|
||||
{ tag: t.keyword, color: '#ff5e00' }, // const, => naranja fuerte
|
||||
{ tag: t.operator, color: '#00e5ff' }, // + - * / cian
|
||||
{ tag: t.special(t.variableName), color: '#ffb877' },
|
||||
{ tag: t.typeName, color: '#ff9a3c' },
|
||||
{ tag: t.atom, color: '#39ff14' },
|
||||
{ tag: t.number, color: '#39ff14' }, // números verde neón
|
||||
{ tag: t.definition(t.variableName), color: '#ffb877' }, // nombres de const
|
||||
{ tag: t.string, color: '#ffd59e' }, // "bd*4" "RolandTR909" ámbar cálido (legible)
|
||||
{ tag: t.special(t.string), color: '#ffd59e' },
|
||||
{ tag: t.comment, color: '#9a7a55' }, // comentarios apagados
|
||||
{ tag: t.variableName, color: '#ff9a3c' }, // s, note, stack... naranja
|
||||
{ tag: t.tagName, color: '#ff9a3c' },
|
||||
{ tag: t.bracket, color: '#00e5ff' }, // ( ) [ ] cian
|
||||
{ tag: t.meta, color: '#39ff14' },
|
||||
{ tag: t.attributeName, color: '#39ff14' },
|
||||
{ tag: t.propertyName, color: '#ff9a3c' }, // .lpf .gain .bank naranja
|
||||
{ tag: t.className, color: '#ffb877' },
|
||||
{ tag: t.invalid, color: '#ff2222' },
|
||||
{ tag: [t.unit, t.punctuation], color: '#00e5ff' }, // puntuación cian
|
||||
],
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue