Skip to content

feat(scada-editor): a SCADA editor in TypeScript - #83

Merged
kumilingus merged 367 commits into
clientIO:mainfrom
kumilingus:feat/scada-editor
Oct 14, 2026
Merged

kumilingus merged 367 commits into
clientIO:mainfrom
kumilingus:feat/scada-editor

Conversation

@kumilingus

@kumilingus kumilingus commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

A new demo: a SCADA editor (TypeScript) - build a plant diagram, run it against a simulated plant.

kumilingus and others added 30 commits October 2, 2026 18:52
… box, its font size in the inspector

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… in the palette)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r, a crusher, a mill, a rotary kiln, a bag filter; the boxes of a belt conveyor ride its whole length

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e group of the palette

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…th it); a new diagram, a file, an example asked first if the diagram has changes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the dark scheme

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…number, a state; a width or auto), a title and the names shown or not, its rows by resizing it, a source it follows; drawn as the counters demo (a new value updates its cell only), placeholders while editing

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lo inventory of the cement plant; the boilers of the boiler house aligned, its stacks wider

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… ones of the metal

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s, the join between them, fewer vertices

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… columns are shown

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…with the JointJS badge

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…linker silo, the title blue, the JointJS badge on the screen

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…uns while it is closed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… feed pumps) drift on their own

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s the help of its field

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e flat style outlines the shapes with a finish only

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ector

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lls put back, nothing in the history)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…instruments by their equipment, charts, flow labels, the silos fed from the belt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e commits were split)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…inish, outline; the needle its accent), resized with its dial

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r - the reading (its unit too)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kumilingus and others added 28 commits October 9, 2026 03:18
…low" under the diesel backup, its arrow up to it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…f their views in the document (as painted, equal z too): Select Below, the cell of a context menu, Unlock at a point; moving to a layer sorted by the layer and z (util.sortBy); drawingOrder() and the index in a layer's collection removed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n ID typed with a regex character (P(1) broke copy and paste

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tor (its value saved) - the keys go to the canvas again (the arrows, Delete, undo)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…paper with ShapeView, as the canvas and the palette)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… of the pipe; the new ends forget the directions stored for the old ones; Disconnect moves a member of a group selected on its own

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the other: they mark the same diagram); Escape closes an open menu or list only, else one level up

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…emoved (the rows and the grayed diagram stay in step); an element clicked removes its ID typed without dashes too

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…(with an outline of their own) and a table (its own width) - it did nothing there

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a part (a thermometer's frame by its liquid)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… label size - the text overflowed the zone at large sizes; the views drawn again when the label size changes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…: a control valve), TBL (a table, not TB: a turbine), WTW (a water tower, not WT: a wind turbine); the examples' IDs renamed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…fields.ts (no import of the inspector by the shapes); their default as documented - of the shape, of the field, of the part: a wire's Color no longer black, two default wires no longer Mixed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s, not data-tag and a CSS rule - the cells dimmed (a class on the views and their controls, per paper), the cells a click filters by (their cursor); markTag(), data-tag, data-log and the lists' open / close events removed; a new option of the log: Gray what has no ID

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ray the diagram - only words do (a command logged no longer grays everything at once)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…idth, as a pipe's): the line and its arrowheads scaled together, the line shortened by their scaled lengths (the tip where it points)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…th its Default swatch - the default of its part (a valve's handwheel) passed to the field

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…(index.html) - its own element (no div created for it), the class scada-toolbar for the screen mode's rules

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tches, the color inputs, the filters and the run-mode controls (by the element's ID); the landmarks (header, main, asides) and a hidden h1; the muted text and the log's kinds at 4.5:1; the inspector's Examples heading an h2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…of the control, in the room its foreignObject has around it (the pointer goes through the room to the element)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… it rests on the canvas (3 s), shown when it moves or leaves - CursorController

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eateExampleButtons) - styled by their own class; the placeholder's rules for its settings button only

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Y, the same @media in phone.css): the edit mode a page of the examples (no palette created, no diagram loaded until one is picked), the one picked run, Exit back to the page; no inspector, minimap, log, Find; the toolbar stays with a screen shown

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… iOS Safari's 100vh is the height without its bars (the app cut off, in landscape most)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e and Exit float in the top right corner of the diagram (the whole height), the color scheme's icon in the color of the text

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e zoomed natively by a pinch (setNativeZoom: the paper doesn't cancel the touches)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kumilingus
kumilingus merged commit 1ae5397 into clientIO:main Oct 14, 2026
1 check passed
@kumilingus
kumilingus deleted the feat/scada-editor branch October 14, 2026 17:28
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.

1 participant