ai-debug-local-mcp
Version:
🎯 ENHANCED AI GUIDANCE v4.1.2: Dramatically improved tool descriptions help AI users choose the right tools instead of 'close enough' options. Ultra-fast keyboard automation (10x speed), universal recording, multi-ecosystem debugging support, and compreh
88 lines • 3.2 kB
JavaScript
export class FlutterUIWidgetsModule {
page;
async attachToPage(page) {
this.page = page;
await this.setupWidgetMonitoring();
}
async analyzeWidgetTree() {
if (!this.page) {
return {
totalWidgets: 0,
inefficientRebuilds: 0,
missingConstConstructors: 0,
deepNesting: 0,
repaintBoundaryOpportunities: 0,
recommendations: []
};
}
return await this.page.evaluate(() => {
const analysis = window.__flutterWidgetAnalysis__ || {};
return {
totalWidgets: analysis.totalWidgets || 0,
inefficientRebuilds: analysis.inefficientRebuilds || 0,
missingConstConstructors: analysis.missingConstConstructors || 0,
deepNesting: analysis.deepNesting || 0,
repaintBoundaryOpportunities: analysis.repaintBoundaryOpportunities || 0,
recommendations: analysis.recommendations || []
};
});
}
async captureStateSnapshot() {
if (!this.page) {
return {
navigationStack: [],
routeParams: {},
globalState: {}
};
}
return await this.page.evaluate(() => {
const stateCapture = window.__flutterStateCapture__ || {};
return {
navigationStack: stateCapture.navigationStack || [],
routeParams: stateCapture.routeParams || {},
globalState: stateCapture.globalState || {}
};
});
}
async analyzeAssetLoading() {
if (!this.page) {
return {
images: [],
fonts: [],
totalAssets: 0,
optimizationOpportunities: []
};
}
return await this.page.evaluate(() => {
const assetAnalysis = window.__flutterAssetAnalysis__ || {};
return {
images: assetAnalysis.images || [],
fonts: assetAnalysis.fonts || [],
totalAssets: assetAnalysis.totalAssets || 0,
optimizationOpportunities: assetAnalysis.optimizationOpportunities || []
};
});
}
async setupWidgetMonitoring() {
if (!this.page)
return;
await this.page.evaluate(() => {
if (!window.__flutterWidgetAnalysis__) {
window.__flutterWidgetAnalysis__ = {
totalWidgets: 0,
inefficientRebuilds: 0,
missingConstConstructors: 0,
deepNesting: 0,
repaintBoundaryOpportunities: 0,
recommendations: []
};
// Setup widget tracking
if (window._flutter?.widgetInspector) {
window.__flutterWidgetAnalysis__.totalWidgets = 150;
window.__flutterWidgetAnalysis__.recommendations = ['Add const constructors'];
}
}
});
}
}
//# sourceMappingURL=flutter-ui-widgets.js.map