12 Commits

Author SHA1 Message Date
0f50ab27ae Add full Ignition Perspective view.json generator with bindings, scripts, and controls
Extracts all CDW5_SCADA boilerplate (zoom controls, markdown tooltip,
pan/wheel events, element color/state/priority tag bindings, display
filters, Start/Stop special-case bindings) into a new ignition-view.ts
module.  deployToIgnition() now produces the complete view.json instead
of a minimal skeleton.  Also adds ignitionViewPath to the store/toolbar
and routes it through the deploy endpoint so views land under the correct
sub-folder (e.g. DetailedView/MCM09).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 01:02:39 +04:00
99db2d5da8 Write .deploy-pending trigger file for gateway timer script
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:23:56 +04:00
4e48493cf0 Stop deleting view folder on deploy — just overwrite files
Deleting the folder caused Ignition's ResourceTreeFileWatcher to error
when cleaning up cached resource copies. Now just overwrites in place.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:16:41 +04:00
cef76524b3 Add project scan trigger after deploy via gateway message handler
Deploy now attempts to trigger a scanProject message handler after
writing files. Requires a Gateway Message Handler named "scanProject"
in Ignition Designer with: IgnitionGateway.get().getProjectManager().requestScan()

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:15:24 +04:00
dc86f65fa7 Simplify deploy: just write files, no restart attempt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:12:57 +04:00
8e2f837fb9 Delete and recreate view folder on deploy to force Ignition detection
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:10:42 +04:00
0d4075d126 Write scan trigger file on deploy for gateway timer script pickup
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:06:21 +04:00
937153d611 Touch project.json on deploy to help trigger Ignition rescan
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:03:15 +04:00
a0ceb56309 Add Ignition deploy: write view.json directly to Ignition project dir
- New "Ignition" section in toolbar with Project and View name fields
- View name defaults to current MCM
- "Deploy to Ignition" button writes view.json + resource.json to:
  C:/Program Files/Inductive Automation/Ignition/data/projects/{Project}/
  com.inductiveautomation.perspective/views/{ViewName}/
- Vite dev server plugin handles file writing via /api/deploy-ignition
- view.json wraps ia.shapes.svg component in proper Perspective view structure

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 22:44:11 +04:00
f8a26b4dd3 Fix all TypeScript errors: readonly cast, pdfjs types, vite config types
- Cast EPC defaultWaypoints readonly tuple to EpcWaypoint[] in collision.ts
- Fix pdfjs render() call with canvas property
- Remove unused @ts-expect-error directive
- Add @types/node and type annotations for vite.config.ts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 17:23:51 +04:00
84bd2f2978 Add default MCM symbol to every MCM's device list
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 19:18:10 +04:00
eda97fc5bc real commit 2026-03-20 17:46:47 +04:00