@dammgo/vena-visual-engine 0.1.5 β†’ 0.2.1

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 CHANGED
@@ -1,45 +1,62 @@
1
- # VENA Visual Engine v0.1.0 πŸš€
1
+ # VENA Visual Engine πŸš€
2
2
 
3
3
  > **"Engineering as Art. Sovereignty as Standard."**
4
4
 
5
- ## 🧬 The Manifesto
5
+ [![Version](https://img.shields.io/npm/v/@dammgo/vena-visual-engine?color=E91E63&label=VVE)](https://www.npmjs.com/package/@dammgo/vena-visual-engine)
6
+ [![License](https://img.shields.io/npm/l/@dammgo/vena-visual-engine?color=00d4ff)](https://github.com/dammgo/vena-visual-engine/blob/main/LICENSE)
6
7
 
7
- 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. Every app looks like a template of a template.
8
+ ## 🧬 The Manifesto
8
9
 
9
- **VENA Visual Engine** 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.
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. **Precision over Organic:** We reject the "round-everything" culture. Surfaces should feel like precision-cut steel, not plastic bubbles.
18
- 2. **Infrastructure over Ornament:** Every pixel must justify its existence. If it's just "decoration," it's noise.
19
- 3. **The Active Pulse:** Interfaces are not static; they are live signals. We treat the rendering process as a vital pulse of data.
20
- 4. **Sovereignty:** Total control over the design grammar. No dependence on industry "safe" standards that dilute identity.
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
- ## πŸ› οΈ Technical Core
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
- VENA Visual Engine is built as a high-performance **Visual Syntax** that can be injected into any project. It leverages the power of atomic CSS engines to provide:
35
+ ```typescript
36
+ // uno.config.ts
37
+ import { defineConfig } from 'unocss'
38
+ import { presetVena } from '@dammgo/vena-visual-engine'
27
39
 
28
- - **BOS Protocol Presets:** Ready-to-use visual laws for the erpbsg ecosystem.
29
- - **Precision Tokens:** Mathematical scales for typography and spacing based on the BOS Golden Ratio.
30
- - **Atmospheric Glows:** Cinematic lighting systems for deep-space (Dark Mode) interfaces.
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
- ## πŸš€ Usage
51
+ ## πŸ“š Documentation
35
52
 
36
- *Documentation in progress. This is the seed of a new visual era.*
53
+ Detailed guides for our sovereign syntax:
37
54
 
38
- ```bash
39
- # Clone the rebellion
40
- git clone https://github.com/dammgo/vena-visual-engine
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** - _Institutionalizing the Future._
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
- * Protocolo visual a activar.
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
- return {
5
- name: '@dammgo/vena-visual-engine',
6
- theme: {
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
- }
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
- borderRadius: {
28
- 'bos-sm': protocol === 'kode-reboot' ? '0px' : '2px',
29
- 'bos-md': protocol === 'kode-reboot' ? '0px' : '4px',
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 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 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
- // --- CAPA CORE ---
46
- ['bos-surface', 'bg-bos-surface/40 backdrop-blur-md border border-bos-armor/30 rounded-bos-sm shadow-none'],
47
- ['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'],
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.1.5",
3
+ "version": "0.2.1",
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",