@dammgo/vena-visual-engine 0.1.5 β 0.2.0
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/README.md +38 -21
- package/dist/index.d.ts +2 -2
- package/dist/index.js +94 -51
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,45 +1,62 @@
|
|
|
1
|
-
# VENA Visual Engine
|
|
1
|
+
# VENA Visual Engine π
|
|
2
2
|
|
|
3
3
|
> **"Engineering as Art. Sovereignty as Standard."**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@dammgo/vena-visual-engine)
|
|
6
|
+
[](https://github.com/dammgo/vena-visual-engine/blob/main/LICENSE)
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
## 𧬠The Manifesto
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
The web has been colonized by the generic. AI-generated interfaces have commoditized "good taste," filling our screens with predictable shadows, rounded corners, and a lack of character.
|
|
10
11
|
|
|
11
|
-
We don't build "UI components"; we build **Visual Protocols**.
|
|
12
|
+
**VENA Visual Engine (VVE)** is a rebellion. It is not another CSS framework for "friendly" apps. It is a **Sovereign Infrastructure** for building digital interfaces that reflect precision, authority, and longevity. We don't build "UI components"; we build **Visual Protocols**.
|
|
12
13
|
|
|
13
14
|
---
|
|
14
15
|
|
|
15
16
|
## ποΈ Axioms of the Engine
|
|
16
17
|
|
|
17
|
-
1.
|
|
18
|
-
2.
|
|
19
|
-
3.
|
|
20
|
-
4.
|
|
18
|
+
1. **Precision over Organic:** We reject the "round-everything" culture. Surfaces should feel like precision-cut steel.
|
|
19
|
+
2. **Hardware Awareness:** Altitude-conscious design. We optimize for the screen where the work happens (Laptops), not just the desk where we design (2K/4K).
|
|
20
|
+
3. **Context Sovereignty:** The engine differentiates between Application, Landing, and Laboratory realities, injecting specific infrastructure resets for each.
|
|
21
|
+
4. **The Active Pulse:** Interfaces are live signals. We treat the rendering process as a vital pulse of data.
|
|
21
22
|
|
|
22
23
|
---
|
|
23
24
|
|
|
24
|
-
## π οΈ
|
|
25
|
+
## π οΈ Installation
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install @dammgo/vena-visual-engine unocss
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## π‘ Quick Start (UnoCSS)
|
|
32
|
+
|
|
33
|
+
VVE is designed to be consumed as a **UnoCSS Preset**.
|
|
25
34
|
|
|
26
|
-
|
|
35
|
+
```typescript
|
|
36
|
+
// uno.config.ts
|
|
37
|
+
import { defineConfig } from 'unocss'
|
|
38
|
+
import { presetVena } from '@dammgo/vena-visual-engine'
|
|
27
39
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
40
|
+
export default defineConfig({
|
|
41
|
+
presets: [
|
|
42
|
+
presetVena({
|
|
43
|
+
protocol: 'erpbsg' // Options: 'erpbsg' | 'dammgo' | 'vena' | 'kode-reboot'
|
|
44
|
+
}),
|
|
45
|
+
],
|
|
46
|
+
})
|
|
47
|
+
```
|
|
31
48
|
|
|
32
49
|
---
|
|
33
50
|
|
|
34
|
-
##
|
|
51
|
+
## π Documentation
|
|
35
52
|
|
|
36
|
-
|
|
53
|
+
Detailed guides for our sovereign syntax:
|
|
37
54
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
55
|
+
- [**Architecture Blueprint**](./docs/ARCHITECTURE.md): Understand the factory and the DNA injection.
|
|
56
|
+
- [**VVE Specification**](./docs/VVE_SPECIFICATION.md): The three realities (App, Landing, Blog).
|
|
57
|
+
- [**Protocol Handbook**](./docs/PROTOCOL_HANDBOOK.md): How to register and build a new visual identity.
|
|
58
|
+
- [**Visual Philosophy**](./docs/PHILOSOPHY.md): The ergonomic and aesthetic ethics of the engine.
|
|
42
59
|
|
|
43
60
|
---
|
|
44
|
-
**dammgo labs** -
|
|
61
|
+
**dammgo labs** - _Engineering Longevity._
|
|
45
62
|
Β© 2026. Distributed under the MIT License.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export interface VenaOptions {
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Visual Protocol to activate.
|
|
4
4
|
* @default 'erpbsg'
|
|
5
5
|
*/
|
|
6
6
|
protocol?: 'erpbsg' | 'dammgo' | 'vena' | 'kode-reboot';
|
|
7
7
|
}
|
|
8
|
-
export declare const presetVena: any
|
|
8
|
+
export declare const presetVena: import("unocss").PresetFactory<any, VenaOptions>;
|
|
9
9
|
export default presetVena;
|
package/dist/index.js
CHANGED
|
@@ -1,35 +1,99 @@
|
|
|
1
1
|
import { definePreset, presetUno, presetWebFonts } from 'unocss';
|
|
2
2
|
export const presetVena = definePreset((options = {}) => {
|
|
3
3
|
const protocol = options.protocol || 'erpbsg';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
error: '#ef4444',
|
|
21
|
-
},
|
|
22
|
-
matrix: {
|
|
23
|
-
green: '#00FF41',
|
|
24
|
-
dark: '#0D0208',
|
|
25
|
-
}
|
|
4
|
+
// --- 1. THEME DEFINITION (DNA) ---
|
|
5
|
+
const theme = {
|
|
6
|
+
colors: {
|
|
7
|
+
bos: {
|
|
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',
|
|
26
20
|
},
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
'bos-lg': protocol === 'kode-reboot' ? '0px' : '6px',
|
|
21
|
+
matrix: {
|
|
22
|
+
green: '#00FF41',
|
|
23
|
+
dark: '#0D0208',
|
|
31
24
|
}
|
|
32
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
|
+
}
|
|
31
|
+
};
|
|
32
|
+
// --- 2. SIGNATURE SHORTCUTS (SHARED CORE) ---
|
|
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 ---
|
|
41
|
+
const protocolShortcuts = {
|
|
42
|
+
erpbsg: [
|
|
43
|
+
['erpbsg-card', 'bos-surface p-6 hover:border-bos-pink/30 transition-all duration-500'],
|
|
44
|
+
['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'],
|
|
45
|
+
['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'],
|
|
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
|
+
]
|
|
70
|
+
};
|
|
71
|
+
// --- 4. TYPOGRAPHY (ALTITUDE-AWARE) ---
|
|
72
|
+
const typographyShortcuts = [
|
|
73
|
+
// Triple Vertical Shielding Protocol
|
|
74
|
+
['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
|
+
['bos-title-terminal', 'font-brand font-900 text-4xl md:text-6xl tracking-tighter uppercase leading-none text-bos-white'],
|
|
76
|
+
['bos-title-section', 'font-brand font-900 text-[10px] text-bos-gray uppercase tracking-[0.4em] opacity-40'],
|
|
77
|
+
];
|
|
78
|
+
// --- 5. PREFLIGHTS (INFRASTRUCTURE RESETS) ---
|
|
79
|
+
const preflights = [];
|
|
80
|
+
if (protocol === 'erpbsg') {
|
|
81
|
+
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
|
+
`
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
name: '@dammgo/vena-visual-engine',
|
|
96
|
+
theme,
|
|
33
97
|
presets: [
|
|
34
98
|
presetUno(),
|
|
35
99
|
presetWebFonts({
|
|
@@ -42,32 +106,11 @@ export const presetVena = definePreset((options = {}) => {
|
|
|
42
106
|
}),
|
|
43
107
|
],
|
|
44
108
|
shortcuts: [
|
|
45
|
-
|
|
46
|
-
[
|
|
47
|
-
|
|
48
|
-
['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'],
|
|
49
|
-
['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'],
|
|
50
|
-
// --- PROTOCOLO: erpbsg ---
|
|
51
|
-
['erpbsg-card', 'bos-surface p-6 hover:border-bos-pink/30 transition-all duration-500'],
|
|
52
|
-
['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'],
|
|
53
|
-
['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'],
|
|
54
|
-
['erpbsg-gradient-text', 'text-transparent bg-clip-text bg-gradient-to-r from-bos-pink to-bos-indigo'],
|
|
55
|
-
// --- MODOS ESPECIALES (COMPACT) ---
|
|
56
|
-
['erpbsg-input-compact', 'px-4 py-2 text-xs'],
|
|
57
|
-
['erpbsg-button-compact', 'px-6 py-3 text-[9px]'],
|
|
58
|
-
// --- PROTOCOLO: vena ---
|
|
59
|
-
['vena-monitor', 'bg-black border-[0.5px] border-bos-cobalt/20 p-4 font-mono text-[11px] text-bos-cobalt/80'],
|
|
60
|
-
['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'],
|
|
61
|
-
// --- PROTOCOLO: kode-reboot ---
|
|
62
|
-
['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)]'],
|
|
63
|
-
['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'],
|
|
64
|
-
// --- TIPOGRAFΓA ---
|
|
65
|
-
['bos-title-hero', 'font-brand font-900 text-5xl md:text-7xl lg:text-8xl tracking-tighter uppercase leading-[0.85] text-bos-white'],
|
|
66
|
-
['bos-title-terminal', 'font-brand font-900 text-4xl md:text-6xl tracking-tighter uppercase leading-none text-bos-white'],
|
|
67
|
-
['bos-title-section', 'font-brand font-900 text-[10px] text-bos-gray uppercase tracking-[0.4em] opacity-40'],
|
|
68
|
-
// --- COMPONENTES ---
|
|
69
|
-
['bos-input', 'bos-surface infra-grid px-4 py-3 font-mono text-sm bg-transparent outline-none focus:precision-bracket transition-all placeholder:opacity-20'],
|
|
109
|
+
...coreShortcuts,
|
|
110
|
+
...(protocolShortcuts[protocol] || []),
|
|
111
|
+
...typographyShortcuts,
|
|
70
112
|
],
|
|
113
|
+
preflights,
|
|
71
114
|
rules: [
|
|
72
115
|
['animate-scan', { animation: 'scan 2s linear infinite' }],
|
|
73
116
|
],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dammgo/vena-visual-engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
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",
|