{
  "packageName": "UnifiedSlide",
  "productVersion": "1.0.0",
  "apiVersion": "1.0",
  "buildVersion": "20260626.036-fix12",
  "publicEntry": "scripts/main.js",
  "versionMetadata": "VERSION.json",
  "nativeExtension": ".usldx",
  "runtimeRequired": [
    "VERSION.json",
    "PACKAGE_MANIFEST.json",
    "scripts/",
    "themes/base/",
    "scripts/main.js",
    "scripts/controls/unified_slide_control.js",
    "scripts/commands/command_registry.js",
    "scripts/models/event_bus.js",
    "scripts/models/state_store.js",
    "scripts/models/selection_manager.js",
    "scripts/models/slide_store.js",
    "scripts/services/layer_manager.js",
    "scripts/services/clipboard_manager.js",
    "scripts/services/shortcut_manager.js",
    "scripts/package_format.js",
    "scripts/services/pptx/unified_pptx_writer.js",
    "scripts/services/pptx/pptx_import_service.js",
    "scripts/services/ooxml/ooxml_package_reader.js",
    "scripts/services/ooxml/ooxml_package_writer.js",
    "scripts/services/ooxml/unknown_part_preserver.js",
    "scripts/services/ooxml/compatibility_report.js",
    "scripts/services/theme_service.js",
    "scripts/services/template_service.js",
    "scripts/services/ai/assistant_adapter.js",
    "scripts/services/presentation/presentation_service.js",
    "scripts/services/script/",
    "scripts/services/script/script_runtime.js",
    "scripts/services/script/vba_project_preserver.js",
    "scripts/services/script/vba_analyzer.js",
    "scripts/services/script/vba_to_js_converter.js",
    "themes/base/unified_slide.css"
  ],
  "runtimeOptional": [
    "demo/",
    "docs/",
    "themes/flat/unified_slide.css"
  ],
  "directoryRoles": {
    "scripts/": "Runtime AMD package and public Control entry",
    "scripts/controls/": "Host-facing Control API",
    "scripts/commands/": "CommandRegistry and command definitions",
    "scripts/models/": "StateStore, EventBus and shared models",
    "scripts/services/": "Services for File I/O, package, export, security and OOXML",
    "scripts/adapters/": "Storage/backend/cloud adapter extension point",
    "scripts/registries/": "Format and extension registries",
    "scripts/views/": "jQuery Plugin View / Controller layer",
    "themes/": "Runtime theme resources",
    "demo/": "Host integration examples",
    "docs/": "Human-readable documentation"
  },
  "demos": [
    {
      "name": "Demo portal",
      "path": "demo/index.html",
      "purpose": "Demo list, descriptions and policy notes"
    },
    {
      "name": "Basic workspace",
      "path": "demo/basic.html",
      "purpose": "Stable workspace with Demo-local callbacks"
    },
    {
      "name": "Parameters",
      "path": "demo/parameters.html",
      "purpose": "Options panel and maximizable Control display frame"
    },
    {
      "name": "Callback I/O",
      "path": "demo/callback-io.html",
      "purpose": "OpenFile/SaveFile request/response verification"
    },
    {
      "name": "Control architecture",
      "path": "demo/control-architecture.html",
      "purpose": "Control API, Command and Event usage"
    },
    {
      "name": "Regression tests",
      "path": "demo/regression-tests.html",
      "purpose": "Lightweight command/callback regression checks"
    }
  ],
  "developmentVersion": "alpha36-fix12-floating-ui-hidden-fix",
  "developmentMilestone": "alpha36-fix11",
  "nativePackageFormatVersion": "2.2",
  "callbackContract": "OpenFile/SaveFile callback with Demo local-PC filename picker",
  "pptxCompatibilityTarget": "Google Slides UI + PowerPoint OOXML round-trip preservation core",
  "pptmCompatibilityTarget": "PPTM macro project preservation + safe PowerPoint VBA subset to UnifiedSlide Script conversion",
  "securityNotes": {
    "scriptEngine": "Imported VBA is never executed automatically. OS/COM/ActiveX/FileSystemObject/Shell constructs are permanently out of scope."
  },
  "pptxImportRuntime": "PPTX/PPTM import is connected through OpenFile/Import callbacks and PptxImportService.",
  "dialogPolicy": "Message/error dialogs show only OK; destructive confirmations show OK + Cancel.",
  "notes": "alpha36-fix2: PPTX import thumbnail rendering no longer disposes temporary Fabric canvases before asynchronous image loading completes.",
  "changeSummary": "alpha36-fix11: align UnifiedSlide with app policy v1.10 CSS/Theme/Manifest contract and single-file policy v1.3 Programable Editing Control payload API.",
  "menuPolicy": "Google Slides-like root menus with Development root menu for script/macro/development functions; File I/O remains package-owned commands delegated to Host callbacks.",
  "moduleFilenamePolicy": "lower_snake_case.js under scripts/",
  "policyCompatibility": "General policy v1.10; UnifiedControl dev-0.7.2; single-file policy v1.3",
  "requiredPackages": {
    "UnifiedControl": {
      "apiVersion": ">=0.7 <1.0",
      "developmentVersion": ">=dev-0.7.2",
      "publicEntry": "scripts/main.js",
      "required": true
    }
  },
  "styleScope": {
    "rootClass": ".uslide",
    "overlayClass": ".uslide-floating-ui",
    "cssVariables": [
      "--bg",
      "--panel",
      "--panel2",
      "--text",
      "--muted",
      "--border",
      "--shadow",
      "--btn",
      "--btnHover",
      "--accent"
    ]
  },
  "styles": {
    "required": [
      "themes/base/unified_slide.css"
    ],
    "themes": {
      "flat": [
        "themes/flat/unified_slide.css"
      ],
      "base": []
    },
    "hostOptional": [
      "demo/assets/css/demo.css"
    ]
  }
}
