尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Boeing 737-800 Systems simulator
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Simulador interactivo de los sistemas del Boeing 737-800 NG (CFM56-7B), pensado para estudiar cómo responden los sistemas del avión a los controles del overhead panel.
La aplicación muestra dos vistas sincronizadas:
El comportamiento se basa en el FCOM del 737 NG. Las referencias están en docs/fcom/.
| Sistema | Qué incluye |
|---|---|
| Bleed air | Etapas 5.ª y 9.ª del compresor, PRSOV, precoolers con fan air, APU bleed, conexión de aire de tierra, isolation valve (CLOSE / AUTO / OPEN), check valves, DUAL BLEED, BLEED TRIP OFF |
| Air conditioning | Pack valves, recirculation fans, panel de temperatura, equipment cooling |
| Presurización | Panel de altitud de cabina y panel de control de presurización |
| Anti-ice | Wing y engine (cowl) anti-ice, sensores de sobrecalentamiento, WING-BODY OVERHEAT |
| Rain | Window heat (incl. tests OVHT / PWR TEST), probe heat, limpiaparabrisas |
| Fire protection | Detección de overheat/fire de motores (doble lazo, OVHT DET), APU y wheel well; humo en bodegas (doble lazo, DET SELECT); botellas de motor, APU y cargo con squibs; fire switches (corte de combustible, bleed, hidráulico); tests FAULT/INOP, OVHT/FIRE, EXT y cargo; FIRE WARN / BELL CUTOUT; APU ground control panel; lavatorios |
| Fuel | Tanques 1, central y 2 con su cantidad; seis bombas de CA (las del central con más presión y corte automático), succión, crossfeed, spar y engine fuel shutoff valves (start levers y fire switches), filtros, scavenge jet pump y alimentación del APU; panel FUEL con LOW PRESSURE, VALVE CLOSED y FILTER BYPASS; cantidad en el upper DU con alertas LOW, CONFIG e IMBAL; MASTER CAUTION FUEL; estación de carga (panel P15, camión, transferencia en tierra con la defueling valve); indicador del NGS |
Requiere Node.js 20+ y pnpm (corepack enable lo activa).
pnpm install
pnpm dev # http://localhost:3000
| Script | Descripción |
|---|---|
pnpm dev | Servidor de desarrollo |
pnpm build / pnpm start | Build de producción y servidor |
pnpm lint | ESLint |
pnpm test | Tests (Vitest) |
pnpm test:watch | Tests en modo watch |
src/app/
├── page.tsx # Layout: vistas System + Cockpit
├── cockpit-panels.css # Único CSS plano: instrumentación del cockpit
├── components/
│ ├── cockpit-view.tsx # Lienzo del cockpit y ubicación de los paneles
│ ├── cockpit/ # Artwork del overhead y hook de pan/zoom
│ ├── panels/ # Un módulo por panel + piezas comunes (switches, knobs…)
│ ├── aircraft-panels.tsx # Re-exporta los paneles
│ ├── pneumatic-network-layer.tsx # Render de la red neumática
│ └── … # Capas del esquema (sensores, sondas, ventanas, wipers)
├── simulation/fire/ # Protección contra incendios: reducer puro + contexto
├── simulation/fuel/ # Combustible: reducer puro + contexto (dueño de motores/APU andando)
└── simulation/pneumatic/
├── main-network.ts # Definición de la red: dibujo + nombres + semántica
├── migrate-legacy-network.ts # Construye y valida el grafo a partir del dibujo
├── solve-network.ts # Solver: propaga presión y temperatura
├── runtime-state.ts # Switches y fuentes → estado de válvulas y fuentes
└── pneumatic-context.tsx # Estado React y lógica de cockpit (alertas, tests)
La red se define en main-network.ts en dos capas:
NODE_POINTS se da un nombre estable (eng1BleedValve, leftManifold…) a cada nodo que use la simulación. Además se declara:
El resto de la app usa los nodos a través de PNEUMATIC_NODE.<nombre> y nunca con IDs literales. El solver no lee coordenadas.
Si mueves un punto en el dibujo, actualiza su coordenada en NODE_POINTS. Si un nombre deja de caer sobre un nodo, la red falla al construirse con un error que dice cuál.
Los tests de src/app/simulation/pneumatic/ son de dos tipos:
solve-network.test.ts: reglas de comportamiento legibles (isolation valve en AUTO, check valves, mezcla de etapas, precooler…).solve-network.snapshot.test.ts: guarda el estado de cada nodo y link de la red en una serie de escenarios. Cualquier cambio en la solución aparece como diff. Tras un cambio intencionado en la red o el solver, revisa el diff y actualiza con pnpm test -u.Tailwind CSS para todo, salvo la instrumentación del cockpit, que usa cockpit-panels.css. Las reglas detalladas están en AGENTS.md.