@uptimizr/playcanvas 0.2.2 → 0.2.3

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.
Files changed (2) hide show
  1. package/README.md +22 -10
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -4,11 +4,11 @@ The PlayCanvas connector for Uptimizr. It registers as an
4
4
  [`@uptimizr/sdk-core`](../sdk-core) **collector** and captures:
5
5
 
6
6
  - **camera pose** (position + forward direction) → view-direction heatmap
7
- - **pointer move / click** (normalized screen + optional raycast hit) → screen heatmaps
7
+ - **pointer move / click / button transitions** (normalized screen + optional raycast hit) → screen heatmaps
8
+ - **camera gestures** → navigation-intent analytics
8
9
  - **mesh picks** → object-engagement analytics
9
- - **FPS** → performance
10
- - **mesh visibility** (opt-in) → per-object dwell / attention, with an optional world AABB
11
- - **hover dwell** (opt-in) → hover hesitation (lingering without acting)
10
+ - **FPS**, context loss, and asset-load timing → performance / reliability
11
+ - **mesh visibility / hover dwell / gaze / resource samples / node transforms** (opt-in) → attention, footprint, and replay fidelity
12
12
 
13
13
  `playcanvas` is a **peer dependency**: the connector reads from the host
14
14
  application's PlayCanvas instance and never bundles or mutates the scene. It tears
@@ -72,8 +72,10 @@ client.stop("manual");
72
72
 
73
73
  ### Options
74
74
 
75
- Both `trackScene` and `playcanvasCollector` accept the same sampling/capture knobs
76
- as the Babylon and three connectors:
75
+ `trackScene` accepts the one-call project/endpoint, sampling, capture, `gaze`, `actors`,
76
+ `keyBindings`, and `cameraType` options. Use `playcanvasCollector` directly for collector-only
77
+ tuning such as `meshVisibility`, `hoverDwell`, `resourceSample`, `raycast`, or
78
+ `cameraGestureSensitivity`:
77
79
 
78
80
  ```ts
79
81
  playcanvasCollector({
@@ -82,7 +84,16 @@ playcanvasCollector({
82
84
  sampleCameraMs: 1000, // camera-pose sampling interval
83
85
  samplePerfMs: 2000, // FPS sampling interval (read from app.stats.frame.fps)
84
86
  pointerMoveThrottleMs: 250, // min gap between pointer_move samples
85
- capture: { camera: true, pointerMove: true, clicks: true, meshPicks: true, perf: true },
87
+ capture: {
88
+ camera: true,
89
+ pointerMove: true,
90
+ clicks: true,
91
+ buttons: true,
92
+ cameraGesture: true,
93
+ meshPicks: true,
94
+ perf: true,
95
+ assetLoad: true,
96
+ },
86
97
  });
87
98
  ```
88
99
 
@@ -166,9 +177,10 @@ connector boundary so the emitted events are identical:
166
177
  frustum path.
167
178
  - **Coordinate frame:** fixed right-handed, y-up (PlayCanvas has no per-scene
168
179
  handedness flag like Babylon's `useRightHandedSystem`).
169
- - **`asset_load`:** **not captured.** Mirrors the three connector the connector
170
- does not hook PlayCanvas' asset registry; report load timing from your app via
171
- `client.track(...)` if needed. (Follow-up: a first-class asset-load hook.)
180
+ - **`asset_load`:** captured by default from the PlayCanvas `app.assets` registry
181
+ (`load:start` `load` / `error`). The connector records the app-defined asset
182
+ `name`, duration, status, and byte size when the engine knows it — never the file
183
+ URL (privacy, ADR 0003). Disable with `capture.assetLoad: false`.
172
184
  - **Compile stalls (`compile_stall`, #42):** **not captured.** Babylon exposes
173
185
  engine-level shader-compilation observables the connector can time; PlayCanvas has
174
186
  no equivalent public compile hook, so compile-stall capture is Babylon-only for now.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uptimizr/playcanvas",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "PlayCanvas connector for Uptimizr — captures camera, pointer, mesh, and perf events as an sdk-core collector.",
5
5
  "keywords": [
6
6
  "uptimizr",
@@ -43,8 +43,8 @@
43
43
  "playcanvas": "^2.0.0"
44
44
  },
45
45
  "dependencies": {
46
- "@uptimizr/schema": "0.5.0",
47
- "@uptimizr/sdk-core": "0.4.0"
46
+ "@uptimizr/schema": "0.5.1",
47
+ "@uptimizr/sdk-core": "0.4.1"
48
48
  },
49
49
  "devDependencies": {
50
50
  "esbuild": "^0.28.1",