Skip to content

Commit 703698c

Browse files
authored
Merge pull request #716 from Xian55/feature/dotnet10
Set project dotnet version to 10
2 parents af58ef8 + d6330e1 commit 703698c

File tree

21 files changed

+92
-99
lines changed

21 files changed

+92
-99
lines changed

.github/workflows/dotnet_build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- name: Setup .NET
2727
uses: actions/setup-dotnet@v3
2828
with:
29-
dotnet-version: 9.0.x
29+
dotnet-version: 10.0.x
3030
- name: Restore dependencies
3131
run: dotnet restore
3232
- name: Build

Benchmarks/Benchmarks.csproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="BenchmarkDotNet" />
12-
<PackageReference Include="System.Net.Http" />
13-
<PackageReference Include="System.Text.RegularExpressions" />
1412
</ItemGroup>
1513

1614
<ItemGroup>

BlazorServer/BlazorServer.csproj

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,7 @@
2929
<PackageReference Include="Serilog.Enrichers.Process" />
3030
<PackageReference Include="Serilog.Expressions" />
3131
<PackageReference Include="Serilog.Extensions.Logging" />
32-
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" />
3332
<PackageReference Include="Microsoft.AspNetCore.JsonPatch" />
34-
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" />
35-
<PackageReference Include="System.Net.Http" />
36-
<PackageReference Include="System.Net.Http.Json" />
37-
<PackageReference Include="System.Text.RegularExpressions" />
3833
</ItemGroup>
3934

4035
<Target Name="PostBuild" AfterTargets="PostBuildEvent">

BlazorServer/Properties/PublishProfiles/FolderProfile_dot9.pubxml renamed to BlazorServer/Properties/PublishProfiles/FolderProfile_dot10.pubxml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
1010
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
1111
<LastUsedPlatform>Any CPU</LastUsedPlatform>
1212
<PublishProvider>FileSystem</PublishProvider>
13-
<PublishUrl>bin\Release\net9.0\publish\</PublishUrl>
13+
<PublishUrl>bin\Release\net10.0\publish\</PublishUrl>
1414
<WebPublishMethod>FileSystem</WebPublishMethod>
1515
<_TargetId>Folder</_TargetId>
1616
<AssemblyName>firefox</AssemblyName>
1717
<TargetName>firefox</TargetName>
1818
<SiteUrlToLaunchAfterPublish />
19-
<TargetFramework>net9.0</TargetFramework>
19+
<TargetFramework>net10.0</TargetFramework>
2020
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
2121
<PublishSingleFile>true</PublishSingleFile>
2222
<PublishTrimmed>false</PublishTrimmed>

Core/Core.csproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
<PackageReference Include="Microsoft.Extensions.Logging" />
1717
<PackageReference Include="Newtonsoft.Json" />
1818
<PackageReference Include="System.Drawing.Common" />
19-
<PackageReference Include="System.Net.Http" />
20-
<PackageReference Include="System.Text.RegularExpressions" />
2119
</ItemGroup>
2220

2321
<ItemGroup>

CoreTests/CoreTests.csproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
<PackageReference Include="Serilog.Sinks.Console" />
1313
<PackageReference Include="Serilog.Sinks.Debug" />
1414
<PackageReference Include="Serilog.Sinks.File" />
15-
<PackageReference Include="System.Net.Http" />
16-
<PackageReference Include="System.Text.RegularExpressions" />
1715
</ItemGroup>
1816

1917
<ItemGroup>

Directory.Packages.props

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,57 @@
11
<Project>
22
<PropertyGroup>
3-
<TargetFramework>net9.0</TargetFramework>
3+
<TargetFramework>net10.0</TargetFramework>
44
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
55
<Platforms>AnyCPU;x64;x86</Platforms>
66
</PropertyGroup>
77
<ItemGroup>
88
<!-- Define package versions -->
9-
<PackageVersion Include="BenchmarkDotNet" Version="0.15.2" />
9+
<PackageVersion Include="BenchmarkDotNet" Version="0.15.6" />
1010
<PackageVersion Include="Blazor.Bootstrap" Version="3.4.0" />
1111
<PackageVersion Include="MemoryPack" Version="1.21.3" />
1212
<PackageVersion Include="MessagePack" Version="3.1.4" />
1313
<PackageVersion Include="Microsoft.AspNetCore.Components" Version="9.0.9" />
14-
<PackageVersion Include="Microsoft.AspNetCore.Components.QuickGrid" Version="9.0.9" />
15-
<PackageVersion Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="9.0.9" />
16-
<PackageVersion Include="Microsoft.Extensions.Options" Version="9.0.9" />
14+
<PackageVersion Include="Microsoft.AspNetCore.Components.QuickGrid" Version="10.0.0" />
15+
<PackageVersion Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="10.0.0" />
16+
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.0" />
1717
<PackageVersion Include="Serilog.AspNetCore" Version="9.0.0" />
1818
<PackageVersion Include="Serilog.Enrichers.Environment" Version="3.0.1" />
1919
<PackageVersion Include="Serilog.Enrichers.Process" Version="3.0.0" />
2020
<PackageVersion Include="Serilog.Expressions" Version="5.0.1-dev-00182" />
2121
<PackageVersion Include="Serilog.Extensions.Logging" Version="9.0.2" />
2222
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="9.0.9" />
23-
<PackageVersion Include="Microsoft.AspNetCore.JsonPatch" Version="9.0.9" />
23+
<PackageVersion Include="Microsoft.AspNetCore.JsonPatch" Version="10.0.0" />
2424
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="9.0.9" />
2525
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
2626
<PackageVersion Include="System.Net.Http.Json" Version="9.0.9" />
2727
<PackageVersion Include="GameOverlay.Net" Version="4.3.1" />
28-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.9" />
29-
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.9" />
30-
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
31-
<PackageVersion Include="System.Drawing.Common" Version="9.0.9" />
28+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
29+
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.0" />
30+
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
31+
<PackageVersion Include="System.Drawing.Common" Version="10.0.0" />
3232
<PackageVersion Include="BlazorTable" Version="1.17.0" />
3333
<PackageVersion Include="MatBlazor" Version="2.10.0" />
34-
<PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="9.0.9" />
34+
<PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="10.0.0" />
3535
<PackageVersion Include="GregsStack.InputSimulatorStandard" Version="1.3.5" />
3636
<PackageVersion Include="System.Text.Json" Version="8.0.4" />
3737
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
3838
<PackageVersion Include="TextCopy" Version="6.2.1" />
3939
<PackageVersion Include="Vortice.Direct3D11" Version="3.6.2" />
4040
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
41-
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="9.0.9" />
42-
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.9" />
43-
<PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="9.0.9" />
44-
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.9" />
45-
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.9" />
46-
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="9.0.9" />
47-
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.9" />
48-
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.9" />
41+
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.0" />
42+
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.0" />
43+
<PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="10.0.0" />
44+
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="10.0.0" />
45+
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
46+
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.0" />
47+
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.0" />
48+
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.0" />
4949
<PackageVersion Include="Serilog.Settings.Configuration" Version="9.0.0" />
50-
<PackageVersion Include="Serilog.Sinks.Console" Version="6.0.0" />
50+
<PackageVersion Include="Serilog.Sinks.Console" Version="6.1.1" />
5151
<PackageVersion Include="Serilog.Sinks.Debug" Version="3.0.0" />
5252
<PackageVersion Include="Serilog.Sinks.File" Version="7.0.0" />
53-
<PackageVersion Include="Swashbuckle.AspNetCore" Version="9.0.4" />
54-
<PackageVersion Include="SixLabors.ImageSharp" Version="3.1.11" />
55-
<PackageVersion Include="System.Management" Version="9.0.9" />
53+
<PackageVersion Include="Swashbuckle.AspNetCore" Version="10.0.0" />
54+
<PackageVersion Include="SixLabors.ImageSharp" Version="3.1.12" />
55+
<PackageVersion Include="System.Management" Version="10.0.0" />
5656
</ItemGroup>
5757
</Project>

Frontend/Frontend.csproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@
2424
<PackageReference Include="Microsoft.AspNetCore.Components.QuickGrid" />
2525
<PackageReference Include="Microsoft.AspNetCore.Components.Web" />
2626
<PackageReference Include="Serilog.AspNetCore" />
27-
<PackageReference Include="System.Net.Http" />
28-
<PackageReference Include="System.Text.RegularExpressions" />
2927
</ItemGroup>
3028

3129
<ItemGroup>

HeadlessServer/HeadlessServer.csproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@
4141
<PackageReference Include="Serilog.Sinks.Console" />
4242
<PackageReference Include="Serilog.Sinks.Debug" />
4343
<PackageReference Include="Serilog.Sinks.File" />
44-
<PackageReference Include="System.Net.Http" />
45-
<PackageReference Include="System.Text.RegularExpressions" />
4644
</ItemGroup>
4745

4846
<ItemGroup>

PPather/Triangles/Utils.cs

Lines changed: 53 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/*
22
This file is part of ppather.
33
44
PPather is free software: you can redistribute it and/or modify
@@ -38,61 +38,77 @@ public static bool SegmentTriangleIntersect(
3838
in Vector3 t0, in Vector3 t1, in Vector3 t2,
3939
out Vector3 I)
4040
{
41-
Vector3 u = t1 - t0; // triangle vector 1
42-
Vector3 v = t2 - t0; // triangle vector 2
43-
Vector3 n = Cross(u, v); // triangle normal
41+
// Segment direction
42+
Vector3 dir = p1 - p0;
43+
44+
// Triangle edges
45+
Vector3 e1 = t1 - t0;
46+
Vector3 e2 = t2 - t0;
4447

45-
Vector3 dir = p1 - p0; // ray direction vector
46-
Vector3 w0 = p0 - t0;
47-
float a = -Dot(n, w0);
48-
float b = Dot(n, dir);
48+
// Begin calculating determinant
49+
Vector3 pvec = Cross(dir, e2);
50+
float det = Dot(e1, pvec);
4951

50-
// Avoid repeating Dot(n, dir)
51-
if (Abs(b) < float.Epsilon)
52+
// If determinant is near zero → ray is parallel to triangle plane
53+
if (Abs(det) < float.Epsilon)
5254
{
5355
I = default;
54-
return false; // parallel
56+
return false;
5557
}
5658

57-
// get intersect point of ray with triangle plane
58-
float r = a / b;
59-
if (r < 0.0f || r > 1.0f)
59+
float invDet = 1.0f / det;
60+
61+
// Calculate distance from t0 to ray origin
62+
Vector3 tvec = p0 - t0;
63+
64+
// Calculate u parameter and test bounds
65+
float u = Dot(tvec, pvec) * invDet;
66+
if (u is < 0.0f or > 1.0f)
6067
{
6168
I = default;
62-
return false; // outside of segment bounds
69+
return false;
6370
}
6471

65-
I = p0 + (dir * r); // intersect point of line and plane
72+
// Prepare to test v parameter
73+
Vector3 qvec = Cross(tvec, e1);
74+
75+
float v = Dot(dir, qvec) * invDet;
76+
if (v < 0.0f || u + v > 1.0f)
77+
{
78+
I = default;
79+
return false;
80+
}
6681

67-
// Avoid re-calculating things by merging conditions
68-
float uu = Dot(u, u);
69-
float uv = Dot(u, v);
70-
float vv = Dot(v, v);
71-
Vector3 w = I - t0;
72-
float wu = Dot(w, u);
73-
float wv = Dot(w, v);
74-
float D = uv * uv - uu * vv;
82+
// At this stage we know the line intersects the triangle
83+
float t = Dot(e2, qvec) * invDet;
7584

76-
// Parametric coordinates test
77-
float s = (uv * wv - vv * wu) / D;
78-
if (s < 0.0f || s > 1.0f) return false;
85+
// For segment intersection: require t ∈ [0,1]
86+
if (t is < 0.0f or > 1.0f)
87+
{
88+
I = default;
89+
return false;
90+
}
7991

80-
float t = (uv * wu - uu * wv) / D;
81-
return !(t < 0.0f || (s + t) > 1.0f);
92+
// Compute intersection point only now (after passing all tests)
93+
I = p0 + (dir * t);
94+
return true;
8295
}
8396

8497
[SkipLocalsInit]
8598
[MethodImpl(MethodImplOptions.AggressiveInlining)]
8699
public static float PointDistanceToSegment(in Vector3 p0, in Vector3 x1, in Vector3 x2)
87100
{
88-
Vector3 L = x2 - x1; // the segment vector
89-
float l2 = Dot(L, L); // square length of the segment
90-
Vector3 D = p0 - x1; // vector from point to segment start
91-
float d = Dot(D, L); // projection factor [x2-x1].[p0-x1]lear
92-
93-
// Optimized return for closest segment point
94-
if (d < 0.0f) return D.Length();
95-
return ((d > l2 ? D - L : D - (L * (d / l2))).Length());
101+
Vector3 L = x2 - x1; // segment vector
102+
float l2 = Dot(L, L); // squared segment length
103+
Vector3 D = p0 - x1; // vector from point to x1
104+
float d = Dot(D, L); // projection scalar
105+
106+
// Clamp projection between [0, l2] without branching
107+
float t = Math.Clamp(d, 0.0f, l2);
108+
109+
// Compute projection point and distance
110+
Vector3 proj = D - (L * (t / l2));
111+
return proj.Length();
96112
}
97113

98114
[SkipLocalsInit]

0 commit comments

Comments
 (0)