Compatibility strategy

Deckle reports compatibility by artifact profile and platform capability tier. “HTML support” without both qualifiers is not a valid claim.

1. Artifact profiles

Profile Intended behavior Initial status
Static artifact validated HTML/CSS, internal editor selection, host actions planned
Controlled artifact static profile plus capability runtime and virtual events planned
Browser artifact sandboxed compatibility page with native DOM behavior planned escape hatch
ReactDOM artifact unchanged ReactDOM against a Web-compatible document research only

The exact tag, CSS, event, input, and API matrix is an M0/M1 deliverable. Unsupported behavior must produce diagnostics rather than an apparently successful partial render.

2. Platform tiers

Tier Live representation Cached representation Status
Native HTML-in-Canvas layoutsubtree DOM mapped to texture ElementImage where available experimental probe
DOM fallback bounded overlay backend-specific or unavailable planned correctness path
Canvas-native compiled supported profile retained picture/texture future research
Unsupported none diagnostic placeholder required safety behavior

Native HTML-in-Canvas is currently an experimental Chromium proposal, not a cross-browser baseline. The adapter must inspect API shape and behavior, not infer support from user agent strings.

Primary references:

3. Semantic differences by representation

Behavior Live DOM Immutable snapshot + interaction tree
Browser layout/paint native frozen paint revision
Editor internal selection supported supported for retained profile
Virtual host actions supported supported if retained
Native input/IME supported by platform promote to live
Native text selection supported by platform not generally supported
CSS hover/animation live frozen or simulated profile only
Arbitrary event listeners live runtime only unavailable unless represented
Accessibility native where API supports semantic projection required
Find-in-page/extensions native where API supports not assumed

4. Qualification rules

A support claim requires:

  • exact browser/OS/backend versions;
  • feature detection output;
  • compatibility fixture results;
  • performance and memory report;
  • fallback result with experimental capability disabled;
  • known limitations and rollback flag.

Origin-trial access, a browser flag, a mocked method, or a single demo is experimental evidence, not general support.

5. Versioning

Artifact profile, persisted format, runtime messages, interaction tree, renderer contract, and capability report are versioned independently when their compatibility needs differ. Readers reject unsupported major versions before partial mutation. Downgrade behavior is explicit.

Last updated: