Repository navigation
Jobs keep the machine they were worked with: the vehicle's hitch points and the chain of tools - #834
Merged
Merged
Conversation
…ts and the chain of tools job.json gains rig: the vehicle's connectors and the tools in order from it, each measured from the connector it hangs on (ISO 11783-10), a copy of the loaded profiles taken when the job starts or resumes and whenever a profile is loaded or saved, written only when it changed. The web client keeps one tool, so AgOpenWeb writes a chain of one; the format takes more. A new member, so schemaVersion stays 1 (#547). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
renatorgr
pushed a commit
to renatorgr/AgOpenWeb
that referenced
this pull request
Nov 14, 2026
…cial#834) into sync-pulverizador Conflicts: - Fork PRs that went upstream (AgOpenGPS-Official#818 long-curve draw cost, AgOpenGPS-Official#819 headland distance, AgOpenGPS-Official#821 closed-pass seam, AgOpenGPS-Official#827 lateral-move log, AgOpenGPS-Official#828 U-turn setback at the pass end): official wording and tests, fork extras kept (the lateral-move toast and hard-fence refusal, gapResumeIndex, the slide bound, boundary ring selection, the line-entry path, guidelines that enter the field). - SceneProjector config stamp: the fork's RtkHold with official's hitch lengths. - en.json: both. CLAUDE.md: fork bullets. Official AgOpenGPS-Official#831 (hitch model) removed Tool.HitchLength: the fork's front implement round a bend, the S onto a line beside a hard fence and the way to the start of the pass now read RigGeometry.AttachX (the vehicle's hitch plus the tool's working point from it), and the fork's tests set the vehicle's hitch as official's do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VKEBDGFo85z1i7tUm4kacp
3 of 4 tasks
renatorgr
added a commit
to renatorgr/AgOpenWeb
that referenced
this pull request
Nov 14, 2026
Sync pulverizador with official develop dac3bfd (AgOpenGPS-Official#818-AgOpenGPS-Official#834)
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 #547, after #831 and #832. A job keeps the machine it was worked with: the vehicle's hitch points and the chain of tools on them.
Changes
JobRig(Models/Job), stored injob.jsonasrig:vehicle: profile name, type, coupling type (DDI 157), and its drawbar, rear 3-point and front 3-point hitch points from the rear axle.tools: in order from the vehicle. Each tool names itsconnector: one of the vehicle's hitch points, orPreviousTool(the rear connector of the tool before it). It also has itsmount, its distances from that connector, and its offset, length, width and section widths.As ISO 11783-10 chains a tractor's connectors and each implement's elements, every part is measured from what it hangs on. It is a copy, not a profile name: a profile can be edited or deleted later.
When it is written:
MainViewModelhands the job service the loaded vehicle and tool when a job starts or resumes, and whenever a profile is loaded or saved. Closing a settings panel saves it.JobService.RecordRigwritesjob.jsononly when the machine changed, and never writes a newer build's job.One tool in practice: the web client works with one tool, so AgOpenWeb writes a chain of one. The format takes more, and the spec says a reader should accept more.
Format:
rigis a new member, soschemaVersionstays 1. Since Field, job and coverage files: a format version, and what this build doesn't read is kept #825 an older build keeps members it doesn't know. A job saved before this change has norigand gets none until it is opened.Spec:
Docs/FIELD_FILE_FORMATS.mddescribesrig.Tests
JobRigTests(9):JobRigRecordingTests(3): the view model records the machine on job start and on profile load and save. Two of them fail on develop'sMainViewModel; the third, nothing recorded without a job, passes either way.Runner (this branch vs develop)
🤖 Generated with Claude Code