Skip to content

F8.2d: Add drag-and-drop parity and repeatable PWA file tests #333

Description

@Flow-Fly

Parent

Goal

Give browser users the same safe project-import path through drag-and-drop, and make local PWA/file-handler verification easy to repeat.

Context

File handling is desktop Chromium-only. File menu and drag-and-drop remain the cross-browser paths and should share identical parsing, project-creation, capacity, and error behavior.

Risk and routing

Risk: low
Readiness: ready-for-agent

This adds adapters around an already-tested import service and a local preview command; it does not broaden the supported file formats.

Acceptance Criteria

  • Dropping supported project files anywhere on the app imports them sequentially through the shared service.
  • Unsupported drops are not intercepted.
  • Failures and tab-limit outcomes produce concise, polite, non-modal feedback.
  • File-menu import uses the same service.
  • A pwa:preview script builds and serves the production PWA locally.
  • The verification guide covers install/update, OS double-click, multi-file launch, drag-and-drop, permissions, and non-supporting browsers.

Suggested Files

  • src/components/app/pixel-forge-app.ts
  • src/components/menu/pf-menu-bar.ts
  • package.json
  • docs/verification/pwa.md
  • focused component/service tests

Verification

  • Focused drag/drop and File-menu tests.
  • npm run test:run
  • npm run build
  • git diff --check
  • Manual installed-PWA/Finder proof documented in the PR.

Dependencies

  • Uses the shared import and launch handling implemented by the preceding child issues.

Out of Scope

  • Image/reference drag-and-drop.
  • A general notification framework.
  • Direct source-file editing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agentic-taskChild issue intended for agent implementationenhancementNew feature or requestneeds-humanNeeds a human decision, approval, review, or playtest before agent work proceedsrisk:lowLow-risk, bounded, objectively verifiable work

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions