CTHub Open-Core Engine — Pure TypeScript & Zero Dependencies

The Multi-Window Docking Engine
for Modern Web Applications

Deliver desktop-grade panel layouts, splitters, tab windowing, and stateful workspaces with seamless framework portals and responsive DOM docking.

workspace // interactive-demo.ts
✨ Drag tabs, resize splitters, and dock panels freely

Designed for High-Density Workspaces & Engineering Tools

Built for web IDEs, developer dashboards, telemetry inspectors, and data-rich applications.

Native Popout Windows

Detach any docking stack into true multi-monitor browser popouts with instant state synchronization across windows.

🎨

Crisp Vector SVG Mask Icons

Eliminate blurry raster artifacts across High-DPI screens. All window controls are powered by crisp CSS vector mask icons and customizable CSS variables (`--strelit-icon-color`).

Framework Teleport Ready

Seamlessly embed React Portals, Vue Teleports, or Angular ComponentPortals without unmounting or destroying state during layout drag-and-drop.

⚙️

Smooth 60 FPS Resizing

Engineered with batched resize pipelines and responsive DOM geometry for smooth, tear-free panel resizing and tab dragging across modern browsers.

💾

State & Snapshot Persistence

Serialize exact panel hierarchies, active tabs, and user window preferences into JSON snapshots suitable for LocalStorage or cloud sync.

🛡️

Open-Core MIT Foundation

Backed by CTHub with strict TypeScript typing, zero third-party DOM dependencies, and predictable enterprise expansion paths.

Get Started in Minutes

Choose your preferred stack and start building complex docking workspaces today.

Vanilla JS / TS

Core Engine
const layout = new StrelitLayout(config);
layout.loadLayout();

Pure DOM implementation with zero external dependencies and instant startup time.

React / Next.js

Portal Ready
<StrelitWorkspace theme="dark">
  <StrelitPanel id="editor" />
</StrelitWorkspace>

Declarative JSX integration keeping React Context and component state intact across drag boundaries.

Vue / Angular

Teleport
<Teleport to="virtual-rect">
  <MyVueComponent />
</Teleport>

First-class support for Vue Teleport and Angular ComponentPortal virtual bounding events.