feat(engine): enable CanvasDrawElement in renderer Chrome args

Cherry-picked from feat/html-in-canvas-launch (PR #611):

- Enable --enable-features=CanvasDrawElement in Chrome browser args
  so HTML-in-canvas compositions render correctly
- Add native drawElementImage() capture path for shader transitions
  with existing fallback preserved
- Reuse renderer Chrome args in hyperframes validate for consistent
  WebGL/CanvasDrawElement environment
- Add capture.test.ts for the new shader transition capture path
This commit is contained in:
Miguel Ángel
2026-05-06 00:40:24 -07:00
parent a68191efe1
commit 6d2bfe7aaa
7 changed files with 200 additions and 3 deletions
@@ -265,6 +265,8 @@ export interface BuildChromeArgsOptions {
platform?: NodeJS.Platform;
}
const CANVAS_DRAW_ELEMENT_FEATURE_FLAG = "--enable-features=CanvasDrawElement";
export function buildChromeArgs(
options: BuildChromeArgsOptions,
config?: Partial<Pick<EngineConfig, "browserGpuMode" | "disableGpu" | "chromePath">>,
@@ -282,6 +284,7 @@ export function buildChromeArgs(
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-dev-shm-usage",
CANVAS_DRAW_ELEMENT_FEATURE_FLAG,
"--enable-webgl",
"--ignore-gpu-blocklist",
...getBrowserGpuArgs(browserGpuMode, platform),