Musson Industrial's Embr-Periscope Module

Release Notice

Embr v8.1 - 2026.5.28
Embr v8.3 - 2026.5.28

Client Resources + React Component

Client Resources are files compiled to JavaScript that are loaded by the Perspective client on launch.

There are currently two supported types:

  1. TypeScript (supports JavaScript, TypeScript, JSX, and TSX)
  2. CSS Modules

All Client Resources loaded and run on page load/refresh, serving as a direct, robust alternative to Markdown Injection. They can also provide React components, which can be used via a new dedicated React Perspective component or anywhere you would normally use an EmbeddedView.

Attached is an example project that demonstrates:

  • Writing React components.
  • Accessing the available system modules: (system:perspective and system:periscope)
  • Importing/exporting between Client Resources.
  • Using style classes from CSS Modules.
  • Rendering Client Resources inside of EmbeddedViews, using @/{path} syntax.

client-resource-testing_2026-05-28_1506.zip (400.9 KB)


Future Work

  • Synchonous Loading

    • Currently, Client Resources are loaded asynchronously via Periscope's BrowserResources.
    • This means the first render can happen before all resources are loaded.
    • Future work will attempt to make Client Resource loading happen during client startup, before any rendering occurs.
  • Embr Charts Integration

    • More work needs to be done to add Client Resource support for Embr Charts.
    • The goal is to provide a way to write Chart.js plugins inside Client Resources.
    • This will require synchronous loading.
9 Likes