# Fix: mixed export/import demo view switching

The mixed Fabric 2D + Babylon 3D demo previously called `designer.setActiveView(viewId)`.
That root shortcut is not part of the public `AsukaDesigner` instance, so clicking **Create 2D + 3D demo** failed before any content was added.

The demo now uses the documented public namespace:

```js
designer.api.setActiveView(viewId);
```

The helper also checks `designer.api.getActiveViewId()` while waiting for the expected render engine, so a view is considered ready only when both the active view id and engine kind match.

The demo license configuration is now:

```js
license: { enabled: false }
```

This keeps the local export/import example independent from a licensing backend and prevents an unrelated `/v1/licenses/resolve` HTTP 403 from appearing in the console. Production integrations can replace this with their own license configuration.

`audit-state-export-import-demo.cjs` now requires the public view API, rejects the invalid root shortcut, verifies free-mode demo configuration, and keeps `index.html` synchronized with `pass/index.html`.
