beckhoff-xts-viewer-3d 5.3.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -116,8 +116,10 @@ procedurally built indoor environment, anisotropic filtering and optional
116
116
  PCF-soft shadows, all switchable through `display.*`. SSAO and bloom are
117
117
  available when the optional post-processing peers are installed.
118
118
 
119
- **Interaction and status.** Click selection for modules and movers, tinting the
120
- GLB itself rather than overlaying wireframes; drive-status blink plus
119
+ **Interaction and status.** Click selection for modules, movers, whole tracks
120
+ and static custom assets, tinting the GLB itself rather than overlaying
121
+ wireframes; draggable translate / rotate / scale handles on a selected track
122
+ or custom asset, in the same palette as the orientation gizmo; drive-status blink plus
121
123
  camera-facing warning and error icons; feed-segment (Einspeisestrang) tinting
122
124
  that wraps the seam of a closed loop; stations, areas, dimensions and info bars;
123
125
  stop-position ghost movers; and a stator heatmap driven by
@@ -227,88 +229,12 @@ afterwards.
227
229
  - [Performance](docs/PERFORMANCE.md) — the asset compression pipeline and the
228
230
  runtime budget.
229
231
  - [Releasing](docs/RELEASING.md) — the automated publish flow.
232
+ - [Migrating to v6](MIGRATION.md) — what changed and what to do about it.
230
233
 
231
- ## Development
234
+ ## Contributing
232
235
 
233
- The repo is a pnpm workspace; `pnpm-lock.yaml` is the source of truth, so
234
- `npm install` will not work. Install pnpm 10, then:
235
-
236
- ```bash
237
- pnpm install
238
- pnpm lint
239
- pnpm typecheck
240
- pnpm test
241
- pnpm run test:coverage
242
- pnpm build
243
- ```
244
-
245
- `pnpm dev` starts the playground at `http://127.0.0.1:5173`. It exercises every
246
- feature and lets you switch demos, drive movers, toggle lighting and shadows,
247
- compose multi-track layouts and live-edit calibration overrides.
248
-
249
- `pnpm docs:capture-screenshots` re-shoots the whole image strip on this page
250
- from that playground, unattended — see
251
- [docs/screenshots](docs/screenshots/README.md).
252
-
253
- ### Asset pipeline
254
-
255
- CAD sources in `stepfiles/*.stp` are converted to runtime GLBs plus per-asset
256
- JSON sidecars:
257
-
258
- ```bash
259
- pnpm assets:convert # STP → GLB
260
- pnpm assets:optimize # meshopt compression
261
- pnpm assets:apply-materials # CAD placeholder colours → real PBR materials
262
- pnpm assets:verify-colors # no authored STEP colour got lost
263
- pnpm assets:inspect # refresh docs/data/glb-inspection.json
264
- pnpm assets:generate-sidecars # module .meta.json origin corrections
265
- pnpm assets:generate-mover-sidecars
266
- ```
267
-
268
- The CAD sources carry Autodesk Inventor placeholder colours, not product
269
- colours — an AT2 motor module's whole solid is styled #696969 — so
270
- `assets:apply-materials` maps them onto the named PBR library in
271
- `scripts/materialLibrary.mjs` (anodised aluminium, stainless steel, hardened
272
- rail steel, plastics, printed labels, LEDs). It rewrites only the GLB's JSON
273
- chunk, leaving geometry and the compressed binary chunk byte-identical, and is
274
- idempotent. See [docs/ADDING-A-MODULE.md](docs/ADDING-A-MODULE.md).
275
-
276
- The generators skip existing files so hand-tuned calibration is never
277
- overwritten; pass `--force` to regenerate. The release pipeline never runs them
278
- and reads the sidecars read-only.
279
-
280
- ### Layout
281
-
282
- ```text
283
- src/ Library source — this is what ships
284
- components/ <XtsViewer3D> and the internal scene tree
285
- geometry/ Path math, ChainBuilder, normalizeXtsConfig
286
- assets/ AssetManifest, AssetLoader, SidecarLoader
287
- interaction/ SelectionManager
288
- packages/assets/ Sibling npm package: GLB-only mirror
289
- playground/ Vite app exercising every feature
290
- public/models/ GLBs and .meta.json calibration sidecars
291
- stepfiles/ Source CAD files (not published)
292
- scripts/ Asset pipeline and version-sync utilities
293
- docs/ VitePress site and guides
294
- ```
295
-
296
- ### Releasing
297
-
298
- Every push to `main` runs [semantic-release](https://semantic-release.gitbook.io/),
299
- which derives the version from Conventional Commit messages, writes
300
- `CHANGELOG.md` and publishes both packages. Never run `npm version`, edit the
301
- changelog or publish by hand.
302
-
303
- | Prefix | Bump |
304
- | -------------------------------------------------- | ----- |
305
- | `fix:` / `perf:` | patch |
306
- | `feat:` | minor |
307
- | `feat!:` / `fix!:` / `BREAKING CHANGE:` footer | major |
308
- | `chore:` / `docs:` / `ci:` / `refactor:` / `test:` | none |
309
-
310
- Preview with `pnpm release:dry-run`. [Releasing](docs/RELEASING.md) covers the
311
- plugin chain, the calibration-safety guard and the manual fallback.
236
+ Setup, the asset pipeline, the repository layout and the release flow are in
237
+ [CONTRIBUTING.md](CONTRIBUTING.md).
312
238
 
313
239
  ## License
314
240