Background
A few rendering preferences currently cannot be set by a host application without changing the engine: showing or hiding association names and multiplicities, a compact icon view, and similar view-only choices. The BESSER team needed these and added a settings service inside their fork of the engine, wired through the shared rendering components. That is a lot of internal surgery for what is really a set of configuration flags.
Proposal
Extend the options passed when configuring the editor with a small, named set of view-only toggles, for example:
- show/hide association labels
- show/hide multiplicities
- compact (icon) view for classifiers
These are display settings, not model edits. Toggling one should repaint the canvas without mutating the diagram or clearing undo history. (The BESSER fork handled this part well: it repaints without forcing a full editor reinit.)
Why this is worth doing
- Useful to us directly. Artemis assessment views may want to show or hide detail.
- Small, bounded surface.
- Removes one concrete reason an integrator would fork.
Scope guard
Keep the first version to a deliberately small, explicit list of toggles. This should not grow into a general theming or rendering plugin surface. That is a separate, larger conversation (see the integration-target discussion).
Background
A few rendering preferences currently cannot be set by a host application without changing the engine: showing or hiding association names and multiplicities, a compact icon view, and similar view-only choices. The BESSER team needed these and added a settings service inside their fork of the engine, wired through the shared rendering components. That is a lot of internal surgery for what is really a set of configuration flags.
Proposal
Extend the options passed when configuring the editor with a small, named set of view-only toggles, for example:
These are display settings, not model edits. Toggling one should repaint the canvas without mutating the diagram or clearing undo history. (The BESSER fork handled this part well: it repaints without forcing a full editor reinit.)
Why this is worth doing
Scope guard
Keep the first version to a deliberately small, explicit list of toggles. This should not grow into a general theming or rendering plugin surface. That is a separate, larger conversation (see the integration-target discussion).