Skip to content

v0.3.0

Latest

Choose a tag to compare

@lukewire129 lukewire129 released this 25 Aug 22:59

Nuri v0.3.0

Platform-neutral UI composition, visual styling, input handling, and Avalonia tooling have been expanded.

Highlights

  • Added renderer-owned Native Control Islands through Native<TNative>(...) for integrating retained WPF and Avalonia controls with mount, render, and cleanup lifecycles
  • Added startup YAML visual styling with named styles, theme tokens, single-style inheritance, embedded fallbacks, and external override files
  • Added Absolute layout plus Viewport pan and zoom control APIs
  • Expanded pointer input with primary, secondary, and middle buttons, modifier keys, local coordinates, wheel events, routing, and optional pointer capture
  • Added minimum and maximum size constraints across Core, WPF, and Avalonia
  • Added Avalonia application builder, window configuration extensions, Runtime Inspector diagnostics, and NuGet publishing
  • Improved WPF and Avalonia event/property mapping, including viewport materialization and native control hosting
  • Reorganized implementation references by architecture, renderer, guide, and performance responsibilities

Compatibility Notes

  • Native<TNative>(...) supports WPF FrameworkElement and Avalonia Control types only; native islands are renderer-specific leaf nodes, and Duxel does not materialize them
  • YAML visual styles are loaded only at startup. Updating external files requires restarting the application; inline C# values override styled values
  • Nuri.Avalonia.Diagnostics is a separate package and must be referenced to use Avalonia UseAttachDevTools() integration
  • The v0.3.0 NuGet workflow publishes Nuri, Nuri.WPF, Nuri.Avalonia, Nuri.WPF.Diagnostics, and Nuri.Avalonia.Diagnostics. Duxel packages are not included in this publishing run

플랫폼 중립 UI 구성, 시각 스타일, 입력 처리 및 Avalonia 개발 도구를 확장했습니다.

주요 변경 사항

  • Native<TNative>(...)를 추가하여 retained WPF/Avalonia 컨트롤을 mount, render, cleanup lifecycle과 함께 통합하는 Native Control Island 지원
  • 이름 있는 스타일, theme token, 단일 스타일 상속, embedded fallback, 외부 override 파일을 갖춘 시작 시점 YAML 시각 스타일 지원
  • Absolute 레이아웃과 Viewport pan/zoom 제어 API 추가
  • primary, secondary, middle button, modifier key, local coordinate, wheel event, routing, 선택적 pointer capture를 포함하도록 pointer 입력 확장
  • Core, WPF, Avalonia 전반에 최소/최대 크기 제약 추가
  • Avalonia application builder, Window 구성 extension, Runtime Inspector diagnostics, NuGet publishing 추가
  • Viewport materialization 및 native control hosting을 포함한 WPF/Avalonia event/property mapping 개선
  • 구현 참고 문서를 architecture, renderer, guide, performance 책임별로 재구성

호환성 안내

  • Native<TNative>(...)는 WPF의 FrameworkElement와 Avalonia의 Control 타입만 지원합니다. Native Island는 renderer별 leaf node이며 Duxel은 materialize하지 않습니다
  • YAML 시각 스타일은 시작 시에만 로드됩니다. 외부 파일 변경은 애플리케이션 재시작이 필요하며, inline C# 값이 스타일 값을 우선합니다
  • Avalonia UseAttachDevTools() 통합을 사용하려면 별도 패키지인 Nuri.Avalonia.Diagnostics를 참조해야 합니다
  • v0.3.0 NuGet workflow는 Nuri, Nuri.WPF, Nuri.Avalonia, Nuri.WPF.Diagnostics, Nuri.Avalonia.Diagnostics를 publish합니다. 이번 배포에는 Duxel 패키지가 포함되지 않습니다