Repository navigation
feat(simulator): render the robot arm panel through ui-cpp - #17
Merged
Merged
Conversation
Completes this repository's migration. The 3D view already drew through Canvas; the panel, the window and the entry point were the remainder. The degree-of-freedom switch is a condition rather than a handler. The panel built all three link groups against a fixed maximum and toggled their visibility from OnDofChanged, so a selection mask over the choice expresses it exactly, and the third link's group and its three controls now carry that mask instead. The six dragged controls use the slider field kind added in ui-cpp#7, so they keep their tick marks rather than becoming spin boxes. Their scaling stays in the application layer where the panel had it: torques are tenths of a newton metre, positions are degrees converted to radians on the way to the simulator. The three buttons take the Start, Stop and Reset roles, which removes the three inline setStyleSheet colours they carried. Configuration is still applied on Start and Reset only, not on change. ApplyConfiguration recomputes the timer interval and calls SetInitialPositions, so applying per keystroke would reset a running simulation; onFieldChanged is left unwired for that reason. Adds the first application-layer test for this simulator. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YQEnuDHtCQb5UyddnMup3Q
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Max errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|---|
| ✅ ACTION | actionlint | 7 | 0 | 0 | 0.7s | ||
| ✅ CPP | clang-format | 34 | 6 | 0 | 0 | 0.73s | |
| ✅ CPP | cppcheck | 34 | 0 | 0 | 1.26s | ||
| ✅ DOCKERFILE | hadolint | 1 | 0 | 0 | 0.61s | ||
| ✅ JSON | jsonlint | 8 | 0 | 0 | 0.12s | ||
| ✅ JSON | prettier | 8 | 3 | 0 | 0 | 0.6s | |
| markdownlint | 101 | 0 | 138 | 0 | 1.94s | ||
| ✅ MARKDOWN | markdown-table-formatter | 101 | 4 | 0 | 0 | 0.2s | |
| lychee | 135 | 14 | 0 | 1.55s | |||
| ✅ YAML | prettier | 12 | 0 | 0 | 0 | 0.61s | |
| ✅ YAML | yamllint | 12 | 0 | 0 | 0.62s |
Detailed Issues
⚠️ SPELL / lychee - 14 errors
[ERROR] failed to verify TLS certificate: invalid peer certificate: UnknownIssuer
📝 Summary
---------------------
🔍 Total...........84
🔗 Unique..........43
✅ Successful......60
⏳ Timeouts.........0
🔀 Redirected.......4
👻 Excluded.........9
❓ Unknown..........0
🚫 Errors..........14
⛔ Unsupported.....14
Errors in .github/workflows/static-analysis.yml
[403] https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$ (at 37:21) | Rejected status code: 403 Forbidden
Errors in doc/dynamics/ArticulatedBodyAlgorithm.md
[ERROR] file://doc/solvers/GaussianElimination.md (at 91:3) | File not found. Check if file exists and path is correct
Errors in doc/dynamics/EulerLagrange.md
[ERROR] file://doc/controllers/Lqr.md (at 136:23) | File not found. Check if file exists and path is correct
[ERROR] file://doc/solvers/DiscreteAlgebraicRiccatiEquation.md (at 138:13) | File not found. Check if file exists and path is correct
[ERROR] file://doc/solvers/GaussianElimination.md (at 135:29) | File not found. Check if file exists and path is correct
Errors in doc/dynamics/NewtonEuler.md
[ERROR] file://doc/solvers/GaussianElimination.md (at 131:29) | File not found. Check if file exists and path is correct
Errors in doc/dynamics/RecursiveNewtonEuler.md
[ERROR] file://doc/solvers/GaussianElimination.md (at 134:29) | File not found. Check if file exists and path is correct
Errors in doc/kinematics/ForwardKinematics.md
[ERROR] file://doc/math/Geometry3D.md (at 66:71) | File not found. Check if file exists and path is correct
Errors in doc/kinematics/InverseKinematics.md
[ERROR] file://doc/solvers/GaussianElimination.md (at 114:3) | File not found. Check if file exists and path is correct
[ERROR] https://mathweb.ucsd.edu/~sbuss/ResearchWeb/ikmethods/iksurvey.pdf (at 119:169) | SSL certificate not trusted. Use --insecure if site is trusted
Errors in README.md
[ERROR] file:///releases/latest (at 46:14) | File not found. Check if file exists and path is correct
Errors in ROADMAP.md
[ERROR] file://numerical/controllers/implementations/Mpc.hpp (at 162:25) | File not found. Check if file exists and path is correct
[ERROR] file://numerical/math/Geometry3D.hpp (at 82:25) | File not found. Check if file exists and path is correct
Errors in roadmap/README.md
[ERROR] file://roadmap/filters/passive/ExponentialMovingAverage/implementation.md (at 24:1) | File not found. Check if file exists and path is correct
Hint: Followed 4 redirects. You might want to consider replacing redirecting URLs with the resolved URLs. Use verbose mode (`-v`/`-vv`) to see redirection details.
Hint: You can configure accepted/rejected response codes with `-a` or `--accept`
⚠️ MARKDOWN / markdownlint - 138 errors
leTensionDistribution/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/CableTensionDistribution/implementation.md:18 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/CableTensionDistribution/implementation.md:28 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/CableTensionDistribution/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/CableTensionDistribution/tests.md:20 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/ComputedTorqueControl/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/ComputedTorqueControl/implementation.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/ComputedTorqueControl/implementation.md:29 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/ComputedTorqueControl/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/ComputedTorqueControl/tests.md:18 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/HybridPositionForceControl/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/HybridPositionForceControl/implementation.md:21 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/HybridPositionForceControl/implementation.md:35 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/HybridPositionForceControl/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/HybridPositionForceControl/tests.md:24 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/ImpedanceControl/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/ImpedanceControl/implementation.md:19 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/ImpedanceControl/implementation.md:32 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/ImpedanceControl/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/ImpedanceControl/tests.md:21 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/OperationalSpaceControl/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/OperationalSpaceControl/implementation.md:19 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/OperationalSpaceControl/implementation.md:31 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/OperationalSpaceControl/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/OperationalSpaceControl/tests.md:19 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/PdGravityCompensation/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/PdGravityCompensation/implementation.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/PdGravityCompensation/implementation.md:29 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/PdGravityCompensation/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/PdGravityCompensation/tests.md:19 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/SlotineLiAdaptiveControl/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/SlotineLiAdaptiveControl/implementation.md:20 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/SlotineLiAdaptiveControl/implementation.md:35 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/SlotineLiAdaptiveControl/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/controllers/manipulator/SlotineLiAdaptiveControl/tests.md:22 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/dynamics/FrictionCompensation/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/dynamics/FrictionCompensation/implementation.md:24 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/dynamics/FrictionCompensation/implementation.md:36 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/dynamics/FrictionCompensation/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/dynamics/FrictionCompensation/tests.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/dynamics/GenericJointLink/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/dynamics/GenericJointLink/implementation.md:22 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/dynamics/GenericJointLink/implementation.md:36 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/dynamics/GenericJointLink/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/dynamics/GenericJointLink/tests.md:19 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/AnalyticalIkPieper/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/AnalyticalIkPieper/implementation.md:20 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/AnalyticalIkPieper/implementation.md:27 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/AnalyticalIkPieper/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/AnalyticalIkPieper/tests.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ContinuumKinematics/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ContinuumKinematics/implementation.md:21 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ContinuumKinematics/implementation.md:30 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ContinuumKinematics/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ContinuumKinematics/tests.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/DenavitHartenberg/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/DenavitHartenberg/implementation.md:26 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/DenavitHartenberg/implementation.md:35 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/DenavitHartenberg/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/DenavitHartenberg/tests.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ManipulabilityIndex/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ManipulabilityIndex/implementation.md:16 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ManipulabilityIndex/implementation.md:26 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ManipulabilityIndex/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ManipulabilityIndex/tests.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/MobileManipulatorKinematics/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/MobileManipulatorKinematics/implementation.md:21 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/MobileManipulatorKinematics/implementation.md:30 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/MobileManipulatorKinematics/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/MobileManipulatorKinematics/tests.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ParallelManipulatorKinematics/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ParallelManipulatorKinematics/implementation.md:26 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ParallelManipulatorKinematics/implementation.md:35 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ParallelManipulatorKinematics/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ParallelManipulatorKinematics/tests.md:16 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/PoseInverseKinematics/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/PoseInverseKinematics/implementation.md:30 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/PoseInverseKinematics/implementation.md:38 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/PoseInverseKinematics/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/PoseInverseKinematics/tests.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ProductOfExponentials/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ProductOfExponentials/implementation.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ProductOfExponentials/implementation.md:25 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ProductOfExponentials/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/ProductOfExponentials/tests.md:18 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/RedundancyResolution/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/RedundancyResolution/implementation.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/RedundancyResolution/implementation.md:27 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/RedundancyResolution/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/RedundancyResolution/tests.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/SpatialJacobian/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/SpatialJacobian/implementation.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/SpatialJacobian/implementation.md:26 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/SpatialJacobian/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/kinematics/SpatialJacobian/tests.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/README.md:11 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/README.md:32:96 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
roadmap/README.md:33:96 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
roadmap/trajectory/CartesianSlerpInterpolation/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/CartesianSlerpInterpolation/implementation.md:23 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/CartesianSlerpInterpolation/implementation.md:32 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/CartesianSlerpInterpolation/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/CartesianSlerpInterpolation/tests.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/PolynomialTrajectory/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/PolynomialTrajectory/implementation.md:27 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/PolynomialTrajectory/implementation.md:36 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/PolynomialTrajectory/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/PolynomialTrajectory/tests.md:16 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/SCurveProfile/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/SCurveProfile/implementation.md:26 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/SCurveProfile/implementation.md:35 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/SCurveProfile/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/SCurveProfile/tests.md:16 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/TimeOptimalPathParameterization/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/TimeOptimalPathParameterization/implementation.md:28 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/TimeOptimalPathParameterization/implementation.md:37 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/TimeOptimalPathParameterization/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/TimeOptimalPathParameterization/tests.md:17 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/TrapezoidalProfile/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/TrapezoidalProfile/implementation.md:26 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/TrapezoidalProfile/implementation.md:35 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/TrapezoidalProfile/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/trajectory/TrapezoidalProfile/tests.md:16 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
(Truncated to last 20000 characters out of 22405)
Notices
REPOSITORY_GITLEAKS, REPOSITORY_KICS. See Removed linters to find their replacements.
See detailed reports in MegaLinter artifacts
Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)
- Documentation: Custom Flavors
- Command:
npx mega-linter-runner@10.1.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,CPP_CPPCHECK,CPP_CLANG_FORMAT,DOCKERFILE_HADOLINT,JSON_JSONLINT,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT

Show us your support by starring ⭐ the repository
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YQEnuDHtCQb5UyddnMup3Q
|
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.



Completes this repository's migration. #16 moved the 3D view onto
Canvas; the panel, the window and the entry point were what remained.The degree-of-freedom switch is a condition, not a handler
Worth stating plainly because an earlier design note got this wrong. It claimed this panel grew and shrank its control count at runtime — the one case a fixed
std::span<const FieldSpec>cannot express, and the reason a dynamic extension toFormModellooked necessary.It does not.
RobotArmConfigurationPanelbuilt all three link groups unconditionally againststatic constexpr int maxDof = 3andOnDofChangedonly calledsetVisible. AConditionwith a selection mask over the DOF choice expresses that exactly, so the third link's group and its three controls simply carry that mask. No model extension was needed.Sliders stayed sliders
The six dragged controls — three joint torques, three initial positions — use
FieldKind::Sliderfrom ui-cpp#7, added for this. They keep their tick marks and drag feel rather than being downgraded to spin boxes.Their scaling stays in the application layer, where the panel had it: torques are tenths of a newton metre (
value / 10.0f, so the ±200 slider is ±20 N·m in steps of 0.1), positions are degrees converted to radians on the way to the simulator. Nothing about either unit reachesui-cpp.Applying stays on Start and Reset
Deliberate, and a decision rather than an oversight. Link length, mass and damping had no
valueChangedconnection in the panel — they were read only when Start or Reset was pressed.ApplyConfigurationrecomputes the 120 Hz timer interval and callsSetInitialPositions, so wiringonFieldChangedwould reset a running simulation on every keystroke. It is left unwired for those fields.Smaller changes
The three buttons take the
Start,StopandResetroles, which removes the three inlinesetStyleSheetcolours they carried — the last ones in this repository's simulator.Main.cppbecomes onesimulator::shell::Run<RobotArmMainWindow>()call against a newsimulator/shell/, still setting theInstrumenttheme rather thanLight.RobotArmMainWindowkeeps its explicit destructor.QtPaintedWidgetclears a callback on the scene view when destroyed, and that view is a by-value member, so the widget has to go first — the same ordering #16 established.Tests
This simulator had no application-layer test.
TestRobotArmFormadds nine cases: the transcribed defaults, the third link appearing and reaching the configuration only when the spatial robot is chosen, the degree count coming from option data rather than position, the torque and position scalings, the vectors following the selected count, the slider kinds with their tick intervals, and that a hidden third link keeps its values across a switch.The 15 scene-view tests from #16 are untouched.
Verification
host,host-single-Debugandcoveragebuilt from clean. 4/4 tests onhost— up from 3 — and 2/2 onhost-single-Debug, which shows nouientry in_deps, confirming the simulator-off path still never fetches ui-cpp. The app launches headless.Built twice: once against a local ui-cpp checkout and once with no
FETCHCONTENT_SOURCE_DIRoverride, where CMake cloned ui-cpp atmain(9ebfb95) and passed 4/4 — so the new slider field kind is confirmed end-to-end through a real fetch rather than a local path.🤖 Generated with Claude Code
https://claude.ai/code/session_01YQEnuDHtCQb5UyddnMup3Q
Generated by Claude Code