chore: update .gitignore to include .daveagent directory and modify project documentation formatting

pull/10/head
David Montero Crespo 2026-03-04 19:15:35 -03:00
parent ee7f9e44ba
commit 9cbe15d0a5
1 changed files with 87 additions and 87 deletions

View File

@ -1,95 +1,95 @@
# Estado del Proyecto - OpenWokwi Arduino Emulator # Estado del Proyecto - OpenWokwi Arduino Emulator
## 🎉 Resumen de Funcionalidades Implementadas ## Resumen de Funcionalidades Implementadas
### Repositorios de Wokwi Clonados y Configurados ### Repositorios de Wokwi Clonados y Configurados
Repositorios oficiales de Wokwi en `wokwi-libs/`: Repositorios oficiales de Wokwi en `wokwi-libs/`:
| Repositorio | Estado | Descripción | | Repositorio | Estado | Descripción |
|-------------|--------|-------------| |-------------|--------|-------------|
| **wokwi-elements** | Compilado y en uso | 48+ componentes electrónicos Web Components | | **wokwi-elements** | Compilado y en uso | 48+ componentes electrónicos Web Components |
| **avr8js** | Compilado y en uso | Emulación real de AVR8 (ATmega328p) | | **avr8js** | Compilado y en uso | Emulación real de AVR8 (ATmega328p) |
| **rp2040js** | Clonado | Emulador RP2040 (futuro) | | **rp2040js** | Clonado | Emulador RP2040 (futuro) |
| **wokwi-features** | Clonado | Documentación y features | | **wokwi-features** | Clonado | Documentación y features |
### Emulación AVR Real (avr8js) ### Emulación AVR Real (avr8js)
| Feature | Estado | | Feature | Estado |
|---------|--------| |---------|--------|
| CPU ATmega328p a 16MHz | Funcionando | | CPU ATmega328p a 16MHz | Funcionando |
| Timer0, Timer1, Timer2 | Funcionando | | Timer0, Timer1, Timer2 | Funcionando |
| USART (Serial) | Funcionando | | USART (Serial) | Funcionando |
| ADC (analogRead) | Funcionando | | ADC (analogRead) | Funcionando |
| GPIO completo (PORTB/C/D) | Funcionando | | GPIO completo (PORTB/C/D) | Funcionando |
| Loop ~60fps (267k ciclos/frame) | Funcionando | | Loop ~60fps (267k ciclos/frame) | Funcionando |
| Control de velocidad (0.1x - 10x) | Funcionando | | Control de velocidad (0.1x - 10x) | Funcionando |
| Debugging paso a paso (step) | Funcionando | | Debugging paso a paso (step) | Funcionando |
| Monitoreo PWM (6 canales) | Funcionando | | Monitoreo PWM (6 canales) | Funcionando |
| Inyección de pin externo (inputs) | Funcionando | | Inyección de pin externo (inputs) | Funcionando |
### Sistema de Componentes (48+) ### Sistema de Componentes (48+)
| Feature | Estado | | Feature | Estado |
|---------|--------| |---------|--------|
| Descubrimiento automático por AST | 48 componentes detectados | | Descubrimiento automático por AST | 48 componentes detectados |
| ComponentPickerModal con búsqueda | Funcionando | | ComponentPickerModal con búsqueda | Funcionando |
| 9 categorías con filtros | Functioning | | 9 categorías con filtros | Functioning |
| Thumbnails en vivo (web components) | Funcionando | | Thumbnails en vivo (web components) | Funcionando |
| DynamicComponent renderer genérico | Funcionando | | DynamicComponent renderer genérico | Funcionando |
| Drag-and-drop en el canvas | Funcionando | | Drag-and-drop en el canvas | Funcionando |
| Rotación (90° incrementos) | Funcionando | | Rotación (90° incrementos) | Funcionando |
| Diálogo de propiedades (click) | Funcionando | | Diálogo de propiedades (click) | Funcionando |
| Selector de pines (doble-click) | Funcionando | | Selector de pines (doble-click) | Funcionando |
| Pin overlay (puntos cyan clickeables) | Funcionando | | Pin overlay (puntos cyan clickeables) | Funcionando |
### 16 Partes con Simulación Interactiva ### 16 Partes con Simulación Interactiva
| Parte | Tipo | Estado | | Parte | Tipo | Estado |
|-------|------|--------| |-------|------|--------|
| LED | Output | | | LED | Output | |
| RGB LED | Output (digital + PWM) | | | RGB LED | Output (digital + PWM) | |
| LED Bar Graph (10 LEDs) | Output | | | LED Bar Graph (10 LEDs) | Output | |
| 7-Segment Display | Output | | | 7-Segment Display | Output | |
| Pushbutton | Input | | | Pushbutton | Input | |
| Pushbutton 6mm | Input | | | Pushbutton 6mm | Input | |
| Slide Switch | Input | | | Slide Switch | Input | |
| DIP Switch 8 | Input | | | DIP Switch 8 | Input | |
| Potentiometer | Input (ADC) | | | Potentiometer | Input (ADC) | |
| Slide Potentiometer | Input (ADC) | | | Slide Potentiometer | Input (ADC) | |
| Photoresistor | Input/Output | | | Photoresistor | Input/Output | |
| Analog Joystick | Input (ADC + digital) | | | Analog Joystick | Input (ADC + digital) | |
| Servo | Output | | | Servo | Output | |
| Buzzer | Output (Web Audio) | | | Buzzer | Output (Web Audio) | |
| LCD 1602 | Output (HD44780 completo) | | | LCD 1602 | Output (HD44780 completo) | |
| LCD 2004 | Output (HD44780 completo) | | | LCD 2004 | Output (HD44780 completo) | |
### Sistema de Cables (Wires) ### Sistema de Cables (Wires)
| Feature | Estado | | Feature | Estado |
|---------|--------| |---------|--------|
| Creación pin-a-pin con click | Funcionando | | Creación pin-a-pin con click | Funcionando |
| Preview en tiempo real (verde, punteado) | Funcionando | | Preview en tiempo real (verde, punteado) | Funcionando |
| Routing ortogonal (sin diagonales) | Funcionando | | Routing ortogonal (sin diagonales) | Funcionando |
| Edición por segmentos (drag perpendicular) | Funcionando | | Edición por segmentos (drag perpendicular) | Funcionando |
| 8 colores por tipo de señal | Funcionando | | 8 colores por tipo de señal | Funcionando |
| Offset automático para cables paralelos | Funcionando | | Offset automático para cables paralelos | Funcionando |
| Auto-actualización al mover componentes | Funcionando | | Auto-actualización al mover componentes | Funcionando |
| Grid snapping (20px) | Funcionando | | Grid snapping (20px) | Funcionando |
| Selección y eliminación de cables | Funcionando | | Selección y eliminación de cables | Funcionando |
### Editor de Código ### Editor de Código
| Feature | Estado | | Feature | Estado |
|---------|--------| |---------|--------|
| Monaco Editor (C++, dark theme) | Funcionando | | Monaco Editor (C++, dark theme) | Funcionando |
| Syntax highlighting + autocomplete | Funcionando | | Syntax highlighting + autocomplete | Funcionando |
| Botones Compile/Run/Stop/Reset | Funcionando | | Botones Compile/Run/Stop/Reset | Funcionando |
| Compilación via arduino-cli backend | Funcionando | | Compilación via arduino-cli backend | Funcionando |
| Mensajes de error/éxito | Funcionando | | Mensajes de error/éxito | Funcionando |
| Font size configurable | Funcionando | | Font size configurable | Funcionando |
### Ejemplos (8 Proyectos) ### Ejemplos (8 Proyectos)
| Ejemplo | Categoría | Dificultad | | Ejemplo | Categoría | Dificultad |
|---------|-----------|------------| |---------|-----------|------------|
@ -102,21 +102,21 @@ Repositorios oficiales de Wokwi en `wokwi-libs/`:
| Simon Says Game | games | advanced | | Simon Says Game | games | advanced |
| LCD 20x4 Display | displays | intermediate | | LCD 20x4 Display | displays | intermediate |
- Galería con filtros de categoría y dificultad - Galería con filtros de categoría y dificultad
- Carga con un click (código + componentes + cables) - Carga con un click (código + componentes + cables)
### Integración Configurada ### Integración Configurada
| Item | Estado | | Item | Estado |
|------|--------| |------|--------|
| Vite aliases para repos locales | | | Vite aliases para repos locales | |
| Package.json con `file:../wokwi-libs/...` | | | Package.json con `file:../wokwi-libs/...` | |
| TypeScript declarations para Web Components | | | TypeScript declarations para Web Components | |
| CORS backend (puertos 5173-5175) | | | CORS backend (puertos 5173-5175) | |
| React Router (2 rutas) | | | React Router (2 rutas) | |
| Zustand stores (editor + simulator) | | | Zustand stores (editor + simulator) | |
### Documentación ### Documentación
| Archivo | Descripción | | Archivo | Descripción |
|---------|-------------| |---------|-------------|
@ -127,7 +127,7 @@ Repositorios oficiales de Wokwi en `wokwi-libs/`:
| `CLAUDE.md` | Guía para asistentes IA | | `CLAUDE.md` | Guía para asistentes IA |
| `update-wokwi-libs.bat` | Script de actualización automática | | `update-wokwi-libs.bat` | Script de actualización automática |
## 🚀 Cómo Empezar ## Cómo Empezar
### 1. Asegúrate de tener arduino-cli instalado ### 1. Asegúrate de tener arduino-cli instalado
@ -157,7 +157,7 @@ npm run dev
- Backend API: http://localhost:8001 - Backend API: http://localhost:8001
- API Docs: http://localhost:8001/docs - API Docs: http://localhost:8001/docs
## 🔄 Actualizar Librerías de Wokwi ## Actualizar Librerías de Wokwi
```bash ```bash
# Ejecutar script de actualización # Ejecutar script de actualización
@ -168,7 +168,7 @@ cd frontend
npx tsx ../scripts/generate-component-metadata.ts npx tsx ../scripts/generate-component-metadata.ts
``` ```
## 📋 Próximos Pasos (Pendiente) ## Próximos Pasos (Pendiente)
| Feature | Prioridad | Descripción | | Feature | Prioridad | Descripción |
|---------|-----------|-------------| |---------|-----------|-------------|
@ -179,7 +179,7 @@ npx tsx ../scripts/generate-component-metadata.ts
| Validación de cables | Media | Validación eléctrica y resaltado de errores | | Validación de cables | Media | Validación eléctrica y resaltado de errores |
| Export/Import | Baja | Compartir proyectos como archivos | | Export/Import | Baja | Compartir proyectos como archivos |
## 🐛 Troubleshooting ## Troubleshooting
### Los componentes no se muestran ### Los componentes no se muestran
@ -218,15 +218,15 @@ cd frontend
npx tsx ../scripts/generate-component-metadata.ts npx tsx ../scripts/generate-component-metadata.ts
``` ```
## 🎊 Estado General ## Estado General
El proyecto tiene implementadas todas las funcionalidades core: El proyecto tiene implementadas todas las funcionalidades core:
- Editor de código profesional (Monaco) - Editor de código profesional (Monaco)
- Compilación Arduino local (arduino-cli) - Compilación Arduino local (arduino-cli)
- Emulación AVR8 real con periféricos completos - Emulación AVR8 real con periféricos completos
- 48+ componentes electrónicos con descubrimiento automático - 48+ componentes electrónicos con descubrimiento automático
- 16 partes con simulación interactiva (LED, LCD, buttons, potentiometers, servo, buzzer) - 16 partes con simulación interactiva (LED, LCD, buttons, potentiometers, servo, buzzer)
- Sistema de cables ortogonales con edición visual - Sistema de cables ortogonales con edición visual
- 8 proyectos de ejemplo con galería filtrable - 8 proyectos de ejemplo con galería filtrable
- Sistema de actualización automática para librerías Wokwi - Sistema de actualización automática para librerías Wokwi