const fs = require('fs'); let code = fs.readFileSync('app/src/components/Warehouse3D.tsx', 'utf8'); // Import AirflowSystem if (!code.includes('AirflowSystem')) { code = code.replace("import { useGalpaoStore } from '../store/galpaoStore';", "import { useGalpaoStore } from '../store/galpaoStore';\nimport { AirflowSystem } from './three/AirflowSystem';"); } // Add viewMode to useGalpaoStore destructuring in WarehouseModel if (!code.includes('viewMode = useGalpaoStore')) { code = code.replace("const { width, length, height, roofPitch, wallCpe, roofCpe, template, extraHeight, skirtHeight } = useGalpaoStore();", "const { width, length, height, roofPitch, wallCpe, roofCpe, template, extraHeight, skirtHeight, viewMode } = useGalpaoStore();"); } // Add viewMode to PressureArrow if (!code.includes('const { viewMode } = useGalpaoStore();') && code.includes('function PressureArrow')) { code = code.replace("const { q } = useWindStore();", "const { q } = useWindStore();\n const { viewMode } = useGalpaoStore();\n if (viewMode === 'airflow') return null;"); } // Make meshStandardMaterial transparent code = code.replace(/]+)>/g, (match, p1) => { // If it already has transparent, skip if (match.includes("transparent={viewMode")) return match; return ``; }); // Add AirflowSystem to the scene if (!code.includes('}\n\n {/* === RÓTULOS 3D === */}"); } // Rótulos 3D visibility if (code.includes('{showMainWalls && (')) { code = code.replace("{showMainWalls && (", "{showMainWalls && viewMode === 'solid' && ("); } fs.writeFileSync('app/src/components/Warehouse3D.tsx', code);