seasick / openscad-web-gui

Web GUI for OpenSCAD, using OpenSCAD WASM
https://seasick.github.io/openscad-web-gui/
GNU General Public License v3.0
44 stars 5 forks source link

Add configurable access/display to workbench features #46

Open HumbleDeer opened 6 months ago

HumbleDeer commented 6 months ago

Is your feature request related to a problem? Please describe.

Having the ability to restrict which features or elements of the workbench are available to users could expand the possible uses of this software package.

Usage scenario: A creator has a modifiable SCAD file that they'd like to publish with editable variables and export capability. However, they don't want to have the interface cluttered with options to load files from elsewhere, open libraries, choose fonts, and whatnot else not relevant to their model.

Describe the solution you'd like

A possible solution could be adding configurability or a configurable mode. A configurable mode could present itself as "Restricted mode" or "Single mode", or something similar that would let the user hosting the app choose what options users of the editor have access to.

Ideas for this:

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Add any other context or screenshots about the feature request here.

HumbleDeer commented 6 months ago

Inspiration & notes

What I currently had in mind, was to provide a mode that would boil things down to a set of features as simple as what this project provides: https://vector76.github.io/Web_OpenSCAD_Customizer/

This would of course be framed within the context of the seasick/openscad-web-gui editor and workbench.

seasick commented 5 months ago

Hi @HumbleDeer, thanks for creating this issue and your interest in my project :)

What I'd like to avoid is to parse the scad file for tool-specific instructions. That being said, what do you think of having the ability to switch of certain features when creating an import/share link. Parameters in the URL would control which features should be hidden.

A quick mockup of what it could look like:

image

Would something like this fit your needs?