Tresjs / leches

🍰 Tasty GUI for Vue controls
https://tresleches.tresjs.org/
MIT License
28 stars 5 forks source link

Leches shares `useControls`; can't have multiple, distinct instances #98

Open andretchen0 opened 6 months ago

andretchen0 commented 6 months ago

Bug description

All controls created using useControls are added to all instances of <TresLeches /> even if they're in separate files.

Expected behavior

Allow multiple, separate instances of Leches. Don't share state across multiple, separate files.

Reproduction

StackBlitz

Solution?

Maybe create and return a unique controls instance from useControls that closes over the current controls state.

const controls = useControls({
  wireframe: false,
})

controls.useControls( /* ... add more controls to this instance */ )

Then use like

<TresLeches :controls="controls" />

Screenshot

Screenshot 2024-02-23 at 19 56 28

Context

We use Leches for Cientos' docs and often have multiple separate examples of functionality in a given docs page. But we can't have multiple Leches menus on a given page without running into this bug.