This project is distributed under the MIT License. Copyright (c) 2024 Matthijs Keuper
This repository contains a small collection of experimental UI widgets built on top of Tweakpane. The code demonstrates how to integrate a property table, tree view, and a flexible split-pane container. A few HTML files in the root folder showcase these components in action.
No build step is required. Open any of the HTML files in a modern browser that supports ES6 modules:
example.html– a basic property table and split pane demosplitpane-demo.html– minimal split pane usageadvanced-splitpane-demo.html– complex layouts with presets
If your browser restricts module loading from the local file system, start a tiny HTTP server:
python3 -m http.serverThen navigate to http://localhost:8000 and open the desired demo file.
propertytable/– enhanced Tweakpane with context menus and syntax highlightingtreeview/– a lightweight hierarchical view componentsplitpane/– resizable panel container with layout helperstweakpane-addons/– placeholder directory for packagingtweakpanemultitool_pending_deletion/– legacy experiments
See splitpane/README.md for an in‑depth guide to the split pane module.
import { PropertyTable } from './propertytable/propertytable.js';
import { TreeView } from './treeview/treeview.js';
import { SplitPane } from './splitpane/splitpane.js';
// create a horizontal split pane
const layout = new SplitPane({
container: document.getElementById('root'),
orientation: 'horizontal',
splitRatio: 0.3,
});
// left panel with a tree view
new TreeView({
container: layout.getPanel(1),
data: [{ label: 'Item 1' }, { label: 'Item 2' }],
});
// right panel with a property table
new PropertyTable({
container: layout.getPanel(2),
title: 'Properties',
expanded: true,
});The code in this repository follows the same licensing terms as Tweakpane. See the individual file headers for details.