task(C4): use_pixi_renderer flag on by default with e2e proof

This commit is contained in:
Agent Zero
2026-08-27 12:58:36 +02:00
parent 738e4e8373
commit eb8d6231c5
4 changed files with 51 additions and 4 deletions
+10 -4
View File
@@ -17,7 +17,7 @@ import { logger } from '../utils/logger';
import { CADDocument } from '../kernel/document/CADDocument';
import { YjsDocument } from '../crdt/YjsDocument';
import { setActiveDocument, getActiveDocument } from '../kernel/document/documentService';
import { V2_TOOLS_ENABLED } from '../kernel/featureFlags';
import { V2_TOOLS_ENABLED, USE_PIXI_RENDERER } from '../kernel/featureFlags';
import { PixiRenderer } from '../render/pixi/PixiRenderer';
import { pluginRegistry } from '../plugins';
@@ -71,18 +71,24 @@ const CanvasArea: React.FC<CanvasAreaProps> = ({
// App-Level-Zugriffspunkt für HistoryPanel/Tastenkürzel (Task A4.11):
setActiveDocument(v2Doc);
// ── Task C2: PixiJS-Renderer parallel schalten ──
// ── Task C2/C4: PixiJS-Renderer parallel schalten ──
// DEFENSIV: Ein Ausfall von Pixi (z.B. WebGL im Headless-Browser)
// darf NIEMALS den kompletten Editor-Mount brechen. Im Fehlerfall
// läuft weiter ohne Overlay.
let pixi: PixiRenderer | null = null;
const pixiCanvas = pixiCanvasRef.current;
if (pixiCanvas) {
if (pixiCanvas && USE_PIXI_RENDERER) {
try {
pixi = new PixiRenderer();
pixiRendererRef.current = pixi;
pixi.init(pixiCanvas);
pixi.waitForReady().catch((err) => {
pixi.waitForReady().then(() => {
// Task C4: Debug-Hook für Playwright-E2E-Assertions
(window as unknown as { __v2Debug: unknown }).__v2Debug = {
renderer: pixi,
info: () => pixiRendererRef.current?.getDebugInfo() ?? null,
};
}).catch((err) => {
logger.warn('Pixi init failed — V2-Overlay deaktiviert:', err);
pixi = null;
pixiRendererRef.current = null;