feat(hero): jerk-limited racer steering agents #28

Open
patman wants to merge 1 commit from patman/hero-racers into patman/hero-field AGit
Owner

PR 3/7 in the hero-toolpaths stack (prev: hero-field, next: hero-shaders). Six heads steered through the shared curl field with cascaded saturated P loops — error to omega_d to alpha_d with a bounded d-alpha/dt stage, i.e. S-curve turn profiles where jerk is the commanded quantity (the KGROO pitch in miniature). Head 0: pronounced jerk-limited feed swells; head 1: deliberately trapezoidal (constant accel, hard corner slowdown) as the legacy-G-code product contrast. Weak O(K2) separation, soft view confinement, struct-of-arrays state, zero allocations in step(). Review focus: the commented steering cascade in step() — the saturation order (error, rate, accel, jerk) is the product story.

PR 3/7 in the hero-toolpaths stack (prev: hero-field, next: hero-shaders). Six heads steered through the shared curl field with cascaded saturated P loops — error to omega_d to alpha_d with a bounded d-alpha/dt stage, i.e. S-curve turn profiles where jerk is the commanded quantity (the KGROO pitch in miniature). Head 0: pronounced jerk-limited feed swells; head 1: deliberately trapezoidal (constant accel, hard corner slowdown) as the legacy-G-code product contrast. Weak O(K2) separation, soft view confinement, struct-of-arrays state, zero allocations in step(). Review focus: the commented steering cascade in step() — the saturation order (error, rate, accel, jerk) is the product story.
feat(hero): jerk-limited racer steering agents
All checks were successful
CI / build-test (pull_request) Successful in 1m16s
ea8eca5e6a
Six heads steered through the shared curl field with cascaded saturated
P loops — error→ω_d→α_d with a bounded dα/dt stage, i.e. S-curve turn
profiles where jerk is the commanded quantity. Head 0 runs a pronounced
jerk-limited feed swell; head 1 is deliberately trapezoidal (constant
accel, hard corner slowdown) as product contrast. Weak O(K²) separation
and soft view confinement. Struct-of-arrays state; step() allocates
nothing.
patman force-pushed patman/hero-racers from ea8eca5e6a
All checks were successful
CI / build-test (pull_request) Successful in 1m16s
to 103ed41914
All checks were successful
CI / build-test (pull_request) Successful in 1m18s
2026-06-12 21:12:28 +00:00
Compare
patman force-pushed patman/hero-racers from 103ed41914
All checks were successful
CI / build-test (pull_request) Successful in 1m18s
to fce57424a0
Some checks failed
CI / build-test (pull_request) Has been cancelled
2026-07-02 03:06:46 +00:00
Compare
Some checks failed
CI / build-test (pull_request) Has been cancelled
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin +refs/pull/28/head:patman/hero-racers
git switch patman/hero-racers

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch patman/hero-field
git merge --no-ff patman/hero-racers
git switch patman/hero-racers
git rebase patman/hero-field
git switch patman/hero-field
git merge --ff-only patman/hero-racers
git switch patman/hero-racers
git rebase patman/hero-field
git switch patman/hero-field
git merge --no-ff patman/hero-racers
git switch patman/hero-field
git merge --squash patman/hero-racers
git switch patman/hero-field
git merge --ff-only patman/hero-racers
git switch patman/hero-field
git merge patman/hero-racers
git push origin patman/hero-field
Sign in to join this conversation.
No description provided.