ui: embed reanimator chart viewer
This commit is contained in:
@@ -12,6 +12,9 @@
|
||||
|
||||
Default port: `8082`
|
||||
|
||||
Audit result rendering is delegated to embedded `reanimator/chart`, vendored as git submodule `internal/chart`.
|
||||
LOGPile remains responsible for upload, collection, parsing, normalization, and Reanimator export generation.
|
||||
|
||||
## Code map
|
||||
|
||||
```text
|
||||
@@ -21,6 +24,7 @@ internal/collector/ live collection and Redfish replay
|
||||
internal/analyzer/ shared analysis helpers
|
||||
internal/parser/ archive extraction and parser dispatch
|
||||
internal/exporter/ CSV and Reanimator conversion
|
||||
internal/chart/ vendored `reanimator/chart` viewer submodule
|
||||
internal/models/ stable data contracts
|
||||
web/ embedded UI assets
|
||||
```
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
- JSON responses are used unless the endpoint downloads a file
|
||||
- Async jobs share the same status model: `queued`, `running`, `success`, `failed`, `canceled`
|
||||
- Export filenames use `YYYY-MM-DD (MODEL) - SERIAL.<ext>` when board metadata exists
|
||||
- Embedded chart viewer routes live under `/chart/` and return HTML/CSS, not JSON
|
||||
|
||||
## Input endpoints
|
||||
|
||||
@@ -158,6 +159,17 @@ Returns registered parser metadata.
|
||||
|
||||
Returns supported file extensions for upload and batch convert.
|
||||
|
||||
## Viewer endpoints
|
||||
|
||||
### `GET /chart/current`
|
||||
|
||||
Renders the current in-memory dataset as Reanimator HTML using embedded `reanimator/chart`.
|
||||
The server first converts the current result to Reanimator JSON, then passes that snapshot to the viewer.
|
||||
|
||||
### `GET /chart/static/...`
|
||||
|
||||
Serves embedded `reanimator/chart` static assets.
|
||||
|
||||
## Export endpoints
|
||||
|
||||
### `GET /api/export/csv`
|
||||
|
||||
@@ -581,3 +581,26 @@ matter for LOGPile documentation: ingest-side serial fallback rules, canonical P
|
||||
coordinate.
|
||||
- LOGPile event export remains strictly source-derived; internal warnings such as LOGPile analysis
|
||||
notes do not leak into Reanimator `event_logs`.
|
||||
|
||||
---
|
||||
|
||||
## ADL-030 — Audit result rendering is delegated to embedded reanimator/chart
|
||||
|
||||
**Date:** 2026-03-16
|
||||
**Context:**
|
||||
LOGPile already owns file upload, Redfish collection, archive parsing, normalization, and
|
||||
Reanimator export. Maintaining a second host-side audit renderer for the same data created
|
||||
presentation drift and duplicated UI logic.
|
||||
|
||||
**Decision:**
|
||||
- Use vendored `reanimator/chart` as the only audit result viewer.
|
||||
- Keep LOGPile responsible for service flows: upload, live collection, batch convert, raw export,
|
||||
Reanimator export, and parse-error reporting.
|
||||
- Render the current dataset by converting it to Reanimator JSON and passing that snapshot to
|
||||
embedded `chart` under `/chart/current`.
|
||||
|
||||
**Consequences:**
|
||||
- Reanimator JSON becomes the single presentation contract for the audit surface.
|
||||
- The host UI becomes a service shell around the viewer instead of maintaining its own
|
||||
field-by-field tabs.
|
||||
- `internal/chart` must be updated explicitly as a git submodule when the viewer changes.
|
||||
|
||||
Reference in New Issue
Block a user