Skip to content

Code Notes: replace the architecture diagram with a corrected SVG - #4377

Open
Zia-research wants to merge 1 commit into
LinuxCNC:masterfrom
Zia-research:code-notes-block-diagram-svg
Open

Code Notes: replace the architecture diagram with a corrected SVG#4377
Zia-research wants to merge 1 commit into
LinuxCNC:masterfrom
Zia-research:code-notes-block-diagram-svg

Conversation

@Zia-research

@Zia-research Zia-research commented Aug 13, 2026

Copy link
Copy Markdown

code-notes.adoc:103 shows LinuxCNC-block-diagram-small.png, unchanged in the repository since 2012-11-19 (b60c20198e). This replaces it with a hand-written SVG: same topology, with corrections — they are listed here: https://zia-research.github.io/linuxcnc-audit/sheets/linuxcnc-code-notes-errata.html

@grandixximo proposed extracting this figure as a standalone .svg in #3718. This is not the continuation of #3718 — that PR updates LinuxCNC-block-diagram.png, a different file.

Nothing is deleted: the PNGs stay in the tree, only the image:: line changes. Say the word if you would rather I remove the superseded ones.

I will fix it according to your feedback. For the future, it is plain SVG so anyone can edit it.

With the help of AI

code-notes.adoc renders LinuxCNC-block-diagram-small.png, unchanged in the
repository since 2012-11-19 (b60c201). This adds a hand-written SVG with the
same topology and ten corrections, each established by reading master at
caa13ca, and points the image directive at it.

Nothing is removed: both PNGs stay in place, including the Spanish variant that
the translation catalogue maps to.

The corrections are listed with their source locations at
https://zia-research.github.io/linuxcnc-audit/sheets/linuxcnc-code-notes-errata.html

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@BsAtHome

Copy link
Copy Markdown
Contributor

I do like the update, in principle, but there are also some problems.

  • The coloration of the boxes does not seem to have one specific meaning. I can't place a responsibility with the color.
  • Some texts do not properly fit the box (like the one with "motor . encoder . limit switches..."). Alignment may also be improved when using SVG/style attributes. Especially when font replacement is done.
  • The HAL layer includes both "components" and "drivers". Drivers are components that happen to talk to the hardware. Other components are generally intermediaries. Putting them side-by-side is a bit misleading. Also, the GUIs also have (non-realtime) components, but do communicate with RT components primarily using signals. This makes the picture more complex. Not sure how you should represent that. Maybe it requires multiple images.
  • The text "absent from the original — yet it now carries every bit of hardware coupling" and "WHAT THE DIAGRAM GOT RIGHT" seem quite out of place.
  • You have motmod in one box with many smaller boxes inside. However, motmod is loaded into HAL. What is the idea behind this? Are you going for hierarchy or logic? You seem to combine different strategies.
  • You connect milltask to the nonRT-to-RT queues. However, you then do not connect that to motmod's motion controller, which is missing (on purpose?). However, you do have other modules, like homemod and kinematics as part of motmod, which are, well, user loadable (and user replaceable).

The image is called "architecture", but what is it exactly you are trying to visualize? Hierarchy? Logic? Communication? Container? The current form seems to do a blending of them all and confuses me a bit. Can you please explain your thoughts behind the layout and divisions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants