diff --git a/Craftimizer/Windows/Settings.cs b/Craftimizer/Windows/Settings.cs index cff9945..2db1688 100644 --- a/Craftimizer/Windows/Settings.cs +++ b/Craftimizer/Windows/Settings.cs @@ -667,15 +667,8 @@ public sealed class Settings : Window, IDisposable v => config = config with { Adversarial = v }, ref isDirty ); - DrawOption( - "Minimize Steps", - "Minimizes the number of crafting steps.", - config.MinimizeSteps, - v => config = config with { MinimizeSteps = v }, - ref isDirty - ); - if (config.MinimizeSteps && config.Adversarial) + if (config.Adversarial) { ImGui.SameLine(); using (var color = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange)) @@ -684,7 +677,7 @@ public sealed class Settings : Window, IDisposable ImGui.TextUnformatted(FontAwesomeIcon.ExclamationCircle.ToIconString()); } if (ImGui.IsItemHovered()) - ImGuiUtils.TooltipWrapped("Combining \"Minimize Steps\" and \"Ensure Reliability\" will significantly increase solve times."); + ImGuiUtils.TooltipWrapped("\"Ensure Reliability\" uses a lot more memory and can significantly increase solve times."); } } } diff --git a/Craftimizer/packages.lock.json b/Craftimizer/packages.lock.json index 40dbcf8..46d31f8 100644 --- a/Craftimizer/packages.lock.json +++ b/Craftimizer/packages.lock.json @@ -36,8 +36,8 @@ }, "Raphael.Net": { "type": "Transitive", - "resolved": "2.1.1", - "contentHash": "4+7HyDa7lVokXObqv8ADeTgi74Cz7W99N07DYtzuOXEt6tJtMlJt8RxLGoPtakVf1mURDMuD5kDKw0oz3EaoDA==" + "resolved": "3.0.0", + "contentHash": "9yY+jR2gddw52HtShBL/JikQ4gZa8lxFYSUIi2y510HLsaK86iqtuRgrv8/akrHR66QRWEPtmHXyehW1hrmP9Q==" }, "System.IO.Hashing": { "type": "Transitive", @@ -52,15 +52,15 @@ "dependencies": { "Craftimizer.Simulator": "[1.0.0, )", "DotNext": "[5.21.0, )", - "Raphael.Net": "[2.1.1, )" + "Raphael.Net": "[3.0.0, )" } } }, "net9.0-windows7.0/win-x64": { "Raphael.Net": { "type": "Transitive", - "resolved": "2.1.1", - "contentHash": "4+7HyDa7lVokXObqv8ADeTgi74Cz7W99N07DYtzuOXEt6tJtMlJt8RxLGoPtakVf1mURDMuD5kDKw0oz3EaoDA==" + "resolved": "3.0.0", + "contentHash": "9yY+jR2gddw52HtShBL/JikQ4gZa8lxFYSUIi2y510HLsaK86iqtuRgrv8/akrHR66QRWEPtmHXyehW1hrmP9Q==" } } } diff --git a/Solver/Craftimizer.Solver.csproj b/Solver/Craftimizer.Solver.csproj index ea20c38..ee2694b 100644 --- a/Solver/Craftimizer.Solver.csproj +++ b/Solver/Craftimizer.Solver.csproj @@ -15,7 +15,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/Solver/Solver.cs b/Solver/Solver.cs index 1c3c513..9cf7a5c 100644 --- a/Solver/Solver.cs +++ b/Solver/Solver.cs @@ -205,56 +205,26 @@ public sealed class Solver : IDisposable void Log(string s) => OnLog?.Invoke(s); - if (!Config.MinimizeSteps) + Raphael.SolverConfig config = new() { - Raphael.SolverConfig config = new() - { - Adversarial = Config.Adversarial, - BackloadProgress = true, - UnsoundBranchPruning = true, - LogLevel = Raphael.LevelFilter.Debug, - ThreadCount = (ushort)Config.MaxThreadCount, - }; + Adversarial = Config.Adversarial, + BackloadProgress = Config.BackloadProgress, + LogLevel = Raphael.LevelFilter.Debug, + ThreadCount = (ushort)Config.MaxThreadCount, + }; - using var solver = new Raphael.Solver(in config, in input, pool); + using var solver = new Raphael.Solver(in config, in input, pool); - solver.OnFinish += OnFinish; - solver.OnSuggestSolution += OnSuggestSolution; - solver.OnProgress += OnProgress; - solver.OnLog += Log; + solver.OnFinish += OnFinish; + solver.OnSuggestSolution += OnSuggestSolution; + solver.OnProgress += OnProgress; + solver.OnLog += Log; - progressStage = 0; - progress = 0; - await using var registration = Token.Register(solver.Cancel).ConfigureAwait(true); - await Task.Run(solver.Solve, Token).ConfigureAwait(true); - Token.ThrowIfCancellationRequested(); - } - - var state = solution != null ? (SimulationState?)ExecuteActions(solution) : null; - if (solution == null || state?.Quality != state?.Input.Recipe.MaxQuality) - { - Raphael.SolverConfig config = new() - { - Adversarial = Config.Adversarial, - BackloadProgress = Config.BackloadProgress, - UnsoundBranchPruning = false, - LogLevel = Raphael.LevelFilter.Debug, - ThreadCount = (ushort)Config.MaxThreadCount, - }; - - using var solver = new Raphael.Solver(in config, in input, pool); - - solver.OnFinish += OnFinish; - solver.OnSuggestSolution += OnSuggestSolution; - solver.OnProgress += OnProgress; - solver.OnLog += Log; - - progressStage = 0; - progress = 0; - await using var registration = Token.Register(solver.Cancel).ConfigureAwait(true); - await Task.Run(solver.Solve, Token).ConfigureAwait(true); - Token.ThrowIfCancellationRequested(); - } + progressStage = 0; + progress = 0; + await using var registration = Token.Register(solver.Cancel).ConfigureAwait(true); + await Task.Run(solver.Solve, Token).ConfigureAwait(true); + Token.ThrowIfCancellationRequested(); if (solution == null) return new([], State); diff --git a/Solver/SolverConfig.cs b/Solver/SolverConfig.cs index dad5f46..d14f747 100644 --- a/Solver/SolverConfig.cs +++ b/Solver/SolverConfig.cs @@ -38,7 +38,6 @@ public readonly record struct SolverConfig // Raphael/A* configuration public bool Adversarial { get; init; } public bool BackloadProgress { get; init; } - public bool MinimizeSteps { get; init; } public int MaxThreadCount { get; init; } public ActionType[] ActionPool { get; init; }