Skip to content

Preserve interactive canvas surfaces and account for their conversion #2293

Description

@chubes4

Reproduction

Import a static HTML page with <canvas id="canvas">, a self-contained same-origin script that paints a particle ripple on pointer movement, and several DOM text spans whose text changes after timers/clicks. The LIQUID BONSAI source runs this exact interaction. At 1440×900 headless Chromium, pointer motion changes the rendered canvas bytes; the text also progresses from Synchronizing to ALL SYSTEMS ACTIVE within 12 seconds. Its Data Liberation 0.6.7 portable artifact currently strips the script while retaining frozen text and a blank canvas (capture issue Automattic/data-liberation-agent#425).

In the subsequent Static Site Importer 1.19.2 / bundled Blocks Engine import, the <canvas> is absent entirely. The report declares zero fallback and interaction candidates despite this lost visual/behavioral surface. The clock and status are static. Without a source-side runtime artifact we cannot yet prove a PHP transformer fix end-to-end; this issue tracks the downstream generic conversion and explicit loss reporting.

Acceptance

  • Account for visible canvas and source script interactions in the conversion receipt and block editor. Native Gutenberg content stays editable and a custom interactive block, if necessary, is a generic reusable primitive rather than source-specific JavaScript.
  • Coordinate with upstream portable capture contract; do not silently discard an interactive surface while reporting full fidelity.
  • Verify source/capture/WordPress rendered canvas after pointer motion, clock/status time progression, click replay, and Gutenberg save at phone/tablet/desktop widths with a neutral fixture and fresh import.

AI assistance: GPT-6 Sol via OpenCode investigated the source/capture/import gap and authored this issue; Chris Huber directs the goal and retains merge authority.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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