Review with evidence
Check authored source and every exact rendered Step for clipping, overflow, overlap, contrast, unstable geometry, unsafe text, density, and moving backgrounds.
Check the authored source first
Run the fast source check throughout authoring:
npm run check
npm run check -- slides.mdx
npm run check -- --jsonIt reports defects Drever can prove without opening a browser:
- Missing or duplicate slide titles.
- Missing or explicitly empty image alternative text.
- Skipped heading levels inside a slide.
- Authored video without a caption track.
- Invalid plan, configuration, plugin, or compilation contracts.
Diagnostics include a stable code, severity, stage, message, hint, and exact source range when one is available. Errors make the command exit nonzero; warnings remain visible without blocking the next authoring pass.
Source checks cannot prove browser geometry, paint, motion, or runtime component behavior. Use the rendered gate for a production candidate or after layout and Step changes.
Inspect every exact rendered state
Install Drever's matching Playwright Chromium once, then run the rendered review:
npm exec -- drever browser install
npm run check -- --rendered --evidence .drever/review --jsonDrever builds an isolated inspection app at the configured canvas and visits Step 0 plus every exact authored Step. It does not attach to an open personal browser, require Chrome DevTools MCP, or reuse the production build.
The current rendered rules report:
| Code | Severity | Evidence |
|---|---|---|
DREVER_RENDER_CONTENT_CLIPPED | Error | Required content or a line fragment is clipped by its owner. |
DREVER_RENDER_CANVAS_OVERFLOW | Error | Visible content extends beyond the configured canvas. |
DREVER_RENDER_CONTENT_OVERLAP | Error | Independent readable elements overlap. |
DREVER_RENDER_TEXT_CONTRAST_LOW | Error | Resolved solid colors fail the applicable contrast threshold. |
DREVER_RENDER_BACKGROUND_TRANSITIONED | Error | Repeated full-canvas paint moves with the deck instead of the Stage. |
DREVER_RENDER_TEXT_CONTRAST_INDETERMINATE | Warning | A gradient, image, blend, or translucent surface needs review. |
DREVER_RENDER_GEOMETRY_UNSTABLE | Warning | Persistent content unexpectedly moves or resizes between Steps. |
DREVER_RENDER_TEXT_SAFE_AREA | Warning | Readable text sits suspiciously close to a canvas edge. |
DREVER_RENDER_DENSITY_HIGH | Warning | Multiple rendered density signals cross their thresholds. |
DREVER_RENDER_BROWSER_MISSING | Error | The matching Playwright Chromium is unavailable. |
DREVER_RENDER_RUNTIME_FAILED | Error | A route, application, resource, or capture invariant failed. |
Clipping, overflow, independent overlap, proven low contrast, and repeated backgrounds moving with the deck are concrete defects. Geometry, safe-area, density, and indeterminate contrast remain warnings because deliberate composition can be valid. Review the evidence before changing the design.
Deliberate overlap can use data-drever-overlap="allow". Text that exists only as visual artwork
can use data-drever-visual-role="decoration". These annotations must describe real intent; they
are not a way to silence required content.
Keep the evidence with the review
--evidence .drever/review writes a versioned allowlisted manifest, full-size settled states,
contact sheets, and forward and reverse transition samples. The manifest and JSON receipt share the
exact inspection input fingerprint, so a failed refresh cannot leave older images looking current.
JSON output includes the typed rendered report V2 and a versioned receipt with:
- Ruleset and receipt versions.
- Canvas and Chromium version.
- Captured state count and final status.
- Evidence manifest identity when requested.
- A reason when source errors, a missing browser, or runtime failure prevents completion.
A stored legacy V1 report is source-only and does not satisfy this gate.
Use evidence without pretending it is taste
Rendered review is deliberately not an aesthetic score. It cannot decide whether the hierarchy is persuasive, motion fits the idea, an image is appropriate, or an art direction feels specific to the subject. Image, gradient, blend, and translucent contrast also require human inspection.
Review the contact sheet for hierarchy and density, open relevant full-size states for typography and edges, then inspect forward and reverse transitions in the live deck. Check Audience, Document, and Speaker surfaces when they changed. Chromium evidence alone is not cross-browser proof.
Development previews also expose a version-matched experimental typography probe:
await globalThis.__dreverExperimentalTextLayout();It uses Pretext to compare predicted and rendered line layout for supported visible plain-text blocks. The result is advisory and absent from production and export bundles. Rich inline markup, non-default wrapping, columns, transforms, generic system fonts, and unsupported shaping settings are skipped rather than reported as proven.
Give each kind of risk one owner
- Run the fast source check while writing.
- Use the live preview only for a concrete high-risk or reported question that source cannot answer, and inspect the smallest affected route or handoff.
- Run one exhaustive rendered gate when the presentation is ready for review.
- Fix proven defects and inspect every warning against the actual design intent.
- Re-run only after changes invalidate the evidence.
- Build the static site or PDF from the reviewed project.
Use the same JSON report in CI. Keep cosmetic E2E tests focused on stable product behavior; use the rendered receipt and visual evidence for presentation-specific layout instead of freezing mutable showcase styling as a permanent test API.
Navigate, annotate, rehearse, and share the exact moment with the audience and speaker surfaces.