Repository navigation
docs: draw the solutions of the crons on the problem pages (#314, phase C) - #420
Merged
Merged
Conversation
Each modeling tab, and Compare, now shows the solutions the convergence crons published (#314): `ProblemPlot.vue` draws them in the browser, from the trajectories, with no plotting library. - the reader chooses the solves to overlay, the components (state, control, costate), and the view: against time (one panel per component), phase plane (any two components, or time), or 3D (dragged, or the arrow keys); - a time cursor shared by the views, moved by hovering, by the slider, or played; "Draw up to t" draws the trajectories up to the cursor; - the values at the cursor in each panel, and as a table; - the reference categorical palette, one slot per solve, never cycled; in Compare, one dash pattern per modeling. `docs/results.jl` reads the `results` branch (or `OCP_RESULTS_DIR`), says whether each modeling's results are those of the current version of the problem (same `_fingerprint`), adds a Reproducibility block (run, commit, environment of each platform, Project.toml and Manifest.toml to download), and copies what the pages draw into the site, one platform per configuration. Without results the build works and the pages say so. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…he screen - Compare names the modeling of each freshness badge; - the time axis spans the time grids exactly (a free final time is not rounded up), with nice ticks inside; - solves that agree stay all visible: the first ones drawn wider, under; - the phase plane and the 3D view take a smaller size on a narrow screen, so their text keeps its size. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #314, phase C of the plan. Stacked on #419 (phase B), itself stacked on #417 (phase A).
Conventions: ct-conventions v0.11.0 (SITE rules), ct-agents v0.4.0.
What
Each modeling tab now has a Solution section, and Compare a Solutions side by side section. The solutions are those the convergence crons publish (phase B), and the browser draws them. Julia computes, it does not draw: no plotting library, and nothing is solved at build time.
ProblemPlot.vue, written in plain SVG:tf) listed under the plots;docs/results.jl:resultsbranch:git fetch --depth=1 origin results, thengit archiveread with theTarstdlib.OCP_RESULTS_DIR=<dir>reads a local tree instead; that is how I built it here;OptimalControlProblems._fingerprint, the same function the tests use, from test: record the trajectories, the environment and the fingerprint of the solves (#314, phase A) #417), stale otherwise, or no results yet. The badge names the run, its date and its commit;<details>): the run, the commit, and for each platform Julia, the system, the CPU and the threads. It has a table of package versions per platform, links to downloadProject.toml,Manifest.toml,versioninfoandPkg.status, and the command to solve again. It says honestly that the versions resolved later may differ, and that the manifest lists those of the run;docs/src/public/results/, git-ignored): one JSON per problem, and the trajectory of one platform per configuration (Linux first). Platforms agree to the solver tolerance, so one is enough, and the site stays small;resultsbranch has noproblems/yet, or no network), the build works and the pages say "No results yet".ResultLink.vue: a link to a file ofpublic/results/that follows the base of the deployed version (dev, stable, previews).Choices
gh-pagesdoes not grow every week either.Verification
beam,vanderpol,jackson,robot,gliderandmoonlander(OptimalControl adnlp+ipopt and exa+madnlp, JuMP ipopt, all converged), published withtools/cron/report.py --results-dir(ci: publish the results of the solves for the documentation (#314, phase B) #419). The documentation was built from that tree withOCP_RESULTS_DIR.Results of the crons: 6 problems, read in … s).typosfinds nothing.🤖 Generated with Claude Code