--- id: "02-responsive-html-preview" title: "Add responsive HTML preview surfaces" status: cancelled wave: 2 depends_on: - "01-preview-state-and-sandbox" plan: "plan.md" requirements: - REQ-UI-NATIVE-HTML-PREVIEW-001 acceptance_criteria: - AC-UI-NATIVE-HTML-PREVIEW-001.1 - AC-UI-NATIVE-HTML-PREVIEW-001.2 - AC-UI-NATIVE-HTML-PREVIEW-001.3 - AC-UI-NATIVE-HTML-PREVIEW-001.4 - AC-UI-NATIVE-HTML-PREVIEW-001.5 - AC-UI-NATIVE-HTML-PREVIEW-001.6 - AC-UI-NATIVE-HTML-PREVIEW-001.8 - AC-UI-NATIVE-HTML-PREVIEW-001.10 system_design: - ../../specs/ui/system-design/native-html-preview.md --- # Task 02: Add responsive HTML preview surfaces ## Summary This work order wired the HTML preview to a static `srcDoc` iframe. The owner selected script-capable execution, so the implementation is superseded by the runtime-backed renderer work in Tasks 06 and 07. ## In scope - Existing toolbar, file-state, localization, desktop, and mobile wiring may be reused after the runtime-backed renderer contract is implemented. ## Out of scope - Shipping `HtmlPreviewContent` with `sandbox=""` and inert scripts as the final behavior. - Treating component tests for iframe attributes as proof of script isolation. ## Acceptance - Cancelled. The original acceptance conditions describe the static-only renderer and do not satisfy inline JavaScript execution. ## Verification Not applicable. Use [Task 06](task-06-preview-state-and-renderer.md) and [Task 07](task-07-responsive-preview-surfaces.md) for the replacement work. ## Files likely touched - `apps/web/components/task/html-preview-content.tsx` - `apps/web/components/task/file-editor-content.tsx` - `apps/web/components/task/mobile/mobile-file-viewer-panel.tsx` ## Dependencies Replaced by Tasks 06 and 07. ## Risks Keeping the old iframe contract in a passing component test can hide a missing runtime boundary. ## Parallelism `sequential` ## Inputs - The superseded static prototype and existing Markdown preview surfaces. - The revised runtime and renderer system design. ## Results Cancelled after review. Existing UI changes remain non-ready until the script-capable renderer is implemented.