@dammgo/vena-visual-engine 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/index.d.ts +28 -0
- package/dist/core/index.js +45 -0
- package/dist/index.js +29 -90
- package/dist/protocols/dammgo.d.ts +1 -0
- package/dist/protocols/dammgo.js +3 -0
- package/dist/protocols/erpbsg.d.ts +9 -0
- package/dist/protocols/erpbsg.js +34 -0
- package/dist/protocols/lab.d.ts +8 -0
- package/dist/protocols/lab.js +11 -0
- package/dist/protocols/vena.d.ts +2 -0
- package/dist/protocols/vena.js +7 -0
- package/package.json +2 -2
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VENA Visual Engine - Core Infrastructure
|
|
3
|
+
* Shared fonts and base UnoCSS presets for the entire ecosystem.
|
|
4
|
+
*/
|
|
5
|
+
export declare const coreTheme: {
|
|
6
|
+
colors: {
|
|
7
|
+
bos: {
|
|
8
|
+
slate: string;
|
|
9
|
+
pink: string;
|
|
10
|
+
indigo: string;
|
|
11
|
+
white: string;
|
|
12
|
+
gray: string;
|
|
13
|
+
cobalt: string;
|
|
14
|
+
void: string;
|
|
15
|
+
surface: string;
|
|
16
|
+
armor: string;
|
|
17
|
+
success: string;
|
|
18
|
+
warning: string;
|
|
19
|
+
error: string;
|
|
20
|
+
};
|
|
21
|
+
matrix: {
|
|
22
|
+
green: string;
|
|
23
|
+
dark: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export declare const corePresets: (import("unocss").Preset<import("unocss").PresetMiniTheme> | import("unocss").Preset<any>)[];
|
|
28
|
+
export declare const coreShortcuts: string[][];
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { presetUno, presetWebFonts } from 'unocss';
|
|
2
|
+
/**
|
|
3
|
+
* VENA Visual Engine - Core Infrastructure
|
|
4
|
+
* Shared fonts and base UnoCSS presets for the entire ecosystem.
|
|
5
|
+
*/
|
|
6
|
+
export const coreTheme = {
|
|
7
|
+
colors: {
|
|
8
|
+
bos: {
|
|
9
|
+
slate: '#020617',
|
|
10
|
+
pink: '#E91E63',
|
|
11
|
+
indigo: '#818cf8',
|
|
12
|
+
white: '#f8fafc',
|
|
13
|
+
gray: '#94a3b8',
|
|
14
|
+
cobalt: '#00d4ff',
|
|
15
|
+
void: '#0d1117',
|
|
16
|
+
surface: '#161b22',
|
|
17
|
+
armor: '#30363d',
|
|
18
|
+
success: '#10b981',
|
|
19
|
+
warning: '#f59e0b',
|
|
20
|
+
error: '#ef4444',
|
|
21
|
+
},
|
|
22
|
+
matrix: {
|
|
23
|
+
green: '#00FF41',
|
|
24
|
+
dark: '#0D0208',
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
export const corePresets = [
|
|
29
|
+
presetUno(),
|
|
30
|
+
presetWebFonts({
|
|
31
|
+
provider: 'google',
|
|
32
|
+
fonts: {
|
|
33
|
+
brand: 'Montserrat:400,700,900',
|
|
34
|
+
ui: 'Inter:400,500,600,700',
|
|
35
|
+
mono: 'JetBrains Mono:400,700',
|
|
36
|
+
},
|
|
37
|
+
}),
|
|
38
|
+
];
|
|
39
|
+
export const coreShortcuts = [
|
|
40
|
+
['bos-surface', 'bg-bos-surface/40 backdrop-blur-md border border-bos-armor/30 rounded-bos-sm shadow-none'],
|
|
41
|
+
['precision-bracket', 'relative before:content-[""] before:absolute before:-top-1 before:-left-1 before:w-2 before:h-2 before:border-t-1 before:border-l-1 before:border-bos-pink after:content-[""] after:absolute after:-bottom-1 after:-right-1 after:w-2 after:h-2 after:border-b-1 after:border-r-1 after:border-bos-pink'],
|
|
42
|
+
['infra-grid', 'relative before:content-[""] before:absolute before:inset-0 before:opacity-0 before:pointer-events-none before:[background-image:radial-gradient(#f8fafc_1px,transparent_1px)] before:[background-size:10px_10px] focus-within:before:opacity-10 before:transition-opacity'],
|
|
43
|
+
['synapse-line', 'h-1 bg-white/5 relative overflow-hidden after:content-[""] after:absolute after:inset-0 after:bg-gradient-to-r after:from-transparent after:via-bos-pink after:to-transparent after:animate-pulse'],
|
|
44
|
+
['bos-input-base', 'bos-surface infra-grid px-4 py-3 font-mono text-sm bg-transparent outline-none focus:precision-bracket transition-all placeholder:opacity-20'],
|
|
45
|
+
];
|
package/dist/index.js
CHANGED
|
@@ -1,119 +1,58 @@
|
|
|
1
|
-
import { definePreset
|
|
1
|
+
import { definePreset } from 'unocss';
|
|
2
|
+
import { coreTheme, coreShortcuts, corePresets } from './core';
|
|
3
|
+
import { erpbsgShortcuts, erpbsgPreflights, erpbsgTheme } from './protocols/erpbsg';
|
|
4
|
+
import { dammgoShortcuts } from './protocols/dammgo';
|
|
5
|
+
import { venaShortcuts, venaRules } from './protocols/vena';
|
|
6
|
+
import { labShortcuts, labTheme } from './protocols/lab';
|
|
2
7
|
export const presetVena = definePreset((options = {}) => {
|
|
3
8
|
const protocol = options.protocol || 'erpbsg';
|
|
4
|
-
// --- 1. THEME
|
|
9
|
+
// --- 1. THEME ASSEMBLY ---
|
|
10
|
+
const protocolThemes = {
|
|
11
|
+
erpbsg: erpbsgTheme,
|
|
12
|
+
'kode-reboot': labTheme,
|
|
13
|
+
};
|
|
5
14
|
const theme = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
slate: '#020617',
|
|
9
|
-
pink: '#E91E63',
|
|
10
|
-
indigo: '#818cf8',
|
|
11
|
-
white: '#f8fafc',
|
|
12
|
-
gray: '#94a3b8',
|
|
13
|
-
cobalt: '#00d4ff',
|
|
14
|
-
void: '#0d1117',
|
|
15
|
-
surface: '#161b22',
|
|
16
|
-
armor: '#30363d',
|
|
17
|
-
success: '#10b981',
|
|
18
|
-
warning: '#f59e0b',
|
|
19
|
-
error: '#ef4444',
|
|
20
|
-
},
|
|
21
|
-
matrix: {
|
|
22
|
-
green: '#00FF41',
|
|
23
|
-
dark: '#0D0208',
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
borderRadius: {
|
|
27
|
-
'bos-sm': protocol === 'kode-reboot' ? '0px' : '2px',
|
|
28
|
-
'bos-md': protocol === 'kode-reboot' ? '0px' : '4px',
|
|
29
|
-
'bos-lg': protocol === 'kode-reboot' ? '0px' : '6px',
|
|
30
|
-
}
|
|
15
|
+
...coreTheme,
|
|
16
|
+
...(protocolThemes[protocol] || {})
|
|
31
17
|
};
|
|
32
|
-
// --- 2.
|
|
33
|
-
const coreShortcuts = [
|
|
34
|
-
['bos-surface', 'bg-bos-surface/40 backdrop-blur-md border border-bos-armor/30 rounded-bos-sm shadow-none'],
|
|
35
|
-
['precision-bracket', 'relative before:content-[""] before:absolute before:-top-1 before:-left-1 before:w-2 before:h-2 before:border-t-1 before:border-l-1 before:border-bos-pink after:content-[""] after:absolute after:-bottom-1 after:-right-1 after:w-2 after:h-2 after:border-b-1 after:border-r-1 after:border-bos-pink'],
|
|
36
|
-
['infra-grid', 'relative before:content-[""] before:absolute before:inset-0 before:opacity-0 before:pointer-events-none before:[background-image:radial-gradient(#f8fafc_1px,transparent_1px)] before:[background-size:10px_10px] focus-within:before:opacity-10 before:transition-opacity'],
|
|
37
|
-
['synapse-line', 'h-1 bg-white/5 relative overflow-hidden after:content-[""] after:absolute after:inset-0 after:bg-gradient-to-r after:from-transparent after:via-bos-pink after:to-transparent after:animate-pulse'],
|
|
38
|
-
['bos-input-base', 'bos-surface infra-grid px-4 py-3 font-mono text-sm bg-transparent outline-none focus:precision-bracket transition-all placeholder:opacity-20'],
|
|
39
|
-
];
|
|
40
|
-
// --- 3. PROTOCOL SPECIFIC SHORTCUTS ---
|
|
18
|
+
// --- 2. SHORTCUT ASSEMBLY ---
|
|
41
19
|
const protocolShortcuts = {
|
|
42
|
-
erpbsg:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
['erpbsg-gradient-text', 'text-transparent bg-clip-text bg-gradient-to-r from-bos-pink to-bos-indigo'],
|
|
47
|
-
['erpbsg-input-compact', 'px-4 py-2 text-xs'],
|
|
48
|
-
['erpbsg-button-compact', 'px-6 py-3 text-[9px]'],
|
|
49
|
-
// erpbsg Identity & Navigation
|
|
50
|
-
['erpbsg-button-manual', 'w-full group p-1 border-b border-white/[0.03] hover:border-bos-pink/30 transition-all duration-500 bg-transparent'],
|
|
51
|
-
['erpbsg-button-manual-content', 'flex items-center justify-between py-4 px-2'],
|
|
52
|
-
['erpbsg-button-manual-label', 'font-brand font-black text-[10px] text-bos-gray/40 uppercase tracking-widest group-hover:text-bos-white transition-colors'],
|
|
53
|
-
['erpbsg-button-manual-sub', 'font-ui text-[9px] text-bos-gray/20 uppercase tracking-wider group-hover:text-bos-gray/60 transition-colors'],
|
|
54
|
-
['erpbsg-button-manual-icon', 'w-8 h-8 rounded-full border border-white/[0.03] flex items-center justify-center text-bos-gray/20 group-hover:border-bos-pink/30 group-hover:bg-bos-pink/5 group-hover:text-bos-pink transition-all'],
|
|
55
|
-
['erpbsg-button-back', 'mb-12 flex items-center gap-3 text-bos-gray/40 hover:text-bos-white transition-all group bg-transparent border-none p-0 outline-none'],
|
|
56
|
-
['erpbsg-button-back-icon', 'w-6 h-6 rounded-full border border-white/[0.03] flex items-center justify-center text-bos-gray/20 group-hover:border-bos-pink/30 group-hover:text-bos-pink transition-all'],
|
|
57
|
-
['erpbsg-button-back-text', 'text-[10px] font-brand font-black uppercase tracking-[0.3em]'],
|
|
58
|
-
],
|
|
59
|
-
dammgo: [
|
|
60
|
-
['dammgo-hero', 'font-brand font-900 text-8xl md:text-[12rem] tracking-tighter uppercase leading-[0.8]'],
|
|
61
|
-
],
|
|
62
|
-
vena: [
|
|
63
|
-
['vena-monitor', 'bg-black border-[0.5px] border-bos-cobalt/20 p-4 font-mono text-[11px] text-bos-cobalt/80'],
|
|
64
|
-
['vena-pulse-line', 'h-[1px] bg-bos-cobalt/10 relative overflow-hidden after:content-[""] after:absolute after:inset-0 after:bg-bos-cobalt after:animate-scan'],
|
|
65
|
-
],
|
|
66
|
-
'kode-reboot': [
|
|
67
|
-
['kode-terminal', 'bg-matrix-dark border border-matrix-green/30 p-8 font-mono text-matrix-green shadow-[0_0_20px_rgba(0,255,65,0.1)]'],
|
|
68
|
-
['kode-button', 'px-6 py-3 border border-matrix-green text-matrix-green font-mono uppercase tracking-widest hover:bg-matrix-green hover:text-matrix-dark transition-all'],
|
|
69
|
-
]
|
|
20
|
+
erpbsg: erpbsgShortcuts,
|
|
21
|
+
dammgo: dammgoShortcuts,
|
|
22
|
+
vena: venaShortcuts,
|
|
23
|
+
'kode-reboot': labShortcuts,
|
|
70
24
|
};
|
|
71
|
-
// --- 4. TYPOGRAPHY (ALTITUDE-AWARE) ---
|
|
72
25
|
const typographyShortcuts = [
|
|
73
|
-
// Triple Vertical Shielding Protocol
|
|
26
|
+
// Triple Vertical Shielding Protocol (Altitude-Aware)
|
|
74
27
|
['bos-title-hero', 'font-brand font-900 text-5xl lg:text-6xl font-black tracking-tighter uppercase leading-[0.9] text-bos-white [@media(min-height:600px)]:text-6xl [@media(min-height:600px)]:xl:text-7xl [@media(min-height:850px)]:text-8xl [@media(min-height:1000px)]:text-[9.5rem]'],
|
|
75
28
|
['bos-title-terminal', 'font-brand font-900 text-4xl md:text-6xl tracking-tighter uppercase leading-none text-bos-white'],
|
|
76
29
|
['bos-title-section', 'font-brand font-900 text-[10px] text-bos-gray uppercase tracking-[0.4em] opacity-40'],
|
|
77
30
|
];
|
|
78
|
-
// ---
|
|
31
|
+
// --- 3. RULE ASSEMBLY ---
|
|
32
|
+
const protocolRules = {
|
|
33
|
+
vena: venaRules,
|
|
34
|
+
};
|
|
35
|
+
// --- 4. PREFLIGHT INJECTION ---
|
|
79
36
|
const preflights = [];
|
|
80
37
|
if (protocol === 'erpbsg') {
|
|
81
38
|
preflights.push({
|
|
82
|
-
getCSS: () =>
|
|
83
|
-
html, body {
|
|
84
|
-
height: 100%;
|
|
85
|
-
margin: 0;
|
|
86
|
-
padding: 0;
|
|
87
|
-
overflow: hidden;
|
|
88
|
-
background-color: #020617;
|
|
89
|
-
}
|
|
90
|
-
#root { height: 100%; }
|
|
91
|
-
`
|
|
39
|
+
getCSS: () => erpbsgPreflights
|
|
92
40
|
});
|
|
93
41
|
}
|
|
42
|
+
// --- 5. FINAL FACTORY OUTPUT ---
|
|
94
43
|
return {
|
|
95
44
|
name: '@dammgo/vena-visual-engine',
|
|
96
45
|
theme,
|
|
97
|
-
presets:
|
|
98
|
-
presetUno(),
|
|
99
|
-
presetWebFonts({
|
|
100
|
-
provider: 'google',
|
|
101
|
-
fonts: {
|
|
102
|
-
brand: 'Montserrat:400,700,900',
|
|
103
|
-
ui: 'Inter:400,500,600,700',
|
|
104
|
-
mono: 'JetBrains Mono:400,700',
|
|
105
|
-
},
|
|
106
|
-
}),
|
|
107
|
-
],
|
|
46
|
+
presets: corePresets,
|
|
108
47
|
shortcuts: [
|
|
109
48
|
...coreShortcuts,
|
|
110
49
|
...(protocolShortcuts[protocol] || []),
|
|
111
50
|
...typographyShortcuts,
|
|
112
51
|
],
|
|
113
|
-
preflights,
|
|
114
52
|
rules: [
|
|
115
|
-
[
|
|
53
|
+
...(protocolRules[protocol] || []),
|
|
116
54
|
],
|
|
55
|
+
preflights,
|
|
117
56
|
};
|
|
118
57
|
});
|
|
119
58
|
export default presetVena;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const dammgoShortcuts: string[][];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const erpbsgTheme: {
|
|
2
|
+
borderRadius: {
|
|
3
|
+
'bos-sm': string;
|
|
4
|
+
'bos-md': string;
|
|
5
|
+
'bos-lg': string;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare const erpbsgShortcuts: string[][];
|
|
9
|
+
export declare const erpbsgPreflights = "\n html, body { \n height: 100%; \n margin: 0; \n padding: 0; \n overflow: hidden; \n background-color: #020617;\n }\n #root { height: 100%; }\n";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export const erpbsgTheme = {
|
|
2
|
+
borderRadius: {
|
|
3
|
+
'bos-sm': '2px',
|
|
4
|
+
'bos-md': '4px',
|
|
5
|
+
'bos-lg': '6px',
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
export const erpbsgShortcuts = [
|
|
9
|
+
['erpbsg-card', 'bos-surface p-6 hover:border-bos-pink/30 transition-all duration-500'],
|
|
10
|
+
['erpbsg-input', 'w-full bg-bos-white border border-white/10 rounded-bos-sm px-6 py-4 text-bos-slate font-bold placeholder:text-bos-slate/30 focus:outline-none focus:ring-4 focus:ring-bos-pink/10 transition-all z-10 relative'],
|
|
11
|
+
['erpbsg-button', 'px-10 py-5 rounded-bos-sm bg-bos-pink text-bos-white font-brand font-900 uppercase tracking-[0.3em] text-[10px] hover:bg-bos-white hover:text-bos-pink transition-all duration-500 shadow-2xl relative overflow-hidden'],
|
|
12
|
+
['erpbsg-gradient-text', 'text-transparent bg-clip-text bg-gradient-to-r from-bos-pink to-bos-indigo'],
|
|
13
|
+
['erpbsg-input-compact', 'px-4 py-2 text-xs'],
|
|
14
|
+
['erpbsg-button-compact', 'px-6 py-3 text-[9px]'],
|
|
15
|
+
// erpbsg Identity & Navigation
|
|
16
|
+
['erpbsg-button-manual', 'w-full p-1 border-b border-white/[0.03] hover:border-bos-pink/30 transition-all duration-500 bg-transparent'],
|
|
17
|
+
['erpbsg-button-manual-content', 'flex items-center justify-between py-4 px-2'],
|
|
18
|
+
['erpbsg-button-manual-label', 'font-brand font-black text-[10px] text-bos-gray/40 uppercase tracking-widest group-hover:text-bos-white transition-colors'],
|
|
19
|
+
['erpbsg-button-manual-sub', 'font-ui text-[9px] text-bos-gray/20 uppercase tracking-wider group-hover:text-bos-gray/60 transition-colors'],
|
|
20
|
+
['erpbsg-button-manual-icon', 'w-8 h-8 rounded-full border border-white/[0.03] flex items-center justify-center text-bos-gray/20 group-hover:border-bos-pink/30 group-hover:bg-bos-pink/5 group-hover:text-bos-pink transition-all'],
|
|
21
|
+
['erpbsg-button-back', 'mb-12 flex items-center gap-3 text-bos-gray/40 hover:text-bos-white transition-all bg-transparent border-none p-0 outline-none'],
|
|
22
|
+
['erpbsg-button-back-icon', 'w-6 h-6 rounded-full border border-white/[0.03] flex items-center justify-center text-bos-gray/20 group-hover:border-bos-pink/30 group-hover:text-bos-pink transition-all'],
|
|
23
|
+
['erpbsg-button-back-text', 'text-[10px] font-brand font-black uppercase tracking-[0.3em]'],
|
|
24
|
+
];
|
|
25
|
+
export const erpbsgPreflights = `
|
|
26
|
+
html, body {
|
|
27
|
+
height: 100%;
|
|
28
|
+
margin: 0;
|
|
29
|
+
padding: 0;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
background-color: #020617;
|
|
32
|
+
}
|
|
33
|
+
#root { height: 100%; }
|
|
34
|
+
`;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const labTheme = {
|
|
2
|
+
borderRadius: {
|
|
3
|
+
'bos-sm': '0px',
|
|
4
|
+
'bos-md': '0px',
|
|
5
|
+
'bos-lg': '0px',
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
export const labShortcuts = [
|
|
9
|
+
['kode-terminal', 'bg-matrix-dark border border-matrix-green/30 p-8 font-mono text-matrix-green shadow-[0_0_20px_rgba(0,255,65,0.1)]'],
|
|
10
|
+
['kode-button', 'px-6 py-3 border border-matrix-green text-matrix-green font-mono uppercase tracking-widest hover:bg-matrix-green hover:text-matrix-dark transition-all'],
|
|
11
|
+
];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const venaShortcuts = [
|
|
2
|
+
['vena-monitor', 'bg-black border-[0.5px] border-bos-cobalt/20 p-4 font-mono text-[11px] text-bos-cobalt/80'],
|
|
3
|
+
['vena-pulse-line', 'h-[1px] bg-bos-cobalt/10 relative overflow-hidden after:content-[""] after:absolute after:inset-0 after:bg-bos-cobalt after:animate-scan'],
|
|
4
|
+
];
|
|
5
|
+
export const venaRules = [
|
|
6
|
+
['animate-scan', { animation: 'scan 2s linear infinite' }],
|
|
7
|
+
];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dammgo/vena-visual-engine",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "The Sovereign Visual Engine. A rebellion against generic AI-generated interfaces, built for infrastructure longevity.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"dev": "unocss",
|
|
39
|
-
"build": "
|
|
39
|
+
"build": "tsc",
|
|
40
40
|
"showroom:dev": "astro dev --root showroom",
|
|
41
41
|
"showroom:build": "astro build --root showroom",
|
|
42
42
|
"test": "echo \"Error: no test specified\" && exit 1"
|