Tweakpane Versions Save

:control_knobs: Compact GUI for fine-tuning parameters and monitoring value changes

4.0.3

4 months ago
  • Added .off() to unlisten events (#579)
  • Added native to button click event (#542)
  • Improved checkbox behavior with unwanted text selection (#545)
  • And some minor improvements for the document

4.0.2

5 months ago
  • Fixed layout issue with transform: scale (#584, thanks @kitschpatrol)
  • Fixed invisible tab text (#583)

4.0.1

8 months ago
  • Fixed a bug that TabApi isn't refreshable (#570, #571)

4.0.0

9 months ago

Thank you for using Tweakpane. This is the 4th release of the major version!

Summary

  • Migrated to ES modules :package:
  • More consistent APIs :sparkles: : Easier to understand functionalities
  • Improved serialization structure :floppy_disk: : New importState() and exportState() can import/export more information
  • Improved blades specificity :unlock: : Now you can access min and max of the slider, options of the list, etc. without any workarounds.
  • Many other minor improvements and bug fixes :adhesive_bandage:

If you are currently using v3.x, migration guide can be useful for migration.

Breaking changes

  • Migrated to ES modules (#209)
    • Use <script type="module"> to use the package
  • Unified methods to add bindings (#486)
    • Use addBinding() to add input bindings (former addInput())
    • Use addBinding() with {readonly: true} to add monitor bindings (former addMonitor())
  • Changed a event name for monitor bindings
    • Use change event for handling monitor updates instead of update
  • Replaced a preset with a blade state
    • Use importState() and exportState() instead of importPreset() and exportPreset()
  • Changed an option name for changing visual height of monitors
    • lineCount -> rows
  • Changed a way to get a binding key in event handlers
    • Use TpChangeEvent.target.key instead of TpChangeEvent.key
  • Renamed classes
    • ListApi -> ListBindingApi
    • SliderApi -> SliderBladeApi
    • TextApi -> TextBladeApi
  • Renamed fields
    • SliderApi.maxValue -> SliderBladeApi.max
    • SliderApi.minValue -> SliderBladeApi.min

New features

  • Improved blades specificity. (#455)
    • Now you can access min and max of the slider, options of the list, etc. without any workarounds.
  • Importing/exporting all blades individually. (#509)
  • All container blades have refresh() and can be refreshed individually. (#510)
  • Added a shared config to point dimension params. (#417)
  • Added support for a custom formatter to point-nD inputs. (#511)
  • Added support for a custom key / pointer scale to number text inputs. (#471)

For plugin developers

Diff of `@tweakpane/plugin-template can be useful to know how to migrate your plugin to v4.

Breaking changes

  • Added core field to all types of plugins for checking compatibility. Use createPlugin() to fill the core version.
  • Added id field to the plugin bundle.
  • Moved css field from the plugin to the plugin bundle.
  • Changed the core style file for plugins
    • @import '../../node_modules/@tweakpane/core/lib/sass/plugin'; -> @use '../../node_modules/@tweakpane/core/lib/sass/tp';
  • Added a namespace and a prefix tp to mixins, functions, and variables
    • .#{$prefix}-some -> .#{tp.$prefix}-some
      • @extend %input -> @extend %tp-input

New features

  • Added a way to provide a custom API for binding controllers (#455)
    • InputBindingPlugin.api()
    • MonitorBindingPlugin.api()
  • Added more stable way to access internal CSS variables
    • var(--in-bg) -> tp.cssVar('input-bg')
    • Refer _defs.scss to see the list of variables
  • Added more stable way to access CSS modifiers
    • &.#{$prefix}-v-disabled -> &#{tp.$disabled}

4.0.0-beta.2

9 months ago
  • Refactored creating a plugin
  • Updated documents

4.0.0-beta.1

10 months ago

This is the first beta release for the next major version, v4. See the document for details, and the migration guide for upgrading from v3.

3.1.10

11 months ago
  • Fixed the list API for complex object (#547)

3.1.9

1 year ago
  • Fixed a hit area of inline color picker (#538)

3.1.8

1 year ago
  • Fixed a bug in class bindability detection (#536)

3.1.7

1 year ago
  • Fixed a bug that empty label isn't applied (#521)