KennelFlow Vet — production frontend assets
=========================================

Built outputs (typically minified). Human-readable sources: **assets/src/** — see **assets/src/README.txt** for the full dist→source map.

Dist file                          Source / build tool
-----------------------------------------------------------------------
booking-wizard.js / .css           assets/src/booking-wizard/ — esbuild (scripts/build-assets.mjs)
admin-calendar.js / .css           assets/src/admin-calendar/ — esbuild
facility-settings.js / .css        assets/src/facility-settings/ — esbuild
ai-dictation.js / .css             assets/src/ai-dictation-entry.jsx, AIDictation.jsx — Vite (vite.ai-dictation.config.js)
dicom-viewer.js / .css             assets/src/dicom-viewer-entry.jsx, DICOMViewer.jsx,
                                   cornerstone3d-bootstrap.js — Vite (vite.dicom.config.js)
kennelflow-vet-decode-worker.js    Same Vite DICOM build (Web Worker; URL passed from PHP)

Cornerstone3D is compiled into **dicom-viewer.js** from npm packages **@cornerstonejs/core** and **@cornerstonejs/dicom-image-loader** (upstream https://github.com/cornerstonejs/cornerstone3D). No **assets/vendor/** scripts are enqueued at runtime.

Regenerate from plugin root:

  npm ci
  npm run build          (esbuild + Vite AI + Vite DICOM; alias: npm run build:all)

Partial: **npm run build:esbuild**, **npm run build:vite**, **npm run build:vite:ai**, **npm run build:vite:dicom**

Maintainer summary: **readme.txt** → Developer notes → External Services (WordPress AI Client).

Before WordPress.org upload: **scripts/build-wordpress-org-zip.sh**, then **Plugin Check** (https://wordpress.org/plugins/plugin-check/).
