Skip to content

feat: add Adaptive Dial action with shared PI function-picker helpers#6

Open
ROBdk97 wants to merge 1 commit intoJarex985:mainfrom
ROBdk97:feat/adaptive-dial-support
Open

feat: add Adaptive Dial action with shared PI function-picker helpers#6
ROBdk97 wants to merge 1 commit intoJarex985:mainfrom
ROBdk97:feat/adaptive-dial-support

Conversation

@ROBdk97
Copy link
Copy Markdown

@ROBdk97 ROBdk97 commented Mar 16, 2026

  • Added new Stream Deck+ Adaptive Dial action with separate assignments for rotate-left, rotate-right, and push input.
  • Implemented dial action backend with dedicated dial base/action settings:
    • AdaptiveDial execution flow for rotation ticks and press/release handling
    • SCDialActionBase for shared dial initialization, PI updates, and setting migration
    • DialSettings schema for dial slot bindings and click sound path
  • Updated manifest.json:
    • Registered Adaptive Dial with Encoder controller metadata
    • Added explicit Controllers declarations for existing key actions
    • Bumped plugin version to 1.2.0.0
  • Added Property Inspector support for dials:
    • New Dials/AdaptiveDial.html
    • New dial PI script (pi-dial-action.js) and source (js/src/pi-dial-action.js)
    • Moved shared function picker logic into js/src/sc-common.js and reused from key/dial PI scripts
    • Regenerated PI bundled assets (sc-components.js, pi-function-key.js, pi-dial-action.js, base.css)
  • Improved PI maintainability and UX behavior:
    • Centralized function flattening/details rendering helpers
    • Restored documentation comments/TODOs for unsupported axis filtering and details rendering semantics
    • Scoped dial details visibility rules to avoid cross-impact with key PIs
  • Expanded tests with AdaptiveDialTests for rotation resolution, executable binding selection, and settings serialization behavior.
  • Updated docs and release notes:
    • README.md, index.md, usage.md (including Adaptive Dial image)
    • CHANGELOG.md entry for v1.2.0.0 including feature and internal refactor notes.
adaptive-dial

- Added new Stream Deck+ `Adaptive Dial` action with separate assignments for rotate-left, rotate-right, and push input.
- Implemented dial action backend with dedicated dial base/action settings:
  - `AdaptiveDial` execution flow for rotation ticks and press/release handling
  - `SCDialActionBase` for shared dial initialization, PI updates, and setting migration
  - `DialSettings` schema for dial slot bindings and click sound path
- Updated `manifest.json`:
  - Registered `Adaptive Dial` with `Encoder` controller metadata
  - Added explicit `Controllers` declarations for existing key actions
  - Bumped plugin version to `1.2.0.0`
- Added Property Inspector support for dials:
  - New `Dials/AdaptiveDial.html`
  - New dial PI script (`pi-dial-action.js`) and source (`js/src/pi-dial-action.js`)
  - Moved shared function picker logic into `js/src/sc-common.js` and reused from key/dial PI scripts
  - Regenerated PI bundled assets (`sc-components.js`, pi-function-key.js, `pi-dial-action.js`, `base.css`)
- Improved PI maintainability and UX behavior:
  - Centralized function flattening/details rendering helpers
  - Restored documentation comments/TODOs for unsupported axis filtering and details rendering semantics
  - Scoped dial details visibility rules to avoid cross-impact with key PIs
- Expanded tests with `AdaptiveDialTests` for rotation resolution, executable binding selection, and settings serialization behavior.
- Updated docs and release notes:
  - README.md, index.md, usage.md (including Adaptive Dial image)
  - CHANGELOG.md entry for `v1.2.0.0` including feature and internal refactor notes.
@ROBdk97 ROBdk97 mentioned this pull request Mar 16, 2026
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.

1 participant