# Integration

Map a RequireJS alias to the package `scripts` directory.  The Package Root URL
is supplied by the Host/deployment environment and is not stored in the package.

```js
require.config({
  paths: {
    UnifiedSlide: packageRootUrl + '/scripts'
  }
});

require(['UnifiedSlide/main'], function (UnifiedSlide) {
  const control = UnifiedSlide.createWorkbenchControl({
    container: '#target',
    language: 'ja',
    OpenFile: hostOpenFile,
    SaveFile: hostSaveFile
  });
});
```

## Development menu

The root menu formerly shown as `Extensions` is now `Development` / `開発` /
`开发`.  Script, macro/add-on placeholders and diagnostics are centralized in
that menu.

## Host File I/O

Open / Save / Save As / Import / Export stay Host-callback based.  UnifiedSlide
does not hard-code This Device, App Storage, Google Drive or other storage
provider labels in the runtime File menu.


## UnifiedControl dependency

Host/Demo configures `UnifiedControl` as a RequireJS alias to the shared Control Framework package. UnifiedSlide does not copy UnifiedControl into this ZIP.

```js
require.config({
  paths: {
    UnifiedControl: 'https://cdn.skylarkjs.com/itoolkits/developments/UnifiedControl/scripts',
    UnifiedSlide: '<UnifiedSlidePackageRoot>/scripts'
  }
});
```


## alpha36-fix11 CSS load contract

Host integrations must read `PACKAGE_MANIFEST.json`, load `styles.required` and selected `styles.themes[theme]`, and wait for those CSS files before mounting UnifiedSlide. Runtime CSS is scoped under `.uslide`. See `docs/STYLE_CONTRACT.md`.
