Skip to content

The SDK repository for the studio-engine

License

Notifications You must be signed in to change notification settings

chili-publish/studio-sdk

Repository files navigation

studio-sdk

Coverage

Build PR Publish Package

This is the Open Source GraFx Studio SDK which you'll need while working on and integrating GraFx Studio.

The project is currently under active development, contributions are welcome in the form of creating issues or in the form of actual contributions on the code. See our CONTRIBUTING.md file to get started on your first contribution.

Documentation

Link to functional documentation and getting started

Link to the official SDK documentation on GitHub*

*Note: the hosted documentation is always based on the latest version. To get the documentation of the release that you use, you can download the sourcecode of that release and open /docs/index.html.

Overview

Welcome to our repository, which houses the Studio-SDK, a critical component designed to seamlessly integrate with GraFx Studio. This SDK plays a pivotal role in facilitating communication between various integrations such as workspaces and the core editor engine.

Our primary objective with this SDK is to maintain its lightweight nature. We are committed to avoiding state storage within the SDK, as it can complicate maintenance and synchronization with the engine. Essentially, the SDK serves as an abstraction layer for the editor engine. It delivers a consistent API for integrators while providing the engine with the flexibility to grow and adapt.

To better understand the relationship between the SDK and the Studio Engine, consider it analogous to a client-server relationship. The SDK makes requests to the engine and anticipates specific results. Conversely, the data flow from the engine to the SDK (and ultimately, to the SDK consumers) can be likened to the operation of WebSockets.

Please refer to the architecture diagram below for a visual representation of this interaction:

architecture diagram

We warmly invite developers to explore, utilize, and contribute to this project. Your involvement will help us to continually refine and enhance our SDK, ensuring it remains a robust, reliable, and efficient tool for all GraFx Studio integrations.

Getting started

There are 2 ways of getting the SDK.

NPM (with TS support)

The most easy approach would be installing it using a package manager like npm or yarn just do:

npm install --save @chili-publish/studio-sdk

or

yarn add @chili-publish/studio-sdk

Then you can easily import the SDK in your JS and TS files, but also the typing is included with this approach.

// TS example
import StudioSDK from "@chili-publish/studio-sdk";
import type { Variable } from "@chili-publish/studio-sdk";

Load script

The other way would be to include the sdk using the script tag just before the closure. of the body.

<script src="https://path/to/sdk/latest/main.js"></script>

To really get started, or to get inspiration, these are examples of live integrations.

Link to some basic example integrations in JS and TS

Link to Studio UI, a live advanced integration example used in production (My Projects in CHILI GraFx)*

* Studio UI itself can also be integrated and might be exactly what you need, with almost no effort.

Contribute?

See CONTRIBUTING.md for more information on how to contribute to this project.

Feedback?

If you have any feedback on the technical parts of the application, a feature request, a bug to report or a general technical question, don’t hesitate to create a new issue.

License

This project is MIT licensed