Commit e717b11
committed
feat: Transform Editor toolbox plugin — PJ3 Custom Series port
Ports PlotJuggler 3's Custom Series / Function Editor as a data-only toolbox
plugin. The UI mirrors PJ3: a Single Function tab (drag-drop source, additional
sources with a primary-source radio in the first column, function body), a Batch
Functions tab, and a function library — an interactive browser sub-panel and
Import / Export of the library to a JSON file.
Data-only: the plugin never runs a script itself. On Save it hands the host a
self-describing Luau class (N inputs -> M outputs) via `pj.data_processors.v1`,
run live as a DerivedEngine node; the live preview is produced host-side too
(ephemeral transform + validate). There is no local Lua engine in the plugin.
Requires plotjuggler_sdk 0.14.0 — the data-processor script API, the interactive
sub-panel + table radio-column dialog additions (#136), and the save-file picker
used by the library Export (#138). The extern/plotjuggler_core submodule is
pinned to an SDK build carrying both.
Contents:
- transform_editor_plugin.cpp — dialog + toolbox: drag-drop, primary-source radio,
function library browser, Import/Export, host-side preview, name-prompt +
overwrite on Save, createTransform on Save.
- transform_editor_dialog.ui — PJ3-style UI.
- manifest.json / CMakeLists.txt / conanfile.py — registration; SDK 0.14.0.
Pairs with the host side: PlotJuggler/PJ4#252.1 parent 82f1ed6 commit e717b11
8 files changed
Lines changed: 2426 additions & 2 deletions
File tree
- extern
- toolbox_transform_editor
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
Submodule plotjuggler_core updated 12 files
- CMakeLists.txt+1-1
- conanfile.py+2-2
- docs/dialog-sdk-reference.md+6-3
- pj_base/include/pj_base/plugin_data_api.h+22
- pj_base/include/pj_base/sdk/plugin_data_api.hpp+51
- pj_plugins/dialog_protocol/include/pj_plugins/host/widget_data_view.hpp+60
- pj_plugins/dialog_protocol/include/pj_plugins/host/widget_event_builder.hpp+7
- pj_plugins/dialog_protocol/include/pj_plugins/sdk/dialog_plugin_typed.hpp+9
- pj_plugins/dialog_protocol/include/pj_plugins/sdk/widget_data.hpp+62-1
- pj_plugins/dialog_protocol/include/pj_plugins/sdk/widget_event.hpp+5
- pj_plugins/docs/dialog-plugin-guide.md+23
- recipe.yaml+1-1
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
0 commit comments