Files
BAT/ignition/gateway/projects/PrimeBAT/com.inductiveautomation.perspective/session-props/props.json
a.williamson 4b07272556 Heatmap drill-down to Journal, layout fixes, healthy-plant sim mode (B grade)
Heatmap -> Journal drill-down (PrimeBAT only):
- clicking an Activations-by-hour/day cell jumps to the Journal filtered to
  that recurring day-of-week + hour (new query.filterDow/filterHour session
  props; same local-time bucketing as calc.heatmap)
- Journal shows a "Time filter: Thu 12:00-12:59" chip with an X to clear;
  filter composes with existing filters and is included in CSV export
- getJournalPage clamps out-of-range pages when a filter shrinks the set

Layout:
- filter bar moved below the tab strip so the tabs no longer shift when the
  bar hides on Overview (tab bar y verified pixel-stable across tabs)
- popup titles (AlarmDetail/EventDetail) auto-shrink their font to fit long
  source paths on one line without colliding with the state/priority chips

Alarm health -> B (score ~88):
- alarmsim gains a MODE flag: "healthy" (default) generates ~12 activations/hr
  with an 80/15/5 priority mix and no chatter/standing/fleeting/floods;
  "chaos" restores the original stress profile
- SimHarness gains a SimReset one-shot timer (disabled) that clears all sim
  tags; probe P3 reports health-grade ground truth for the 8h window
- Dashboard onStartup now re-anchors relative range presets (4h/8h/24h/7d)
  to now on session start - fixes stale Designer-baked startMs/endMs pinning
  every new session to an old window

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 09:27:47 -05:00

98 lines
2.0 KiB
JSON

{
"custom": {
"PrimeControls": {
"query": {
"areas": [],
"endMs": 0,
"priorities": [],
"rangePreset": "8h",
"refreshToken": 0,
"search": "",
"startMs": 0,
"states": [],
"filterDow": -1,
"filterHour": -1
},
"ui": {
"badActorFocus": "",
"selectedTab": 0
}
}
},
"propConfig": {
"custom.PrimeControls": {
"persistent": true
},
"props.auth": {
"access": "PRIVATE",
"persistent": false
},
"props.device.accelerometer": {
"access": "SYSTEM",
"persistent": false
},
"props.device.identifier": {
"access": "SYSTEM",
"persistent": false
},
"props.device.timezone": {
"access": "SYSTEM",
"persistent": false
},
"props.device.type": {
"access": "SYSTEM",
"persistent": false
},
"props.device.userAgent": {
"access": "SYSTEM",
"persistent": false
},
"props.gateway": {
"access": "SYSTEM",
"persistent": false
},
"props.geolocation.data": {
"access": "SYSTEM",
"persistent": false
},
"props.geolocation.permissionGranted": {
"access": "SYSTEM",
"persistent": false
},
"props.host": {
"access": "SYSTEM",
"persistent": false
},
"props.id": {
"access": "SYSTEM",
"persistent": false
},
"props.lastActivity": {
"access": "SYSTEM",
"persistent": false
},
"props.offline.capable": {
"access": "SYSTEM",
"persistent": false
},
"props.offline.enabled": {
"access": "SYSTEM",
"persistent": false
},
"props.offline.lastSynced": {
"access": "SYSTEM",
"persistent": false
}
},
"props": {
"address": "172.18.0.1",
"device": {},
"geolocation": {},
"locale": "en-US",
"offline": {},
"securityLevels": [],
"theme": "light-cool",
"timeZoneId": "America/Chicago"
}
}