Commit Graph
5 Commits
Author SHA1 Message Date
西风逍遥游 1a58e4d809 feat(ui): unify presentation and component framework 2026-08-26 02:35:29 +08:00
西风逍遥游 346ee1fd3e feat(ui): add theme-driven responsive editor layout 2026-08-25 11:40:20 +08:00
西风逍遥游 56d8dc6873 feat(ui): add reusable desktop editor layout components 2026-08-25 06:07:47 +08:00
西风逍遥游 f0cbcbea5c feat(ui): add modern editor widget primitives 2026-08-25 06:02:24 +08:00
西风逍遥游 a2dd8d7fb1 feat(ui): two-pass layout, images, events, virtualization, viewport
Gap-closing work for the declarative UI module vs UE/Unity/Godot:

- Layout: real measure pass (measureTree) + pure flexArrange with
  margin/padding/min-max/percent/anchor/absolute placement; window size,
  anchors and percentage sizing; script layout props.
- Widgets: Image/ImageButton (engine textures + nine-patch + tint/uv),
  Combo, text wrapping + CJK font candidates/ranges, InputText 1024B,
  virtualized ScrollList/virtualList.
- Events: script onClick/onChange callbacks with structured payloads
  (keeps the poll queues for compatibility).
- Tooling: UI JSON save/load (saveTreeJson/loadTreeJson), host pos tween
  animation, gamepad nav, per-frame UI stats.
- Viewport: embedded offscreen render target widget with input routing;
  RenderSystem3D::renderToCanvas preview pass + Graphics::renderScene3DToCanvas;
  editor.newHeightmapMesh/updateHeightmapMesh for heightmap terrain;
  examples/terrain-editor demonstrating orbit camera + raise/lower brush.
- Tests: 32 UI tests including real-window Vulkan smoke for the viewport.
2026-08-19 09:07:55 +08:00