Files
bot_dev1 5da367dfd8 feat(#54): 性能预算与懒加载策略引擎(首屏≤2s,图表懒加载)
纯标准库实现,对齐 PRD 5.5「⑤ 配置化驾驶舱」性能口径:

- perf_budget.py:PerformanceBudget(首屏 2000ms + 6 类资源预算)、
  ResourceMeasurement(block_render 区分关键路径)、BudgetVerifier
  (阻塞串行+非阻塞取最大口径,逐类型比对预算,PASS/FAIL/EMPTY +
  类型化优化建议,reason 可解释)。
- lazy_load.py:LazyLoadStrategy(immediate/visible/idle/never)、
  LazyLoadPolicy(视口行数+预加载+分页阈值+虚拟滚动)、LazyLoadPlanner
  (widget 坐标+滚动位置 → 决策+分页计划+虚拟滚动窗口)。
- tests:32 用例覆盖预算构造/查询、关键路径口径、达标/超预算场景、
  always_load 强制加载、视口边界、分页/虚拟滚动、输入校验。
- _sanity_check.py:冒烟验证达标/超预算/懒加载分流。
2026-08-05 05:26:09 +08:00

47 lines
955 B
Python

# -*- coding: utf-8 -*-
"""性能预算与懒加载策略引擎包(Issue #54)。
对齐 PRD 5.5「⑤ 配置化驾驶舱」性能口径:首屏 ≤ 2s、图表懒加载。
"""
from .perf_budget import (
BudgetError,
BudgetOverrun,
BudgetReport,
BudgetStatus,
BudgetVerifier,
PerformanceBudget,
ResourceBudget,
ResourceMeasurement,
ResourceType,
)
from .lazy_load import (
LazyLoadDecision,
LazyLoadError,
LazyLoadPlan,
LazyLoadPlanner,
LazyLoadPolicy,
LazyLoadStrategy,
WidgetLayout,
)
__all__ = [
# perf_budget
"PerformanceBudget",
"ResourceBudget",
"ResourceMeasurement",
"ResourceType",
"BudgetReport",
"BudgetOverrun",
"BudgetVerifier",
"BudgetStatus",
"BudgetError",
# lazy_load
"LazyLoadPolicy",
"LazyLoadDecision",
"LazyLoadPlan",
"LazyLoadStrategy",
"LazyLoadPlanner",
"LazyLoadError",
"WidgetLayout",
]