disguise developers

Designer Plugins

Plugins for Disguise Designer software.

Designer Plugins

Overview

The Designer Plugin system provides a flexible framework that allows users to create HTML frontends that interact seamlessly with the Designer software. With this system, developers can extend the core functionality of Designer by integrating customised workflows, real-time data visualisation, and interactive controls. Plugins are powered by Python scripts that execute within a controlled environment, enabling communication between Designer and external services or devices. This integration empowers developers to enhance the user experience and add unique features to their projects.

Plugin Types

Designer plugins can be categorised into two main types:

Local: Plugins found locally in the Plugins folder within the project folder (internal plugins)

Remote: Plugins discovered through DNS-SD (network-based plugins)

For detailed information about how Designer discovers and loads plugins, see the Plugin Discovery page.

Frontend - Backend setup

The plugin architecture follows a frontend-backend separation principle, ensuring that different responsibilities are clearly delineated:

Control of your own device

Since plugins are running and hosted outside of Designer, they can use any of the device’s capabilities via APIs. The power of plugins is to link these functions to Designer in a user interface widget that users can interact with as part of their Designer workflow. As imagined, a device manufacturer will design and host their own Designer plugin within their device, publishing it via DNS-SD to Disguise users.

Plugin Diagram

Designer Control

It is envisaged that for the majority of applications, plugins will interface with Designer via the regular API. This provides fully crafted APIs which can be used to control and monitor Designer. Please see working with sessions for more details on how to work with sessions and directors.

Function Calling

For specific functionality, functions can be called within Designer using a Python console, via a web API. Details can be found in the Function Calling page.

Support for Designer Plugins can be found by contacting support@disguise.one for general Disguise support.