Skip to content
cccskills
FreePublished on GitHub

jsfx-subset

Work in Pulp's bounded JSFX lane using source-only examples, subset validation, and explicit exclusions like no `@gfx`.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md2.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

JSFX Bounded Subset

Use this skill when a task involves Pulp's current JSFX support lane.

Truthful Position

Pulp supports a bounded audio-focused JSFX authoring lane, not full REAPER parity.

Supported now:

  • .jsfx source files
  • subset validation for @init, @slider, @block, @sample
  • slider declarations slider1..slider64
  • source-only examples that stay inside that subset

Not supported by this skill:

  • @gfx
  • file I/O
  • silent compatibility assumptions with REAPER
  • a shipped JSFX runtime/engine in Pulp core

Core Files

  • docs/guides/jsfx.md
  • tools/scripts/jsfx_subset.py
  • examples/jsfx-gain/
  • examples/jsfx-tremolo/
  • examples/jsfx-delay/

Recommended Workflow

1. Validate the file first

python3 tools/scripts/jsfx_subset.py doctor \
  --file examples/jsfx-gain/PulpJsfxGain.jsfx

Use --json when another tool or script needs structured output.

2. Stay inside the bounded subset

Allowed sections today:

  • @init
  • @slider
  • @block
  • @sample

If a file uses @gfx or another unsupported section, treat that as an explicit out-of-scope failure, not a bug in the validator.

3. Keep docs truthful

When updating this lane, keep these in sync:

  • docs/guides/jsfx.md
  • docs/reference/capabilities.md
  • docs/guides/examples.md
  • planning/v3-phase14-gap-closure-status.md

What To Check

For the current JSFX lane, verify:

  • desc: exists
  • slider declarations are sane and unique
  • unsupported sections fail clearly
  • docs do not imply full REAPER JSFX compatibility or a shipped runtime

Gotchas

  • Section directives can carry trailing arguments. REAPER documents @gfx WIDTH HEIGHT as the standard form for declaring the preferred plugin window size. Any future regex change to SECTION_PATTERN in tools/scripts/jsfx_subset.py must keep matching the @name <args> shape — anchoring to end-of-line silently lets @gfx 200 200 slip past the bounded-subset check (the exact bug the 2026-05-26 follow-up fixed). Regression coverage lives in tools/scripts/test_jsfx_subset.py::test_doctor_rejects_gfx_section_with_size_directive.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

aax

Free

Optional AAX support for Pulp, including developer-supplied Avid SDK setup, CMake enablement, DigiShell/AAX Validator workflows, and local AAX builds on macOS or Windows.

The English summary is being prepared. Showing the original description.

Generous-Corp/pulp22Updated Oct 19, 2026

Configure, implement, and test Pulp's optional desktop Ableton Link tempo-sync adapter while preserving the developer-supplied SDK, licensing, realtime, latency-compensation, and no-install boundaries.

The English summary is being prepared. Showing the original description.

Generous-Corp/pulp22Updated Oct 19, 2026

Maintain Pulp's installed design-time agent capability manifest and public-surface ledger. Use when adding, removing, renaming, or materially changing public audio, MIDI, signal, timebase, or sequence APIs; registering a new algorithm for generators; changing capability support or deprecation state; or repairing agent-capabilities freshness, schema, fingerprint, tombstone, or installed-SDK tests.

The English summary is being prepared. Showing the original description.

Generous-Corp/pulp22Updated Oct 19, 2026

Android platform development for Pulp — NDK cross-compilation, Oboe audio, Dawn/Skia GPU rendering, JNI bridge, touch interaction, emulator workflows, and end-to-end smoke validation. Covers build, deploy, debug, and the gotchas discovered during bringup.

The English summary is being prepared. Showing the original description.

Generous-Corp/pulp22Updated Oct 19, 2026

ara

Free

Optional ARA support for Pulp, including developer-supplied ARA SDK setup, CMake enablement, adapter companion APIs, validation, and ARA-aware plugin implementation guidance.

The English summary is being prepared. Showing the original description.

Generous-Corp/pulp22Updated Oct 19, 2026

The measurement surface for ALL Pulp DSP and audio-pipeline work — read it BEFORE writing or gating DSP, not only when something already sounds wrong. Covers the C++ harness (signal generators, metrics, assertions, RenderScenario, contracts), the offline Audio Doctor (magnitude/frequency response, THD/THD+N, phase/group delay), and their Python sibling the Audio Quality Lab (tools/audio/quality-lab — null residual + alignment, LTAS log-spectral distance, spectral flux/centroid, HNR, Theil-Sen drift slope, Kaiser-sinc resampling, license-guarded corpus, regression-net ratchet). TRIGGER on AUTHORING work — "build/design an oscillator/filter/synth/effect", "add a DSP module", "what should the acceptance gate be", "how do I measure aliasing / anti-aliasing / alias floor", "null against a reference", "is this DSP correct", "choose a tolerance", "golden/regression corpus for audio", "measure drift or jitter", "A/B two renders" — AND on DEBUGGING work — "is there sound / no audio / I hear nothing", "does this filter/compressor/synth/delay produce the right signal", "prove the DSP / prove the contract", "measure the frequency response", "what's the THD / is it distorting", "what's the group delay / phase response / measured latency", "magnitude response curve", "render a test tone and assert", "audio regression", "64-frame works but 128 is silent", "sample-rate change pitch-shifted it", "describe what's in this buffer", "audio doctor", "compare before/after a DSP refactor". Reach for this BEFORE hand-rolling any FFT, null test, alias measurement, pitch tracker, or golden-render script — most of it already exists in one of the two lanes. Test/tool layer over HeadlessHost — deterministic, no audio device, no speakers. Off the realtime thread entirely.

The English summary is being prepared. Showing the original description.

Generous-Corp/pulp22Updated Oct 19, 2026

See all skills by Generous-Corp

Report a problem with this skill