# Host Integration / dev-0.7.1

Host integration remains Control API first. Hosts should not manipulate internal DOM directly.

Supported extension paths:

- Register additional components through `hostProfile.components`.
- Register additional commands through `hostProfile.commands`.
- Use `createDesignerControl()` for authoring.
- Use `createRuntimeControl()` for runtime display.
- Use `OpenFile` / `SaveFile` callbacks for storage.

`HostIntegrationService` can turn a Host profile into component and command registrations. `showIntegrationInfo` displays the current command/view/API surface for debugging.


## dev-0.7.1 Host Menu / Toolbar Composition

Hosts that own the surrounding Window or page chrome can suppress UnifiedControl Workbench surfaces and rebuild menu / toolbar UI from command contributions.

```javascript
var control = UnifiedControl.createDesignerControl({
  container: '#target',
  language: 'ja',
  theme: 'flat',
  showMenuBar: false,
  showToolbar: false
});

var menuItems = control.getCommandContributions('menu');
var toolbarItems = control.getCommandContributions('toolbar');

// Host UI should call control.exec(item.commandId) when a rendered item is selected.
```

Host profile integration may also register aliases:

```javascript
control.registerCommandAlias('myHost.file.save', 'uctl.file.save');
```

The package keeps its own File commands because UnifiedControl owns the `.uctlx` work-file behavior. A Host may still choose to render those commands in a Host-owned File menu.
