Skip to content

Enhancement: check --variants / variant-manifest — recognize intentional co-located variant sets (avoid false multiple_root_compositions) #2663

Description

@carlosmirandalevy

Summary

npx hyperframes check assumes one root composition per project directory. Some production layouts intentionally co-locate a variant set — several complete root-composition files in one directory (e.g. index.html, index-en.html, index-fr.html, index-h.html — locale × orientation), each a standalone composition, built and rendered one explicit file per invocation (never dir-discovered).

Running check over such a directory reports multiple_root_compositions for every intro, even though each composition is correct and there is no duplicate-render / duplicate-audio risk (the build always targets an explicit file, not the directory).

This is an enhancement request for a first-class way to tell check that a directory holds an intentional variant set — distinct from the accidental "two compositions collided in one folder" case the current warning is designed for.

Impact today

  • A clean, human-friendly layout (one directory per intro, its locale × orientation variants side by side) cannot pass a dir-level check at 0 findings, so "require 0 findings" can't be applied literally to it.
  • The only alternative that satisfies the current discovery model is to explode an N-directory layout into N×M single-composition subdirectories, purely to appease dir-discovery — which trades a tidy structure for a mechanical one.

Current workaround

Gate per-file: run check against each composition file in isolation (a wrapper that presents one root at a time). It works and reports all real per-composition findings, but it's external tooling every consumer re-implements, and it gives up the convenience of a single dir-level check.

Requested enhancement

A first-class way to declare an intentional set of sibling root compositions in one directory — either of:

  • check --variants — a flag that treats each root composition in the directory as an independent unit, checks each in isolation, and suppresses multiple_root_compositions while still surfacing every real per-composition finding.
  • A variant manifest — e.g. a variants.json, or a data-variant-set marker on the roots, that enumerates the sibling compositions so check (and potentially render) understand the set explicitly.

Either would let a co-located variant layout pass a clean dir-level check without restructuring.

Concrete context

A real layout that hits this: a set of narrated intro compositions, each shipped as es/en/fr/pt × normal/vertical variants in one directory per intro. Every composition passes check individually (Runtime / Layout / Motion / Contrast all clean); the only dir-level finding is multiple_root_compositions, which is purely the deliberate co-location.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions