Initial commit

This commit is contained in:
2026-07-03 16:31:37 +07:00
commit 899c7c637d
1939 changed files with 641750 additions and 0 deletions

View File

@@ -0,0 +1,322 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using RobotNet10.NavigationTune.Data;
#nullable disable
namespace RobotNet10.RobotApp.Data.Migrations.TuneDb
{
[DbContext(typeof(TuningDbContext))]
partial class TuningDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "10.0.2");
modelBuilder.Entity("RobotNet10.NavigationTune.Data.TestScenarioEntity", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<string>("ConfigJson")
.IsRequired()
.HasColumnType("TEXT");
b.Property<DateTime>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("Description")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("TEXT");
b.Property<bool>("IsDefault")
.HasColumnType("INTEGER");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property<int>("Type")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("CreatedAt");
b.HasIndex("Name");
b.HasIndex("Type");
b.ToTable("test_scenarios", (string)null);
});
modelBuilder.Entity("RobotNet10.NavigationTune.Shared.Models.NavigationParameterSet", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<int>("ControllerType")
.HasColumnType("INTEGER");
b.Property<DateTime>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("Description")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("TEXT");
b.Property<string>("EstimatorConfig")
.IsRequired()
.HasColumnType("TEXT");
b.Property<bool>("IsDefault")
.HasColumnType("INTEGER");
b.Property<string>("MotorDynamicsConfig")
.IsRequired()
.HasColumnType("TEXT");
b.Property<string>("MovePidConfig")
.IsRequired()
.HasColumnType("TEXT");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property<string>("NavigationConfig")
.IsRequired()
.HasColumnType("TEXT");
b.Property<string>("PurePursuitConfig")
.IsRequired()
.HasColumnType("TEXT");
b.Property<string>("RotatePidConfig")
.IsRequired()
.HasColumnType("TEXT");
b.Property<string>("SignalConfig")
.IsRequired()
.HasColumnType("TEXT");
b.Property<string>("StanleyConfig")
.IsRequired()
.HasColumnType("TEXT");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("TEXT");
b.Property<int>("Version")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("CreatedAt");
b.HasIndex("IsDefault");
b.HasIndex("Name");
b.ToTable("parameter_sets", (string)null);
});
modelBuilder.Entity("RobotNet10.NavigationTune.Shared.Models.SafetyViolation", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<string>("Message")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("TEXT");
b.Property<int>("Severity")
.HasColumnType("INTEGER");
b.Property<Guid>("TestRunId")
.HasColumnType("TEXT");
b.Property<double>("Threshold")
.HasColumnType("REAL");
b.Property<DateTime>("Timestamp")
.HasColumnType("TEXT");
b.Property<int>("Type")
.HasColumnType("INTEGER");
b.Property<double>("Value")
.HasColumnType("REAL");
b.HasKey("Id");
b.HasIndex("TestRunId");
b.HasIndex("Timestamp");
b.HasIndex("TestRunId", "Timestamp");
b.ToTable("safety_violations", (string)null);
});
modelBuilder.Entity("RobotNet10.NavigationTune.Shared.Models.TestMetrics", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<double>("AccelerationStdDev")
.HasColumnType("REAL");
b.Property<double>("AverageSpeed")
.HasColumnType("REAL");
b.Property<double>("CompletionTime")
.HasColumnType("REAL");
b.Property<double>("CrossTrackErrorMean")
.HasColumnType("REAL");
b.Property<double>("CrossTrackErrorPeak")
.HasColumnType("REAL");
b.Property<double>("CrossTrackErrorRMS")
.HasColumnType("REAL");
b.Property<double>("CrossTrackErrorStdDev")
.HasColumnType("REAL");
b.Property<double>("EfficiencyScore")
.HasColumnType("REAL");
b.Property<double>("GoalHeadingError")
.HasColumnType("REAL");
b.Property<double>("GoalPositionError")
.HasColumnType("REAL");
b.Property<double>("HeadingErrorPeak")
.HasColumnType("REAL");
b.Property<double>("HeadingErrorRMS")
.HasColumnType("REAL");
b.Property<double>("MaxSpeed")
.HasColumnType("REAL");
b.Property<double>("OverallScore")
.HasColumnType("REAL");
b.Property<bool>("PassedCriteria")
.HasColumnType("INTEGER");
b.Property<double>("PathLengthRatio")
.HasColumnType("REAL");
b.Property<double>("SmoothnessScore")
.HasColumnType("REAL");
b.Property<Guid>("TestRunId")
.HasColumnType("TEXT");
b.Property<double>("TrackingScore")
.HasColumnType("REAL");
b.Property<double>("VelocityStdDev")
.HasColumnType("REAL");
b.HasKey("Id");
b.HasIndex("TestRunId")
.IsUnique();
b.ToTable("test_metrics", (string)null);
});
modelBuilder.Entity("RobotNet10.NavigationTune.Shared.Models.TestRun", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<double>("Duration")
.HasColumnType("REAL");
b.Property<DateTime?>("EndTime")
.HasColumnType("TEXT");
b.Property<string>("ErrorMessage")
.HasMaxLength(1000)
.HasColumnType("TEXT");
b.Property<string>("Notes")
.HasMaxLength(1000)
.HasColumnType("TEXT");
b.Property<Guid>("ParameterSetId")
.HasColumnType("TEXT");
b.Property<Guid>("ScenarioId")
.HasColumnType("TEXT");
b.Property<DateTime>("StartTime")
.HasColumnType("TEXT");
b.Property<int>("Status")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("ParameterSetId");
b.HasIndex("ScenarioId");
b.HasIndex("StartTime");
b.HasIndex("Status");
b.HasIndex("ScenarioId", "ParameterSetId");
b.ToTable("test_runs", (string)null);
});
modelBuilder.Entity("RobotNet10.NavigationTune.Shared.Models.SafetyViolation", b =>
{
b.HasOne("RobotNet10.NavigationTune.Shared.Models.TestRun", null)
.WithMany("SafetyViolations")
.HasForeignKey("TestRunId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("RobotNet10.NavigationTune.Shared.Models.TestMetrics", b =>
{
b.HasOne("RobotNet10.NavigationTune.Shared.Models.TestRun", null)
.WithOne("Metrics")
.HasForeignKey("RobotNet10.NavigationTune.Shared.Models.TestMetrics", "TestRunId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("RobotNet10.NavigationTune.Shared.Models.TestRun", b =>
{
b.Navigation("Metrics");
b.Navigation("SafetyViolations");
});
#pragma warning restore 612, 618
}
}
}