Skip to content

feat(sdk): data-processors script API — ephemeral preview, language-aware validation, dashed series#134

Merged
facontidavide merged 1 commit into
mainfrom
feat/data-processors-script-api
Jun 24, 2026
Merged

feat(sdk): data-processors script API — ephemeral preview, language-aware validation, dashed series#134
facontidavide merged 1 commit into
mainfrom
feat/data-processors-script-api

Conversation

@pabloinigoblasco

Copy link
Copy Markdown
Collaborator

Summary

Additive script API for data-processors, plus a couple of preview-styling helpers. MINOR bump (0.11.0 → 0.12.0): new vtable slots are tail-appended with struct_size guards, existing signatures and baseline.abi are unchanged, so plugins built against an older SDK keep working without recompiling.

What it adds

  • create_data_processor_ephemeral — create a real but temporary transform node (excluded from layout persistence) for a live preview; torn down via the normal remove path on cancel. Unlike a normal createTransform, it never ends up in a saved layout, so an editor preview leaves no trace.
  • validate_data_processor_script(language, script) — compile a script and report errors for the editor's status indicator. The language is a parameter ("luau" today; "python" / "wasm" reserved), so a future backend needs no signature change.
  • ChartSeries.dashed + setChartAutoZoom — dashed "ghost" curve for the original series in a preview, and autozoom control.

Compatibility

  • New slots tail-appended; struct_size-guarded on both host and plugin sides (an old host returns an error instead of jumping to a missing slot).
  • PJ_ABI_VERSION / protocol version unchanged; abi/baseline.abi untouched (additions only).

@pabloinigoblasco pabloinigoblasco force-pushed the feat/data-processors-script-api branch 3 times, most recently from e746c7d to ca971af Compare June 24, 2026 18:09
…ware validation, dashed series

Additive (MINOR, 0.11.0 -> 0.12.0). Backward-compatible: new vtable slots are
tail-appended with struct_size guards; baseline.abi unchanged.

- create_data_processor_ephemeral — create a real but temporary transform node
  (excluded from layout persistence) for live preview; removed via the normal
  remove path on cancel.
- validate_data_processor_script(language, script) — compile a script and report
  errors for the editor's status indicator. Language-parameterized ("luau" today;
  "python"/"wasm" reserved) so a future backend needs no signature change.
- ChartSeries.dashed + setChartAutoZoom — dashed "ghost" preview curve + autozoom.
@pabloinigoblasco pabloinigoblasco force-pushed the feat/data-processors-script-api branch from ca971af to 2435ffb Compare June 24, 2026 18:13
@facontidavide facontidavide merged commit 3b19801 into main Jun 24, 2026
4 checks passed
@facontidavide facontidavide deleted the feat/data-processors-script-api branch June 24, 2026 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants