- Add '批量添加到画布' panel in the right-side assets panel, with
全选可添加 toggle and '添加到画布 (N)' action button.
- Add per-card '加画布 / 已选' toggle button (left of download icon),
visible when task.status is success. Selected cards show yellow ring.
- Wire selectedAddTaskIds Set state, addableTasks/selectedAddTasks memos,
handleToggleAddSelection / handleSelectAllForAdd / handleBatchImportToCanvas
handlers, and a useEffect to prune stale selections when visible
history changes.
- handleBatchImportToCanvas calls addNodesBulk (added in 3ca5859) which
loops addNode and reuses its ring-scan auto-overlap logic, so multiple
world3d/model3d nodes land at distinct canvas positions instead of
stacking on the viewport center.
- Add '批量添加到画布' panel in the right-side assets panel, with
全选可添加 toggle and '添加到画布 (N)' action button.
- Add per-card '加画布 / 已选' toggle button (right-of-download icon),
visible when task.status is success. Selected cards show yellow ring.
- Wire selectedAddTaskIds Set state, addableTasks/selectedAddTasks memos,
handleToggleAddSelection / handleSelectAllForAdd / handleBatchImportToCanvas
handlers, and a useEffect to prune stale selections when the visible
history changes.
- handleBatchImportToCanvas calls addNodesBulk (added in store commit)
which loops addNode and reuses its ring-scan auto-overlap logic, so
multiple world3d/model3d nodes land at distinct canvas positions instead
of stacking on the viewport center.
- Extend canvas store addNode's auto-overlap avoidance (ring-scan) to all
node types, not just 'image'. Previously, repeated import-to-canvas for
world3d/model3d nodes stacked them on the same viewport center
coordinate, making them appear locked and impossible to drag apart.
- Add addNodesBulk helper that loops addNode and reuses its avoidance
logic, suitable for batch-importing multiple history records.
- Wire selectedAddTaskIds state, addableTasks/selectedAddTasks memos,
toggle/selectAll handlers, and prepare handleBatchImportToCanvas in
the3D canvas page so future UI can hand off bulk import to the store.