Auto-pan on Drag
Categories:
Auto-pan on Drag scrolls the canvas for you while you drag a component toward the edge of the view. Without it, moving a component to a part of the design that is off screen takes a drag, a manual pan, and another drag. With it, one continuous drag carries the component there.
Auto-pan is off by default. You turn it on as a personal setting, and Kanvas still switches it off while a design is too large for the current render mode.
Behavior π
| Property | Value |
|---|---|
| Default | Off |
| Scope | Per user. The setting is stored in your Kanvas preferences on the server and follows you across browsers and devices. It is not stored in the design and is not shared with collaborators. |
| Trigger | Dragging a component to within 50 pixels of the edge of the visible canvas. |
| Pan speed | Fixed. It is not configurable. |
| Acts on | Component drags. |
| Applies in | Designer. The setting is listed with the Designer canvas settings in the Options dialog. |
| Takes effect | Immediately. Changing the setting needs no reload and no reopened design. |
Check where the component lands
Auto-pan ships off because, while it is on, panning during a drag can move the dragged component lower than you intended. Review the final position after a long drag, and turn the setting off if components drift. Undo (Ctrl/Cmd + Z) restores the previous position.When Kanvas turns it off π
Every pan moves the whole canvas, and every layer that depends on the viewport redraws with it: the grid, badges, overlays and the drawing surface. The work grows with the number of components and relationships, so auto-pan on a large design makes dragging lag instead of helping it.
Kanvas therefore allows auto-pan only while both the number of components and the number of relationships drawn on the canvas are at or below a limit set by the render mode:
| Render mode | Auto-pan limit (components and relationships) |
|---|---|
| Full | 100 |
| Medium | 500 |
| Wireframe | 1,000 |
| View-only | 1,000 |
The limit rises as the mode draws less, because fewer layers redraw on each pan.
Auto-pan runs only when your setting is on and the design is within the limit for the current mode. Kanvas re-checks this continuously:
- The design grows past the limit. Pasting a large group, importing a fragment, or receiving a collaborator’s bulk change turns auto-pan off. Kanvas checks once per animation frame, so a burst of changes causes one decision, not many.
- The design shrinks under the limit. Deleting components turns auto-pan back on.
- You change the render mode. Moving from Full to Wireframe raises the limit from 100 to 1,000, so a design that blocked auto-pan in Full can allow it in Wireframe.
- You change the setting. The change applies at once.
Nothing on the canvas shows that auto-pan has been turned off by size. If it is on in your settings but does not scroll at the edge, count the components and relationships against the table for your current mode.
Regain auto-pan on a large design π
- Switch to a lower-fidelity render mode. Wireframe and View-only allow 1,000.
- Reduce what draws. Hiding layers in the Layers panel takes their components and relationships off the canvas, which lowers the counts Kanvas compares against the limit. Deleting components does the same.
- Split the design. A design that regularly passes the limit of the mode you prefer is a candidate for several smaller designs.
Known discrepancies π
- The setting’s description in the Options dialog says auto-pan is disabled “outside Full render mode”. Kanvas does not behave that way: it allows auto-pan in Medium, Wireframe and View-only within the limits above.
Related Reading
Recent Discussions on Kanvas
- Jul 12 | Unleash Visual Power: Import Your Configs by zihan kuang
- Oct 14 | Explore Meshery's Published Relationship Design Examples by Awani Alero
- Oct 03 | Design Review RFC: Kanvas Empty State Enhancement by Lee Calcote
- Jul 19 | [For Discussion] Visual indication of semantically vs non-semantically meaningful Meshery components by Lee Calcote
- Jun 07 | What are the conditions for a "System is unhealthy" warning? by James
- May 30 | Looking for a meshmate to help with first PR by Faisal Imtiyaz123
- Feb 28 | For Discussion: Capturing potential, but unrealized Relationships in Design Snapshots by Lee Calcote
- Feb 12 | Hint on Scaling & Verifying Cronjob in Playground by Sandra Ashipala





