CDT-PS is an extension to CDT—an Building Transformations award winning open source, browser based digtial twin platform—that supports the development of custon plug-in on top of the CDT core.
The CDT Plugin System (CDT-PS) is an extension architecture for CDT, the web-based, open-source digital twin platform developed by the Carleton Immersive Media Studio (CIMS) and stewarded by the not-for-profit, Collab Digital Twins (https://collabdt.org/En/). CDT-PS allows functionality to be added to a running instance of the platform without modifying or rebuilding the core application. Users can extend the platform's features, analysis capabilities, and use cases, tailoring their digital twin environment to their own needs.
The problem we set out to solve was one of access: digital-twin technologies are largely confined to expensive, proprietary platforms. We wanted to let users—particularily smaller organizations and communities—extend their existing digital tools to what is needed rather than being forced to work with what a vendor provides.
The challenge was enabling that flexibility without augmenting or rebuilding CDT's shared core. Before CDT-PS, project- or organization-specific functionality had to be added by changing that core, which meant work competed in a single codebase and deployments drifted from the core. Organizations that self-hosted could not add functionality, because the application source for CDT hosted instances is private and they could not rebuild it; and bespoke customization was hard to isolate and manage per organization. CDT-PS resolves this by connecting new functionality to CDT without touching the core codebase.
CDT-PS resolves the challenge by placing a stable boundary between CDT's shared core and the functionality an organization adds. New capability attaches to a running instance rather than being built into the core, so the same platform can serve many users at once while each carries only the tools its domain requires.
For the CIMS team, project- and client-specific work no longer accumulates in the CDT core codebase. Each need becomes a separate plugin the team can share or keep private, so unrelated projects stop competing in the same files and deployments no longer drift apart, shortening delivery and lowering maintenance costs.
For a self-hosting organization, the effect is larger: it can extend the platform on its own, even though it cannot see or rebuild the underlying application. It adds the analysis it needs and makes it available to the people who should have it, without a proprietary licence and without commissioning a vendor.
Control stays with the organization. A plugin runs only when it is both present and enabled, and enabling it is a deliberate two-level decision: an administrator admits it for the organization, and each user chooses whether it runs for them. Nothing appears because an update shipped it. Because the domain-specific functionality lives outside the core, the core stays general and dependable for everyone, while a given organization builds, owns, and maintains the work that matters to it.