Skip to content

chore: sync develop with main after 1.5.0 release - #63

Merged
JeanPhilippeKernel merged 13 commits into
developfrom
chore/sync-develop-post-1.5.0
Aug 22, 2026
Merged

JeanPhilippeKernel merged 13 commits into
developfrom
chore/sync-develop-post-1.5.0

Conversation

@JeanPhilippeKernel

Copy link
Copy Markdown
Owner

Brings main's post-release commits into develop so the next release starts clean with no conflicts:

JeanPhilippeKernel and others added 13 commits July 31, 2026 00:18
* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors
* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0

---------

Co-authored-by: Jean Philippe <jeanphilippe02666592@outlook.fr>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* ci: lint only first-parent commits to avoid failures from old history

* ci: skip commitlint on PRs targeting main

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* chore: release 1.4.0 (#37)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: sync develop with main after 1.4.0 release (#38)

* ci: restore commitlint check for all PRs (#39)

* ci: ignore legacy non-conventional commits in commitlint (#40)

* chore: release 1.4.0 (#42)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Chore/sync develop post release workflow (#43)

* chore: release 1.3.0 (#18)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* Chore: release 1.3.0 (#21)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: release 1.3.0 (#22)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0

---------

Co-authored-by: Jean Philippe <jeanphilippe02666592@outlook.fr>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Release/1.4.0 (#35)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* ci: lint only first-parent commits to avoid failures from old history

* ci: skip commitlint on PRs targeting main

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: update release-please manifest to 1.4.0 (#36)

* ci: trigger publish on tag push and add workflow_dispatch for manual releases (#41)

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* ci: drop macOS x64 build from all workflows (#44)

* ci: skip build for non-source file changes (#45)

Add paths filters to push and pull_request triggers so the 3-platform
build matrix only runs when C#, AXAML, project, manifest, or workflow
files are modified.

* feat(project): standardize asset directories under Assets/ and add sky config (#46)

Replace ImportDirectory (Imported/Textures, Imported/Sounds) with
AssetDirectories grouping all asset paths under Assets/:
- Assets/Textures, Assets/Sounds, Assets/Meshes
- Assets/Materials, Assets/Sprites, Assets/EnvironmentMaps

Add SkyConfig with mode (atmosphere/hdri/skySphere) and optional
environmentMap filename for HDRI mode.

Rename defaultImportDir -> assetDirs in the generated project.json.
sceneDir/sceneDataDir now use the $(workingSpace) token for consistency.
ProjectWindowViewModel creates all 8 subdirectories on project creation.

* project config standardize (#47)

* feat(project): standardize asset directories under Assets/ and add sky config

Replace ImportDirectory (Imported/Textures, Imported/Sounds) with
AssetDirectories grouping all asset paths under Assets/:
- Assets/Textures, Assets/Sounds, Assets/Meshes
- Assets/Materials, Assets/Sprites, Assets/EnvironmentMaps

Add SkyConfig with mode (atmosphere/hdri/skySphere) and optional
environmentMap filename for HDRI mode.

Rename defaultImportDir -> assetDirs in the generated project.json.
sceneDir/sceneDataDir now use the $(workingSpace) token for consistency.
ProjectWindowViewModel creates all 8 subdirectories on project creation.

* feat(config): remove sky block from generated project.json

Sky configuration (mode, environment map) is now per-scene, serialized
in .zescene. project.json has no business owning sky settings since
different scenes loaded from the same project can each have a different
sky type and environment map.

Remove SkyConfig class and the sky field from ProjectConfigJson. The
environmentMapDir asset directory remains in AssetDirectories — it is
a project-level import path used by the env map importer, not a sky
setting.

Generated project.json will no longer contain a "sky" block. Engine
reads sky config from the active .zescene file at scene load time.

* feat(project): remove SceneData directory from project layout (#48)

Cooked mesh/material artifacts now live under Assets/Meshes and
Assets/Materials respectively. The SceneData directory and its
corresponding sceneDataDir config field no longer serve a purpose.

* feat(ui): add ZodiacEngineHub app icon (#49)

AppIcon.png: 512x512 white rounded-rect badge (22% corner radius),
indigo ZE mark at 58% scale, orange rocket-badge in lower-right with
gaussian glow — generated at 4x supersampled resolution for clean AA.

AppIcon.ico: multi-size Windows icon (256/128/64/48/32/16px).

Panzerfaust.csproj: ApplicationIcon -> AppIcon.ico;
  AppIcon.png registered as AvaloniaResource.
MainWindow.axaml: Window.Icon set to avares://Panzerfaust/Assets/AppIcon.png.

* chore: resolve merge conflicts with main (#51)

* chore: release 1.3.0 (#18)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* Chore: release 1.3.0 (#21)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: release 1.3.0 (#22)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0

---------

Co-authored-by: Jean Philippe <jeanphilippe02666592@outlook.fr>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Release/1.4.0 (#35)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* ci: lint only first-parent commits to avoid failures from old history

* ci: skip commitlint on PRs targeting main

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: update release-please manifest to 1.4.0 (#36)

* ci: trigger publish on tag push and add workflow_dispatch for manual releases (#41)

* ci: add skip workflow for non-source PRs to satisfy required checks

When a PR only touches non-source files (docs, config, changelog),
the main Engine-CI paths filter skips the workflow entirely — leaving
the 4 required checks permanently pending and blocking the merge.

A companion workflow with the same name and job names fires on the
inverse paths-ignore, immediately passing all 4 checks.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* ci: set target-branch to main in release-please config

* ci: update skip workflow to call reusable workflows with all-false inputs

Calling the reusable workflows (instead of plain echo jobs) creates the
nested check names (e.g. windows / build-release / build-windows-x64-Release)
as skipped entries, satisfying both develop's top-level and main's nested
required status checks for non-source PRs.
* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* chore: release 1.4.0 (#37)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: sync develop with main after 1.4.0 release (#38)

* ci: restore commitlint check for all PRs (#39)

* ci: ignore legacy non-conventional commits in commitlint (#40)

* chore: release 1.4.0 (#42)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Chore/sync develop post release workflow (#43)

* chore: release 1.3.0 (#18)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* Chore: release 1.3.0 (#21)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: release 1.3.0 (#22)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0

---------

Co-authored-by: Jean Philippe <jeanphilippe02666592@outlook.fr>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Release/1.4.0 (#35)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* ci: lint only first-parent commits to avoid failures from old history

* ci: skip commitlint on PRs targeting main

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: update release-please manifest to 1.4.0 (#36)

* ci: trigger publish on tag push and add workflow_dispatch for manual releases (#41)

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* ci: drop macOS x64 build from all workflows (#44)

* ci: skip build for non-source file changes (#45)

Add paths filters to push and pull_request triggers so the 3-platform
build matrix only runs when C#, AXAML, project, manifest, or workflow
files are modified.

* feat(project): standardize asset directories under Assets/ and add sky config (#46)

Replace ImportDirectory (Imported/Textures, Imported/Sounds) with
AssetDirectories grouping all asset paths under Assets/:
- Assets/Textures, Assets/Sounds, Assets/Meshes
- Assets/Materials, Assets/Sprites, Assets/EnvironmentMaps

Add SkyConfig with mode (atmosphere/hdri/skySphere) and optional
environmentMap filename for HDRI mode.

Rename defaultImportDir -> assetDirs in the generated project.json.
sceneDir/sceneDataDir now use the $(workingSpace) token for consistency.
ProjectWindowViewModel creates all 8 subdirectories on project creation.

* project config standardize (#47)

* feat(project): standardize asset directories under Assets/ and add sky config

Replace ImportDirectory (Imported/Textures, Imported/Sounds) with
AssetDirectories grouping all asset paths under Assets/:
- Assets/Textures, Assets/Sounds, Assets/Meshes
- Assets/Materials, Assets/Sprites, Assets/EnvironmentMaps

Add SkyConfig with mode (atmosphere/hdri/skySphere) and optional
environmentMap filename for HDRI mode.

Rename defaultImportDir -> assetDirs in the generated project.json.
sceneDir/sceneDataDir now use the $(workingSpace) token for consistency.
ProjectWindowViewModel creates all 8 subdirectories on project creation.

* feat(config): remove sky block from generated project.json

Sky configuration (mode, environment map) is now per-scene, serialized
in .zescene. project.json has no business owning sky settings since
different scenes loaded from the same project can each have a different
sky type and environment map.

Remove SkyConfig class and the sky field from ProjectConfigJson. The
environmentMapDir asset directory remains in AssetDirectories — it is
a project-level import path used by the env map importer, not a sky
setting.

Generated project.json will no longer contain a "sky" block. Engine
reads sky config from the active .zescene file at scene load time.

* feat(project): remove SceneData directory from project layout (#48)

Cooked mesh/material artifacts now live under Assets/Meshes and
Assets/Materials respectively. The SceneData directory and its
corresponding sceneDataDir config field no longer serve a purpose.

* feat(ui): add ZodiacEngineHub app icon (#49)

AppIcon.png: 512x512 white rounded-rect badge (22% corner radius),
indigo ZE mark at 58% scale, orange rocket-badge in lower-right with
gaussian glow — generated at 4x supersampled resolution for clean AA.

AppIcon.ico: multi-size Windows icon (256/128/64/48/32/16px).

Panzerfaust.csproj: ApplicationIcon -> AppIcon.ico;
  AppIcon.png registered as AvaloniaResource.
MainWindow.axaml: Window.Icon set to avares://Panzerfaust/Assets/AppIcon.png.

* chore: resolve merge conflicts with main (#51)

* chore: release 1.3.0 (#18)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* Chore: release 1.3.0 (#21)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: release 1.3.0 (#22)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0

---------

Co-authored-by: Jean Philippe <jeanphilippe02666592@outlook.fr>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Release/1.4.0 (#35)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe0.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* ci: lint only first-parent commits to avoid failures from old history

* ci: skip commitlint on PRs targeting main

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: update release-please manifest to 1.4.0 (#36)

* ci: trigger publish on tag push and add workflow_dispatch for manual releases (#41)

* ci: add skip workflow for non-source PRs to satisfy required checks

When a PR only touches non-source files (docs, config, changelog),
the main Engine-CI paths filter skips the workflow entirely — leaving
the 4 required checks permanently pending and blocking the merge.

A companion workflow with the same name and job names fires on the
inverse paths-ignore, immediately passing all 4 checks.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* ci: set target-branch to main in release-please config (#53)

* ci: set target-branch to main in release-please config

Release Please reads config from the default branch (develop) and was
defaulting to target develop for releases. This caused it to find PR #42
in main's history and fail trying to re-create the already-existing v1.4.0
release. Setting target-branch explicitly fixes the stable release flow.

* ci: update skip workflow to call reusable workflows with all-false inputs

* chore: release 1.5.0

---------

Co-authored-by: Jean Philippe <jeanphilippe02666592@outlook.fr>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bash -e kills the Resolve version step when git fetch --tags exits
non-zero on a shallow clone. The checkout at a tag already has the
tag present so the fetch is best-effort; || true makes it resilient.
The action reads target-branch from its own inputs, not the config file.
Without this, it defaults to the repo's default branch (develop) and
creates release PRs against develop instead of main.
github.ref_name is 'main' on workflow_dispatch runs, so it was
shadowing inputs.tag_name in the || chain. Artifacts were named
Panzerfaust-main-* instead of Panzerfaust-1.5.0-*. Putting
inputs.tag_name first fixes dispatch-triggered releases.
@JeanPhilippeKernel
JeanPhilippeKernel merged commit 74e140b into develop Aug 22, 2026
20 checks passed
@JeanPhilippeKernel
JeanPhilippeKernel deleted the chore/sync-develop-post-1.5.0 branch August 22, 2026 13:37
JeanPhilippeKernel added a commit that referenced this pull request Aug 24, 2026
* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe058b7873a76d38bcb28e3439687bbb6985.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* chore: release 1.4.0 (#37)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: sync develop with main after 1.4.0 release (#38)

* ci: restore commitlint check for all PRs (#39)

* ci: ignore legacy non-conventional commits in commitlint (#40)

* chore: release 1.4.0 (#42)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Chore/sync develop post release workflow (#43)

* chore: release 1.3.0 (#18)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* Chore: release 1.3.0 (#21)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe058b7873a76d38bcb28e3439687bbb6985.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: release 1.3.0 (#22)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe058b7873a76d38bcb28e3439687bbb6985.

* chore: release 1.3.0

---------

Co-authored-by: Jean Philippe <jeanphilippe02666592@outlook.fr>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Release/1.4.0 (#35)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe058b7873a76d38bcb28e3439687bbb6985.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* ci: lint only first-parent commits to avoid failures from old history

* ci: skip commitlint on PRs targeting main

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: update release-please manifest to 1.4.0 (#36)

* ci: trigger publish on tag push and add workflow_dispatch for manual releases (#41)

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* ci: drop macOS x64 build from all workflows (#44)

* ci: skip build for non-source file changes (#45)

Add paths filters to push and pull_request triggers so the 3-platform
build matrix only runs when C#, AXAML, project, manifest, or workflow
files are modified.

* feat(project): standardize asset directories under Assets/ and add sky config (#46)

Replace ImportDirectory (Imported/Textures, Imported/Sounds) with
AssetDirectories grouping all asset paths under Assets/:
- Assets/Textures, Assets/Sounds, Assets/Meshes
- Assets/Materials, Assets/Sprites, Assets/EnvironmentMaps

Add SkyConfig with mode (atmosphere/hdri/skySphere) and optional
environmentMap filename for HDRI mode.

Rename defaultImportDir -> assetDirs in the generated project.json.
sceneDir/sceneDataDir now use the $(workingSpace) token for consistency.
ProjectWindowViewModel creates all 8 subdirectories on project creation.

* project config standardize (#47)

* feat(project): standardize asset directories under Assets/ and add sky config

Replace ImportDirectory (Imported/Textures, Imported/Sounds) with
AssetDirectories grouping all asset paths under Assets/:
- Assets/Textures, Assets/Sounds, Assets/Meshes
- Assets/Materials, Assets/Sprites, Assets/EnvironmentMaps

Add SkyConfig with mode (atmosphere/hdri/skySphere) and optional
environmentMap filename for HDRI mode.

Rename defaultImportDir -> assetDirs in the generated project.json.
sceneDir/sceneDataDir now use the $(workingSpace) token for consistency.
ProjectWindowViewModel creates all 8 subdirectories on project creation.

* feat(config): remove sky block from generated project.json

Sky configuration (mode, environment map) is now per-scene, serialized
in .zescene. project.json has no business owning sky settings since
different scenes loaded from the same project can each have a different
sky type and environment map.

Remove SkyConfig class and the sky field from ProjectConfigJson. The
environmentMapDir asset directory remains in AssetDirectories — it is
a project-level import path used by the env map importer, not a sky
setting.

Generated project.json will no longer contain a "sky" block. Engine
reads sky config from the active .zescene file at scene load time.

* feat(project): remove SceneData directory from project layout (#48)

Cooked mesh/material artifacts now live under Assets/Meshes and
Assets/Materials respectively. The SceneData directory and its
corresponding sceneDataDir config field no longer serve a purpose.

* feat(ui): add ZodiacEngineHub app icon (#49)

AppIcon.png: 512x512 white rounded-rect badge (22% corner radius),
indigo ZE mark at 58% scale, orange rocket-badge in lower-right with
gaussian glow — generated at 4x supersampled resolution for clean AA.

AppIcon.ico: multi-size Windows icon (256/128/64/48/32/16px).

Panzerfaust.csproj: ApplicationIcon -> AppIcon.ico;
  AppIcon.png registered as AvaloniaResource.
MainWindow.axaml: Window.Icon set to avares://Panzerfaust/Assets/AppIcon.png.

* chore: resolve merge conflicts with main (#51)

* chore: release 1.3.0 (#18)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* Chore: release 1.3.0 (#21)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe058b7873a76d38bcb28e3439687bbb6985.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: release 1.3.0 (#22)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe058b7873a76d38bcb28e3439687bbb6985.

* chore: release 1.3.0

---------

Co-authored-by: Jean Philippe <jeanphilippe02666592@outlook.fr>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Release/1.4.0 (#35)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe058b7873a76d38bcb28e3439687bbb6985.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* ci: lint only first-parent commits to avoid failures from old history

* ci: skip commitlint on PRs targeting main

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: update release-please manifest to 1.4.0 (#36)

* ci: trigger publish on tag push and add workflow_dispatch for manual releases (#41)

* ci: add skip workflow for non-source PRs to satisfy required checks

When a PR only touches non-source files (docs, config, changelog),
the main Engine-CI paths filter skips the workflow entirely — leaving
the 4 required checks permanently pending and blocking the merge.

A companion workflow with the same name and job names fires on the
inverse paths-ignore, immediately passing all 4 checks.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* ci: set target-branch to main in release-please config (#53)

* ci: set target-branch to main in release-please config

Release Please reads config from the default branch (develop) and was
defaulting to target develop for releases. This caused it to find PR #42
in main's history and fail trying to re-create the already-existing v1.4.0
release. Setting target-branch explicitly fixes the stable release flow.

* ci: update skip workflow to call reusable workflows with all-false inputs

* chore: sync develop with main after 1.5.0 release (#63)

* chore: release 1.3.0 (#18)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* Chore: release 1.3.0 (#21)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe058b7873a76d38bcb28e3439687bbb6985.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: release 1.3.0 (#22)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe058b7873a76d38bcb28e3439687bbb6985.

* chore: release 1.3.0

---------

Co-authored-by: Jean Philippe <jeanphilippe02666592@outlook.fr>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Release/1.4.0 (#35)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe058b7873a76d38bcb28e3439687bbb6985.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* ci: lint only first-parent commits to avoid failures from old history

* ci: skip commitlint on PRs targeting main

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: update release-please manifest to 1.4.0 (#36)

* ci: trigger publish on tag push and add workflow_dispatch for manual releases (#41)

* chore: merge develop into main for 1.5.0 release (#52)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* chore: release 1.3.0 (#19)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Revert "chore: release 1.3.0 (#19)" (#20)

This reverts commit da5cbe058b7873a76d38bcb28e3439687bbb6985.

* chore: release 1.3.0 (#23)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs(roadmap): add roadmap with planned features and current implementation status (#24)

* fix: restore Windows caption buttons and fix app version display (#25)

* Fix/startup perf and native titlebar (#26)

* fix: improve startup perf and switch to native title bar

- Add PublishReadyToRun to all Release configurations to cut cold-start JIT time
- Move RefreshInstalledEngines, ScanLocalAssets, and LoadProjectsAsync to
  background tasks with status bar feedback so the window opens immediately
- Remove acrylic/extended client area in favour of a solid WindowBackground
  and standard OS title bar to avoid per-platform chrome friction

* feat: show orange border on RC builds, automated via CI

- Add IsRcBuild property reading AssemblyInformationalVersionAttribute to
  detect -rc suffix at runtime
- Add non-interactive orange border overlay in MainWindow visible only on RC builds
- Inject InformationalVersion from the git tag at publish time in all three
  platform build jobs so RC binaries automatically activate the indicator

* fix: bump version to trigger RC build with orange border indicator (#27)

* feat: RC build indicator with orange bloom border and version tag (#28)

- Orange glow border overlay (3-layer BoxShadow bloom) covers the full
  window edge including title bar via ExtendClientAreaToDecorationsHint
- RootPanel.Margin bound to WindowDecorationMargin so content stays below
  native caption buttons
- Status bar shows full version string including -rc suffix, stripping
  the +commitHash appended by .NET
- IsRcBuild and AppVersion both read AssemblyInformationalVersionAttribute
- Remove acrylic from ProjectWindow, EnginePickerDialog and MessageBoxWindow
  so all dialogs correctly respect light and dark theme

* fix: surface engine crash errors and resolve stale rpath for local builds (#30)

* fix: resolve engine dylib path for release zips and local dev builds

Set the correct platform library search env var when launching the engine:
PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS.
Walk up to 4 parent directories to locate a lib/ folder so both flat
release zip layouts and nested local dev build trees are covered.
Also surface crash details in the toast and validate the project config
exists before attempting to start the engine.

* fix: set execute permission on engine binary before launch

GitHub release zip extraction does not preserve the execute bit on
Unix, causing a permission denied error when launching a tagged engine.

* fix: chmod and ad-hoc codesign engine binaries on macOS before launch

GitHub release zips strip execute bits and corrupt existing signatures.
Fix execute permissions on all tools in bin/, then re-sign every binary
and dylib in the install tree so Gatekeeper does not SIGKILL the process.

* chore: mark ad-hoc codesign block as temporary workaround

* fix: pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash (#31)

Avalonia.FreeDesktop 11.2.1 was compiled against Tmds.DBus.Protocol
0.20.0. Pinning a higher version caused a TypeLoadException on Linux
at Avalonia X11/DBus initialization (exit before window opens).

* feat: engine UX improvements and Linux startup fixes (#32)

- Fix Linux debug program path in launch.json
- Pin Tmds.DBus.Protocol to 0.20.0 to fix Linux startup crash; suppress NU1903 warning
- Add Open Location button on installed engine rows to reveal install directory in file manager
- Add Fetch button on available releases header to refresh without restarting the app
- Sort engine picker list by semver descending (most recent first)

* chore: resolve conflicts merging main into develop (#34)

* chore: release 1.4.0 (#37)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: sync develop with main after 1.4.0 release (#38)

* ci: restore commitlint check for all PRs (#39)

* ci: ignore legacy non-conventional commits in commitlint (#40)

* chore: release 1.4.0 (#42)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Chore/sync develop post release workflow (#43)

* chore: release 1.3.0 (#18)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Delete scoped to individual file; resolution dir cleaned only when empty
- AdditionalEngineSearchPath persisted and applied on change
- Modernize project cards: gradient overlay, hover-reveal action strip,
  ZEngine logo placeholder, themed rename buttons
- Register ZEngine logo as StreamGeometry from SVG source files
- Theme all new colors via AppResourceDictionary dark/light variants
- Replace format ListBox with ComboBox dropdown
- Remove unused GltfPreviewControl (superseded by local asset detail panel)

* docs: update README with current screenshots (#17)

* docs: update README with current screenshots

* docs: add local engine path guide for contributors

* Chore: release 1.3.0 (#21)

* docs: add README with features, downloads, system requirements and build instructions (#12)

* ci: enable single-file publish across all platform build jobs (#13)

* ci: enable single-file publish across all platform build jobs

* build: remove redundant System.Text.Json, override Tmds.DBus.Protocol to fix vulnerability

* feat: show app release version in status bar (#14)

Add AppVersion property read from assembly metadata and display it
in the status bar right section. Wire release-please to keep the
csproj Version tag in sync with VERSION.txt on every release.

* feat: configure VS Code for cross-platform debugging and fix binding errors (#15)

- Add .vscode/launch.json, tasks.json, settings.json, extensions.json
  with full Windows/macOS/Linux support
- Add docs/debugging-with-vscode.md covering all three platforms
- Fix BoolToTransformConverter and StringEqualityConverter to return
  ITransform instead of raw strings for RenderTransform bindings
- Add FallbackValue to all nullable dotted-path bindings in MainWindow.axaml
- Fix translateY units in AppResourceDictionary.axaml (px required)

* feat: assets page redesign, local asset grouping, project card modernization (#16)

- Redesign Assets page as unified card browser with right-panel detail
- Add 3D GLTF preview sidecar panel (later replaced by local asset detail panel)
- Fix GLTF mesh rendering, 3D viewer input controls and animation glitches
- Group local assets by AssetId with expandable versions panel; fixes
  intermittent expand button by moving the panel outside UniformGridLayout
- LocalAssetDetailViewModel: right-panel detail for local files with mesh stats
- Dele…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant