Skip to content
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
aec07ed
chore: Upgrade to Stride 4.4.0-beta4
VaclavElias Jul 28, 2026
a6a4ed7
chore: update Linux/Windows csproj to use Stride.AssetCompiler
VaclavElias Aug 1, 2026
b5bb20d
docs: update Windows package reference to Stride.AssetCompiler
VaclavElias Aug 1, 2026
247c6ad
refactor: EntityTextRenderer.cs - use DefaultFontPath constant
VaclavElias Aug 1, 2026
dd4635e
feat: DisplayScore entity - set score text color to white
VaclavElias Aug 1, 2026
2da8e10
refactor(ci): unify .NET build and NuGet publish workflow
VaclavElias Aug 2, 2026
5443878
chore(ci): update GitHub Actions to latest action versions
VaclavElias Aug 2, 2026
db2c8eb
chore: update Stride packages to 4.4.0-dev and centralize version
VaclavElias Aug 2, 2026
6b2fea0
chore: Solution type changed to slnx
VaclavElias Aug 2, 2026
7235dad
fix: Ndpend solution reference corrected
VaclavElias Aug 2, 2026
30c705a
Merge pull request #375 from VaclavElias/stride-4.4
VaclavElias Aug 2, 2026
1d97962
fix(engine): use fully qualified path for default font
VaclavElias Aug 2, 2026
57b6e82
build: Example12_Particles.csproj - add Stride.AssetCompiler
VaclavElias Aug 3, 2026
32c48a7
refactor(graphics): ImGuiNetSystem.cs - use named args for Buffer.New…
VaclavElias Aug 5, 2026
e9e2086
feat(examples): Example11 - Program.cs - Bepu orbit demo - kinematic …
VaclavElias Aug 5, 2026
891ef48
fix(rendering): MeshOutlineRenderFeature.cs - skip outline draw with …
VaclavElias Aug 5, 2026
2c2476f
refactor(ribbon): RibbonBackgroundRenderFeature.cs - use minimal aspe…
VaclavElias Aug 5, 2026
dbc380a
refactor(rendering): MeshOutlineComponent - simplify API and usage
VaclavElias Aug 5, 2026
28152ba
Merge pull request #379 from VaclavElias/stride-4.4
VaclavElias Aug 5, 2026
63723de
feat(rendering): clarify outline thickness docs, add orange cube
VaclavElias Aug 5, 2026
4285759
refactor(examples): clarify physics vs script transform ownership
VaclavElias Aug 6, 2026
6902ed5
docs: .github\copilot-instructions.md - add Bepu sync and debug guide
VaclavElias Aug 6, 2026
0904c6b
docs: CLAUDE.md - add note to consult repo guidance
VaclavElias Aug 6, 2026
81c4b65
feat(physics): orbit example - use kinematic Bepu body
VaclavElias Aug 6, 2026
4a72419
docs: improve Bepu transform ownership formatting
VaclavElias Aug 6, 2026
0862bd9
feat(examples): add Example02_GiveMeACube_SimulationUpdate
VaclavElias Aug 6, 2026
15b18c5
feat(examples): add Example21_Instancing and docs metadata
VaclavElias Aug 7, 2026
411f8a9
refactor: Old files removed
VaclavElias Aug 7, 2026
8727cdb
feat(examples): add Example22_Instancing_EntityTransform
VaclavElias Aug 7, 2026
873b42d
chore(build): centralize MSBuild props and update manifests
VaclavElias Aug 7, 2026
8647841
chore: Stride.CommunityToolkit.slnx - exclude Example04_MyraUI from D…
VaclavElias Aug 7, 2026
d2450cd
chore: update NuGet packages and clipboard API usage
VaclavElias Aug 7, 2026
e9b0af5
chore: NuGet packages bumped
VaclavElias Aug 7, 2026
1e04fee
refactor(rendering): unify default font and background values
VaclavElias Aug 7, 2026
afccf62
docs: clarify outline gaps for hard-edged meshes
VaclavElias Aug 7, 2026
6834b40
Merge pull request #382 from VaclavElias/stride-4.4
VaclavElias Aug 7, 2026
5d3a26d
Merge pull request #383 from VaclavElias/stride-4.4
VaclavElias Aug 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/bump-stride-nuget-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Setup .NET
uses: actions/setup-dotnet@v5
uses: actions/setup-dotnet@v6
with:
dotnet-version: '10.0.x'

Expand Down Expand Up @@ -51,4 +51,4 @@ jobs:

Auto-generated by the Update NuGet Packages workflow.
branch: package-updates
base: main
base: main
6 changes: 3 additions & 3 deletions .github/workflows/dotnet-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ jobs:

steps:
- name: Checkout Stride Community Toolkit
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: .NET Setup
uses: actions/setup-dotnet@v5
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.x

Expand All @@ -34,4 +34,4 @@ jobs:
dotnet restore "$project"
dotnet build "$project" --no-restore
done
shell: bash
shell: bash
183 changes: 49 additions & 134 deletions .github/workflows/dotnet-nuget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,18 @@ permissions:
contents: write # required to create releases/tags

env:
PROJECT_PATH_CORE: src/Stride.CommunityToolkit/Stride.CommunityToolkit.csproj
PROJECT_PATH_BEPU: src/Stride.CommunityToolkit.Bepu/Stride.CommunityToolkit.Bepu.csproj
PROJECT_PATH_BULLET: src/Stride.CommunityToolkit.Bullet/Stride.CommunityToolkit.Bullet.csproj
PROJECT_PATH_DEBUG: src/Stride.CommunityToolkit.DebugShapes/Stride.CommunityToolkit.DebugShapes.csproj
PROJECT_PATH_IMGUI: src/Stride.CommunityToolkit.ImGui/Stride.CommunityToolkit.ImGui.csproj
PROJECT_PATH_SKYBOX: src/Stride.CommunityToolkit.Skyboxes/Stride.CommunityToolkit.Skyboxes.csproj
PROJECT_PATH_WINDOWS: src/Stride.CommunityToolkit.Windows/Stride.CommunityToolkit.Windows.csproj
PROJECT_PATH_LINUX: src/Stride.CommunityToolkit.Linux/Stride.CommunityToolkit.Linux.csproj
# One entry per package, in publish order. Optional "|extra-restore-args" suffix
# is appended to the `dotnet restore` call for that project only.
PACK_PROJECTS: |
src/Stride.CommunityToolkit/Stride.CommunityToolkit.csproj
src/Stride.CommunityToolkit.Windows/Stride.CommunityToolkit.Windows.csproj|--runtime win-x64
src/Stride.CommunityToolkit.Linux/Stride.CommunityToolkit.Linux.csproj
src/Stride.CommunityToolkit.Skyboxes/Stride.CommunityToolkit.Skyboxes.csproj
src/Stride.CommunityToolkit.Bepu/Stride.CommunityToolkit.Bepu.csproj
src/Stride.CommunityToolkit.Bullet/Stride.CommunityToolkit.Bullet.csproj
src/Stride.CommunityToolkit.DebugShapes/Stride.CommunityToolkit.DebugShapes.csproj
src/Stride.CommunityToolkit.ImGui/Stride.CommunityToolkit.ImGui.csproj
TEST_PROJECT: tests/Stride.CommunityToolkit.Tests/Stride.CommunityToolkit.Tests.csproj
COMMON_SETTINGS_PATH: src/CommonSettings.props
VERSION: "1.0.0.0-preview.${{ github.run_number }}"
NUGET_SOURCE: "https://api.nuget.org/v3/index.json"
Expand All @@ -26,10 +30,10 @@ jobs:

steps:
- name: Checkout Stride Community Toolkit
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: .NET Setup
uses: actions/setup-dotnet@v5
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.x

Expand All @@ -44,134 +48,45 @@ jobs:
# run: New-Item -ItemType Directory -Force -Path D:\.sarif
# shell: pwsh

# Stride.CommunityToolkit
- name: Restore dependencies - Stride.CommunityToolkit
run: dotnet restore ${{ env.PROJECT_PATH_CORE }}
# Run the tests before anything is packed, so a failure costs nothing
- name: Test
run: dotnet test ${{ env.TEST_PROJECT }} -c Release --verbosity normal

- name: Build - Stride.CommunityToolkit
run: dotnet build ${{ env.PROJECT_PATH_CORE }} --no-restore -c Release

- name: Test - Stride.CommunityToolkit
run: dotnet test ${{ env.PROJECT_PATH_CORE }} --no-build --verbosity normal

- name: Pack - Stride.CommunityToolkit
run: dotnet pack ${{ env.PROJECT_PATH_CORE }} --no-build -c Release -o "${{ env.NUPKG_ROOT }}\core"

- name: Publish - Stride.CommunityToolkit
run: dotnet nuget push "${{ env.NUPKG_ROOT }}\core\*.nupkg" --source "${{ env.NUGET_SOURCE }}" --api-key "${{ secrets.NUGET_API_KEY }}" --skip-duplicate

# Stride.CommunityToolkit.Windows
- name: Restore dependencies - Stride.CommunityToolkit.Windows
run: dotnet restore ${{ env.PROJECT_PATH_WINDOWS }} --runtime win-x64

- name: Build - Stride.CommunityToolkit.Windows
run: dotnet build ${{ env.PROJECT_PATH_WINDOWS }} --no-restore -c Release

- name: Test - Stride.CommunityToolkit.Windows
run: dotnet test ${{ env.PROJECT_PATH_WINDOWS }} --no-build --verbosity normal

- name: Pack - Stride.CommunityToolkit.Windows
run: dotnet pack ${{ env.PROJECT_PATH_WINDOWS }} --no-build -c Release -o "${{ env.NUPKG_ROOT }}\windows"

- name: Publish - Stride.CommunityToolkit.Windows
run: dotnet nuget push "${{ env.NUPKG_ROOT }}\windows\*.nupkg" --source "${{ env.NUGET_SOURCE }}" --api-key "${{ secrets.NUGET_API_KEY }}" --skip-duplicate

# Stride.CommunityToolkit.Linux
- name: Restore dependencies - Stride.CommunityToolkit.Linux
run: dotnet restore ${{ env.PROJECT_PATH_LINUX }}

- name: Build - Stride.CommunityToolkit.Linux
run: dotnet build ${{ env.PROJECT_PATH_LINUX }} --no-restore -c Release

- name: Pack - Stride.CommunityToolkit.Linux
run: dotnet pack ${{ env.PROJECT_PATH_LINUX }} --no-build -c Release -o "${{ env.NUPKG_ROOT }}\linux"

- name: Publish - Stride.CommunityToolkit.Linux
run: dotnet nuget push "${{ env.NUPKG_ROOT }}\linux\*.nupkg" --source "${{ env.NUGET_SOURCE }}" --api-key "${{ secrets.NUGET_API_KEY }}" --skip-duplicate

# Stride.CommunityToolkit.Skyboxes
- name: Restore dependencies - Stride.CommunityToolkit.Skyboxes
run: dotnet restore ${{ env.PROJECT_PATH_SKYBOX }}

- name: Build - Stride.CommunityToolkit.Skyboxes
run: dotnet build ${{ env.PROJECT_PATH_SKYBOX }} --no-restore -c Release

- name: Test - Stride.CommunityToolkit.Skyboxes
run: dotnet test ${{ env.PROJECT_PATH_SKYBOX }} --no-build --verbosity normal

- name: Pack - Stride.CommunityToolkit.Skyboxes
run: dotnet pack ${{ env.PROJECT_PATH_SKYBOX }} --no-build -c Release -o "${{ env.NUPKG_ROOT }}\skyboxes"

- name: Publish - Stride.CommunityToolkit.Skyboxes
run: dotnet nuget push "${{ env.NUPKG_ROOT }}\skyboxes\*.nupkg" --source "${{ env.NUGET_SOURCE }}" --api-key "${{ secrets.NUGET_API_KEY }}" --skip-duplicate

# Stride.CommunityToolkit.Bepu
- name: Restore dependencies - Stride.CommunityToolkit.Bepu
run: dotnet restore ${{ env.PROJECT_PATH_BEPU }}

- name: Build - Stride.CommunityToolkit.Bepu
run: dotnet build ${{ env.PROJECT_PATH_BEPU }} --no-restore -c Release

- name: Test - Stride.CommunityToolkit.Bepu
run: dotnet test ${{ env.PROJECT_PATH_BEPU }} --no-build --verbosity normal

- name: Pack - Stride.CommunityToolkit.Bepu
run: dotnet pack ${{ env.PROJECT_PATH_BEPU }} --no-build -c Release -o "${{ env.NUPKG_ROOT }}\bepu"

- name: Publish - Stride.CommunityToolkit.Bepu
run: dotnet nuget push "${{ env.NUPKG_ROOT }}\bepu\*.nupkg" --source "${{ env.NUGET_SOURCE }}" --api-key "${{ secrets.NUGET_API_KEY }}" --skip-duplicate

# Stride.CommunityToolkit.Bullet
- name: Restore dependencies - Stride.CommunityToolkit.Bullet
run: dotnet restore ${{ env.PROJECT_PATH_BULLET }}

- name: Build - Stride.CommunityToolkit.Bullet
run: dotnet build ${{ env.PROJECT_PATH_BULLET }} --no-restore -c Release

- name: Test - Stride.CommunityToolkit.Bullet
run: dotnet test ${{ env.PROJECT_PATH_BULLET }} --no-build --verbosity normal

- name: Pack - Stride.CommunityToolkit.Bullet
run: dotnet pack ${{ env.PROJECT_PATH_BULLET }} --no-build -c Release -o "${{ env.NUPKG_ROOT }}\bullet"

- name: Publish - Stride.CommunityToolkit.Bullet
run: dotnet nuget push "${{ env.NUPKG_ROOT }}\bullet\*.nupkg" --source "${{ env.NUGET_SOURCE }}" --api-key "${{ secrets.NUGET_API_KEY }}" --skip-duplicate

# Stride.CommunityToolkit.DebugShapes
- name: Restore dependencies - Stride.CommunityToolkit.DebugShapes
run: dotnet restore ${{ env.PROJECT_PATH_DEBUG }}

- name: Build - Stride.CommunityToolkit.DebugShapes
run: dotnet build ${{ env.PROJECT_PATH_DEBUG }} --no-restore -c Release

- name: Test - Stride.CommunityToolkit.DebugShapes
run: dotnet test ${{ env.PROJECT_PATH_DEBUG }} --no-build --verbosity normal

- name: Pack - Stride.CommunityToolkit.DebugShapes
run: dotnet pack ${{ env.PROJECT_PATH_DEBUG }} --no-build -c Release -o "${{ env.NUPKG_ROOT }}\debug"

- name: Publish - Stride.CommunityToolkit.DebugShapes
run: dotnet nuget push "${{ env.NUPKG_ROOT }}\debug\*.nupkg" --source "${{ env.NUGET_SOURCE }}" --api-key "${{ secrets.NUGET_API_KEY }}" --skip-duplicate

# Stride.CommunityToolkit.ImGui
- name: Restore dependencies - Stride.CommunityToolkit.ImGui
run: dotnet restore ${{ env.PROJECT_PATH_IMGUI }}

- name: Build - Stride.CommunityToolkit.ImGui
run: dotnet build ${{ env.PROJECT_PATH_IMGUI }} --no-restore -c Release

- name: Test - Stride.CommunityToolkit.ImGui
run: dotnet test ${{ env.PROJECT_PATH_IMGUI }} --no-build --verbosity normal

- name: Pack - Stride.CommunityToolkit.ImGui
run: dotnet pack ${{ env.PROJECT_PATH_IMGUI }} --no-build -c Release -o "${{ env.NUPKG_ROOT }}\imgui"

- name: Publish - Stride.CommunityToolkit.ImGui
run: dotnet nuget push "${{ env.NUPKG_ROOT }}\imgui\*.nupkg" --source "${{ env.NUGET_SOURCE }}" --api-key "${{ secrets.NUGET_API_KEY }}" --skip-duplicate
# Everything is packed first and pushed afterwards: a build failure half-way
# through must not leave a partially published version on nuget.org
- name: Build and pack all packages
shell: bash
run: |
set -eo pipefail
while IFS= read -r entry; do
entry="${entry//$'\r'/}"
if [ -z "$entry" ]; then
continue
fi

project="${entry%%|*}"
restore_args=""
if [ "$entry" != "$project" ]; then
restore_args="${entry#*|}"
fi

echo "::group::$project"
dotnet restore "$project" $restore_args
dotnet build "$project" --no-restore -c Release
dotnet pack "$project" --no-build -c Release -o "$NUPKG_ROOT"
echo "::endgroup::"
done <<< "$PACK_PROJECTS"

- name: List packages
shell: bash
run: ls -l "$NUPKG_ROOT"

- name: Publish all packages
run: dotnet nuget push "${{ env.NUPKG_ROOT }}\*.nupkg" --source "${{ env.NUGET_SOURCE }}" --api-key "${{ secrets.NUGET_API_KEY }}" --skip-duplicate

# Create release
- name: Create GitHub Release
run: |
gh release create ${{ env.VERSION }} --title "v${{ env.VERSION }}" --notes "Release notes for ${{ env.VERSION }}" --draft
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 3 additions & 3 deletions .github/workflows/github-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ jobs:
# run: dotnet --info

- name: Checkout Stride Community Toolkit
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Setup .NET
uses: actions/setup-dotnet@v5
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.x

Expand All @@ -49,7 +49,7 @@ jobs:
run: docfx docfx.json

- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v4
uses: actions/upload-pages-artifact@v5
with:
path: docs/_site

Expand Down
7 changes: 4 additions & 3 deletions Stride.CommunityToolkit.ndproj
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<NDepend AppName="Stride.CommunityToolkit" Platform="DotNet" FileWrittenByProductVersion="2026.1.0.9779">
<NDepend AppName="Stride.CommunityToolkit" Platform="DotNet" FileWrittenByProductVersion="2026.1.5.9798">
<OutputDir KeepXmlFiles="False">.\NDependOut</OutputDir>
<IDEFiles>
<IDEFile FilePath=".\Stride.CommunityToolkit.sln" Filters="-test -Docs -Benchmarks" Configuration="DEBUG|AnyCPU">
<IDEFile FilePath=".\Stride.CommunityToolkit.slnx" Filters="-test -Docs -Benchmarks" Configuration="DEBUG|AnyCPU">
<RootDirResolvingInfo Enabled="False" Hints="Debug|bin|.bin|b|AnyCPU|x64|x86|v*.*|net*" TimeOut="10">
<RootDir>.</RootDir>
</RootDirResolvingInfo>
Expand All @@ -14,6 +14,7 @@
<MergeCodeGeneratedByCompiler>True</MergeCodeGeneratedByCompiler>
<CompressNDar>True</CompressNDar>
<ZipSourceFiles>True</ZipSourceFiles>
<ForceReturnZeroExitCode>False</ForceReturnZeroExitCode>
<Report Kind="0" SectionsEnabled="110591" XslPath="" DefaultTheme="dark" Flags="4455424" NbItemsToUnfold="3" NbItemsPerRule="20" MaxNbSourceFiles="2000" />
<BuildComparisonSetting ProjectMode="CurrentProject" BuildMode="NDaysAgoAnalysisResult" ProjectFileToCompareWith="" BuildFileToCompareWith="" NDaysAgo="30" />
<BaselineInUISetting ProjectMode="CurrentProject" BuildMode="NDaysAgoAnalysisResult" ProjectFileToCompareWith="" BuildFileToCompareWith="" NDaysAgo="30" />
Expand Down Expand Up @@ -52,7 +53,7 @@
</TrendMetrics>
<GitHub Account="" Repo="" />
<IssueImport ResolveSarifInSolutionDirectories="True" />
<HistoricAnalysisResult PersistRecurrence="3" UseCustomDir="False" CustomDir="" RetensionNDays="0" />
<HistoricAnalysisResult PersistRecurrence="3" UseCustomDir="False" CustomDir="" RetentionNDays="0" />
<SourceFileRebasing FromPath="" ToPath="" />
<PathVariables />
<RuleFiles />
Expand Down
Loading
Loading