Feature/editor optimization (#251)

* refactor: 编辑器/运行时架构拆分与构建系统升级

* feat(core): 层级系统重构与UI变换矩阵修复

* refactor: 移除 ecs-components 聚合包并修复跨包组件查找问题

* fix(physics): 修复跨包组件类引用问题

* feat: 统一运行时架构与浏览器运行支持

* feat(asset): 实现浏览器运行时资产加载系统

* fix: 修复文档、CodeQL安全问题和CI类型检查错误

* fix: 修复文档、CodeQL安全问题和CI类型检查错误

* fix: 修复文档、CodeQL安全问题、CI类型检查和测试错误

* test: 补齐核心模块测试用例,修复CI构建配置

* fix: 修复测试用例中的类型错误和断言问题

* fix: 修复 turbo build:npm 任务的依赖顺序问题

* fix: 修复 CI 构建错误并优化构建性能
This commit is contained in:
YHH
2025-12-01 22:28:51 +08:00
committed by GitHub
parent 189714c727
commit b42a7b4e43
468 changed files with 18301 additions and 9075 deletions

View File

@@ -46,15 +46,24 @@ export class UIScrollViewRenderSystem extends EntitySystem {
const x = transform.worldX ?? transform.x;
const y = transform.worldY ?? transform.y;
const width = (transform.computedWidth ?? transform.width) * transform.scaleX;
const height = (transform.computedHeight ?? transform.height) * transform.scaleY;
// 使用世界缩放
const scaleX = transform.worldScaleX ?? transform.scaleX;
const scaleY = transform.worldScaleY ?? transform.scaleY;
const rotation = transform.worldRotation ?? transform.rotation;
const width = (transform.computedWidth ?? transform.width) * scaleX;
const height = (transform.computedHeight ?? transform.height) * scaleY;
const alpha = transform.worldAlpha ?? transform.alpha;
const baseOrder = 100 + transform.zIndex;
// 使用 transform 的 pivot 计算位置
const pivotX = transform.pivotX;
const pivotY = transform.pivotY;
// 渲染位置 = 左下角 + pivot 偏移
const renderX = x + width * pivotX;
const renderY = y + height * pivotY;
// x, y is already top-left corner
// x, y 已经是左上角
const baseX = x;
const baseY = y;
// 计算边界
const baseX = renderX - width * pivotX;
const baseY = renderY - height * pivotY;
// Render vertical scrollbar
// 渲染垂直滚动条
@@ -62,7 +71,7 @@ export class UIScrollViewRenderSystem extends EntitySystem {
this.renderVerticalScrollbar(
collector,
baseX, baseY, width, height,
scrollView, alpha, baseOrder
scrollView, alpha, baseOrder, rotation
);
}
@@ -72,7 +81,7 @@ export class UIScrollViewRenderSystem extends EntitySystem {
this.renderHorizontalScrollbar(
collector,
baseX, baseY, width, height,
scrollView, alpha, baseOrder
scrollView, alpha, baseOrder, rotation
);
}
}
@@ -88,7 +97,8 @@ export class UIScrollViewRenderSystem extends EntitySystem {
viewWidth: number, viewHeight: number,
scrollView: UIScrollViewComponent,
alpha: number,
baseOrder: number
baseOrder: number,
rotation: number
): void {
const scrollbarWidth = scrollView.scrollbarWidth;
const hasHorizontal = scrollView.needsHorizontalScrollbar(viewWidth);
@@ -108,7 +118,7 @@ export class UIScrollViewRenderSystem extends EntitySystem {
scrollView.scrollbarTrackColor,
scrollView.scrollbarTrackAlpha * alpha,
baseOrder + 0.5,
{ pivotX: 0.5, pivotY: 0.5 }
{ rotation, pivotX: 0.5, pivotY: 0.5 }
);
}
@@ -131,7 +141,7 @@ export class UIScrollViewRenderSystem extends EntitySystem {
scrollView.scrollbarColor,
handleAlpha * alpha,
baseOrder + 0.6,
{ pivotX: 0.5, pivotY: 0.5 }
{ rotation, pivotX: 0.5, pivotY: 0.5 }
);
}
@@ -145,7 +155,8 @@ export class UIScrollViewRenderSystem extends EntitySystem {
viewWidth: number, viewHeight: number,
scrollView: UIScrollViewComponent,
alpha: number,
baseOrder: number
baseOrder: number,
rotation: number
): void {
const scrollbarWidth = scrollView.scrollbarWidth;
const hasVertical = scrollView.needsVerticalScrollbar(viewHeight);
@@ -165,7 +176,7 @@ export class UIScrollViewRenderSystem extends EntitySystem {
scrollView.scrollbarTrackColor,
scrollView.scrollbarTrackAlpha * alpha,
baseOrder + 0.5,
{ pivotX: 0.5, pivotY: 0.5 }
{ rotation, pivotX: 0.5, pivotY: 0.5 }
);
}
@@ -188,7 +199,7 @@ export class UIScrollViewRenderSystem extends EntitySystem {
scrollView.scrollbarColor,
handleAlpha * alpha,
baseOrder + 0.6,
{ pivotX: 0.5, pivotY: 0.5 }
{ rotation, pivotX: 0.5, pivotY: 0.5 }
);
}
}