Loading...
Loading...
Tool
Drop any OGraf .zip and get a structured report. Static rules run instantly; a runtime sandbox mounts the graphic and exercises its lifecycle on demand. Everything stays in your browser.
What gets checked
All 83 rules by id →Manifest · 19 rules
Validated against the live EBU schema (draft-2020-12), customActions shape, `main` pointer, $schema freshness, semver — plus cross-field checks a per-field schema cannot make: durations naming an undeclared customAction, unsatisfiable render requirements, missing thumbnails.
Data schema (GDD) · 16 rules
Field types and gddType constraints, required gddOptions, the patterns the spec pins for colours, labels covering every select option, and defaults that match their own field's type, enum, bounds and pattern.
Package structure · 10 rules
Single top-level folder, README / LICENSE / preview present, referenced assets shipped, no OS junk, large-file warnings.
Graphic module · 9 rules
Default-export HTMLElement class, six lifecycle methods, the non-real-time pair when the manifest declares it, no self-registered `customElements.define`, no top-level `document`, Shadow-DOM-safe relative URLs.
Styling · 10 rules
`position: fixed` catch, remote `@import` / `@font-face`, `body` selector flag, font-family fallback, Shadow-DOM portability hints.
Assets · 5 rules
Preview image 16:9 (decoded from raw bytes), fonts shipped with a licence, oversized images, unknown extensions.
Runtime (optional) · 14 rules
Mounts the graphic in a sandboxed iframe, drives the full OGraf lifecycle including goToTime and setActionsSchedule where declared, captures timings, return values, console and uncaught errors.
No upload — everything runs in your browser.
The runtime sandbox executes the package's code; opt-in click required.