Skip to content

v1: layer scope toggle (all layers ↔ current layer) #17

Description

@gorlix

Context

v1 selects everything below the tapped line via PluginCommAPI.lassoElements(rect). On a multi-layer NOTE (layers 0–3) the native lasso is, in practice, scoped to the current layer. The product decision was to make this a toggle: select all layers vs current layer only.

Current behavior

Single lasso → current layer only (to be verified). No way to include other layers.

Goal

A user-facing toggle in the overlay: All layersCurrent layer. When "All layers" is on, everything below the line on every layer is selected/moved together so the inserted space stays visually coherent.

Approach / open questions

  • Verify on-device whether the SDK can lasso across layers at all. lassoElements may be inherently current-layer. If so, "all layers" likely requires the v2 per-element path (read getElements per layer, shift, write) rather than a single native lasso.
  • If native multi-layer lasso is not possible, document the limitation and gate the toggle.
  • i18n keys already scaffolded: layer.all, layer.current.

Acceptance criteria

  • Confirmed whether multi-layer native lasso is supported by the SDK (logcat evidence).
  • Toggle present in the overlay (en + it strings).
  • "Current layer" behaves as today; "All layers" includes layers 1–3 or is cleanly disabled if unsupported.

References

  • .claude/skills/supernote-plugin-dev/references/make-space.md §3
  • SKILL.md "Layer Restrictions"

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-device-testRequires validation on a Supernote devicev1Belongs to v1 scope

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions