Artboards: the options icon and the panel menu open Artboard Options

In the Artboards panel, a click or a double-click on a row's options
icon (the page at the right end of the row) chose the Artboard tool on
that row's artboard and opened no dialog. The panel menu's Artboard
Options… also only chose the Artboard tool.

A click on the active artboard's icon, or a double-click on another
row's icon, now opens Artboard Options for that row's artboard. The
first click on another row's icon makes its artboard active, as a
click on the row does. The panel menu's Artboard Options… opens the
dialog for the active artboard. Both run tool.options with tool
"artboard", as a double-click on the Artboard tool's button does, and
they no longer choose the Artboard tool. The icon's tooltip is now
Artboard Options, and the old tooltip's row is removed from the 15
catalogs.

Opened with another tool, Artboard Options did not move the art with a
new X or Y. It now moves the art when the Artboard tool's Move Artwork
with Artboard option is on, as it does while that tool is in use.

Docs: docs/target-app-parity.md.
This commit is contained in:
dotCooCoo
2026-10-16 04:04:51 +07:00
committed by bflatastic
parent 4440463315
commit f14fbded0e
19 changed files with 127 additions and 28 deletions
@@ -1,5 +1,5 @@
//! Artboard Options (double-click with the Artboard tool, or double-click the tool): the
//! artboard's fields, sizes parsed with units.
//! Artboard Options (double-click with the Artboard tool, double-click the tool, or the Artboards
//! panel's options icon or menu): the artboard's fields, sizes parsed with units.
use serde_json::{Value, json};
+22
View File
@@ -884,6 +884,28 @@ fn artboard_options_position_moves_art_only_with_the_tool_option_on() {
}
}
/// Opened while another tool is in use, as the Artboards panel opens it (#1876), Artboard Options
/// moves the art with a new X only when the Artboard tool's Move Artwork with Artboard option is
/// on.
#[test]
fn artboard_options_position_follows_the_tool_option_with_another_tool() {
for move_art in [false, true] {
let mut app = app();
let id = app.run("shape.rectangle", json!({"x": 10, "y": 20, "width": 30, "height": 40})).unwrap()["id"].as_u64().unwrap();
app.run("tool.setOption", json!({"tool": "artboard", "key": "moveArt", "value": move_art})).unwrap();
app.run("tool.options", json!({"tool": "artboard"})).unwrap();
assert_ne!(app.session.tool_id(), "artboard");
app.ui.dialog.as_mut().unwrap().fields.insert("x".into(), json!(50));
frame(&mut app, Default::default());
super::confirm(&mut app).unwrap();
assert_eq!(app.session.doc().unwrap().doc.artboards[0].rect.x0, 50.0);
assert_eq!(
app.session.doc().unwrap().doc.node(vectorcraft_doc::NodeId(id)).unwrap().geometric_bounds().unwrap().x0,
if move_art { 60.0 } else { 10.0 }
);
}
}
/// Zig Zag's dialog has Size and Ridges per segment sliders, and Relative / Absolute and Smooth /
/// Corner as radio buttons, not dropdowns (#1133).
#[test]
-1
View File
@@ -1280,7 +1280,6 @@ lighting Light Světlo
Rectangle: Sunshine Obdélník: Sluneční svit
Redefine Graphic Style “{name}” Předefinovat grafický styl „{name}“
Show Thumbnail Zobrazit miniaturu
Artboard Options: edit with the Artboard tool Možnosti pracovní plochy: upravte nástrojem Pracovní plocha
Delete Artboards Odstranit pracovní plochy
Delete Empty Artboards Odstranit prázdné pracovní plochy
Duplicate Artboards Duplikovat pracovní plochy
Can't render this file because it contains an unexpected character in line 2 and column 73.
-1
View File
@@ -204,7 +204,6 @@
Art Bild
Art using a deleted global swatch keeps its colour. Grafiken, die ein gelöschtes globales Farbfeld verwenden, behalten ihre Farbe.
Artboard Options Zeichenflächenoptionen
Artboard Options: edit with the Artboard tool Zeichenflächenoptionen: mit dem Zeichenflächen-Werkzeug bearbeiten
Artboard Options… Zeichenflächenoptionen…
Artboard Tool Zeichenflächen-Werkzeug
Artboard {number} Zeichenfläche {number}
Can't render this file because it contains an unexpected character in line 2 and column 73.
-1
View File
@@ -222,7 +222,6 @@
Art Ilustración
Art using a deleted global swatch keeps its colour. La ilustración que usa una muestra global eliminada conserva su color.
Artboard Options Opciones de mesa de trabajo
Artboard Options: edit with the Artboard tool Opciones de mesa de trabajo: edita con la herramienta Mesa de trabajo
Artboard Options… Opciones de mesa de trabajo…
Artboard Tool Herramienta Mesa de trabajo
Artboard {number} Mesa de trabajo {number}
Can't render this file because it contains an unexpected character in line 2 and column 73.
-1
View File
@@ -223,7 +223,6 @@
Art Illustration
Art using a deleted global swatch keeps its colour. L’illustration qui utilise une nuance globale supprimée conserve sa couleur.
Artboard Options Options du plan de travail
Artboard Options: edit with the Artboard tool Options du plan de travail : modifier avec l’outil Plan de travail
Artboard Options… Options du plan de travail…
Artboard Tool Outil Plan de travail
Artboard {number} Plan de travail {number}
Can't render this file because it contains an unexpected character in line 2 and column 73.
-1
View File
@@ -327,7 +327,6 @@
Art using a deleted global swatch keeps its colour. A törölt globális színmintát használó grafika megtartja a színét.
Artboard Rajztábla
Artboard Options Rajztábla beállításai
Artboard Options: edit with the Artboard tool Rajztábla beállításai: szerkesztés a Rajztábla eszközzel
Artboard Options… Rajztábla beállításai…
Artboard Tool Rajztábla
Artboard {number} Rajztábla {number}
Can't render this file because it contains an unexpected character in line 2 and column 73.
-1
View File
@@ -222,7 +222,6 @@
Art Grafica
Art using a deleted global swatch keeps its colour. La grafica che usa un campione globale eliminato mantiene il suo colore.
Artboard Options Opzioni tavola da disegno
Artboard Options: edit with the Artboard tool Opzioni tavola da disegno: modifica con lo strumento Tavola da disegno
Artboard Options… Opzioni tavola da disegno…
Artboard Tool Strumento Tavola da disegno
Artboard {number} Tavola da disegno {number}
Can't render this file because it contains an unexpected character in line 2 and column 73.
-1
View File
@@ -860,7 +860,6 @@
Art using a deleted global swatch keeps its colour. 削除したグローバルスウォッチを使っているアートは、そのカラーを保持します。
ArtCraft website ArtCraft の Web サイト
Artboard Options アートボードオプション
Artboard Options: edit with the Artboard tool アートボードオプション: アートボードツールで編集
Artboard Options… アートボードオプション…
Artboard Tool アートボードツール
Artboard {number} アートボード {number}
Can't render this file because it contains an unexpected character in line 2 and column 73.
-1
View File
@@ -855,7 +855,6 @@
Art using a deleted global swatch keeps its colour. 삭제된 글로벌 견본을 사용한 아트워크는 색상을 유지합니다.
ArtCraft website ArtCraft 웹사이트
Artboard Options 아트보드 옵션
Artboard Options: edit with the Artboard tool 아트보드 옵션: 아트보드 도구로 편집
Artboard Options… 아트보드 옵션…
Artboard Tool 아트보드 도구
Artboard {number} 아트보드 {number}
Can't render this file because it contains an unexpected character in line 2 and column 73.
-1
View File
@@ -1193,7 +1193,6 @@ lighting Light Światło
Rectangle: Sunshine Prostokąt: Słońce
Redefine Graphic Style “{name}” Zdefiniuj ponownie styl graficzny „{name}”
Show Thumbnail Pokaż miniaturę
Artboard Options: edit with the Artboard tool Opcje obszaru kompozycji: edytuj narzędziem Obszar kompozycji
Delete Artboards Usuń obszary kompozycji
Delete Empty Artboards Usuń puste obszary kompozycji
Duplicate Artboards Powiel obszary kompozycji
Can't render this file because it contains an unexpected character in line 2 and column 73.
-1
View File
@@ -228,7 +228,6 @@
ArtCraft Website Site do ArtCraft
ArtCraft website Site do ArtCraft
Artboard Options Opções de Mesa de Trabalho
Artboard Options: edit with the Artboard tool Opções de Mesa de Trabalho: edite com a ferramenta Mesa de Trabalho
Artboard Options… Opções de Mesa de Trabalho…
Artboard Tool Ferramenta Mesa de Trabalho
Artboard {number} Mesa de Trabalho {number}
Can't render this file because it contains an unexpected character in line 6 and column 47.
-1
View File
@@ -220,7 +220,6 @@
Art Рисунок
Art using a deleted global swatch keeps its colour. Рисунок с удалённым глобальным образцом сохраняет свой цвет.
Artboard Options Параметры монтажной области
Artboard Options: edit with the Artboard tool Параметры монтажной области: редактируются инструментом «Монтажная область»
Artboard Options… Параметры монтажной области…
Artboard Tool Инструмент «Монтажная область»
Artboard {number} Монтажная область {number}
Can't render this file because it contains an unexpected character in line 2 and column 73.
-1
View File
@@ -216,7 +216,6 @@
Art Малюнок
Art using a deleted global swatch keeps its colour. Графіка з видаленим глобальним зразком зберігає свій колір.
Artboard Options Параметри монтажної області
Artboard Options: edit with the Artboard tool Параметри монтажної області: редагуються інструментом «Монтажна область»
Artboard Options… Параметри монтажної області…
Artboard Tool Інструмент «Монтажна область»
Artboard {number} Монтажна область {number}
1 # Ukrainian (uk) catalog. Same format as zh-hant.tsv: context <TAB> source <TAB> translation.
216
217
218
219
220
221
-1
View File
@@ -256,7 +256,6 @@
Art using a deleted global swatch keeps its colour. Tác phẩm dùng mẫu màu toàn cục đã xóa vẫn giữ màu của nó.
Artboard Bảng vẽ
Artboard Options Tùy chọn bảng vẽ
Artboard Options: edit with the Artboard tool Tùy chọn bảng vẽ: chỉnh sửa bằng Công cụ Bảng vẽ
Artboard Options… Tùy chọn bảng vẽ…
Artboard Tool Công cụ Bảng vẽ
Artboard {number} Bảng vẽ {number}
1 # Vietnamese (vi) catalog. Same format as zh-hant.tsv: context <TAB> source <TAB> translation
256
257
258
259
260
261
-1
View File
@@ -180,7 +180,6 @@
Art 图稿
Art using a deleted global swatch keeps its colour. 使用已删除全局色板的图稿会保留其颜色。
Artboard Options 画板选项
Artboard Options: edit with the Artboard tool 画板选项:使用画板工具编辑
Artboard Options… 画板选项…
Artboard Tool 画板工具
Artboard {number} 画板 {number}
Can't render this file because it contains an unexpected character in line 2 and column 73.
-1
View File
@@ -191,7 +191,6 @@
Art 圖稿
Art using a deleted global swatch keeps its colour. 使用已刪除整體色票的圖稿會保留其顏色。
Artboard Options 工作區域選項
Artboard Options: edit with the Artboard tool 工作區域選項:請使用工作區域工具編輯
Artboard Options… 工作區域選項…
Artboard Tool 工作區域工具
Artboard {number} 工作區域 {number}
Can't render this file because it contains an unexpected character in line 6 and column 47.
+101 -11
View File
@@ -2,7 +2,8 @@
//! delete; a row dragged onto New Artboard duplicates its artboard (as Duplicate Artboards does, with
//! its art when the Artboard tool's Move/Copy Artwork with Artboard is on). The highlighted row is the active artboard, the one the status bar's navigator shows and
//! Fit Artboard in Window fits: clicking a row makes it active, double-clicking its number also
//! fits it in the window.
//! fits it in the window. The options icon at a row's right end opens Artboard Options: a click on
//! the active artboard's icon, or a double-click on another row's icon.
use egui::{Sense, Ui, pos2, vec2};
use serde_json::{Value, json};
@@ -30,9 +31,10 @@ pub(crate) fn scale_art(app: &VectorcraftApp) -> bool {
app.session.tool_id() == "artboard" && app.session.tool_options()["scaleArt"].as_bool().unwrap_or(false)
}
/// Whether position edits take their art along, matching the Artboard tool's move option.
/// Whether position edits take their art along, matching the Artboard tool's move option. The tool
/// keeps the option while another tool is in use, as when this panel opens Artboard Options.
pub(crate) fn move_art(app: &VectorcraftApp) -> bool {
app.session.tool_id() == "artboard" && app.session.tool_options()["moveArt"].as_bool().unwrap_or(true)
app.session.tool_options_of("artboard")["moveArt"].as_bool().unwrap_or(true)
}
/// The active artboard (of `n`).
@@ -170,9 +172,14 @@ pub fn show(app: &mut VectorcraftApp, ui: &mut Ui) {
let opt = egui::Rect::from_center_size(r.right_center() - vec2(14.0, 0.0), vec2(14.0, 14.0));
let oresp = ui.interact(opt, ui.id().with(("ab-opt", i)), Sense::click());
icons::paint(ui, "dc-artboard-options", opt, if oresp.hovered() { t.text_strong } else { t.icon });
if oresp.on_hover_text(tl!("Artboard Options: edit with the Artboard tool")).clicked() {
app.select_tool("artboard");
let oresp = oresp.on_hover_text(tl!("Artboard Options"));
// A click on the active artboard's icon opens its Artboard Options. A click on
// another row's icon makes that artboard active, so a double-click opens its options.
if oresp.clicked() {
select(app, i);
if i == sel || oresp.double_clicked() {
app.run("tool.options", json!({ "tool": "artboard" })).ok();
}
}
let several = ui.input(|inp| inp.modifiers.shift || inp.modifiers.command);
if resp.clicked() && several && app.session.tool_id() == "artboard" {
@@ -246,7 +253,7 @@ pub fn menu(app: &mut VectorcraftApp, ui: &mut Ui) {
ui.separator();
menu_item(ui, tl!("Convert to Artboards"), false, false);
if menu_item(ui, tl!("Artboard Options…"), n > 0, false) {
app.select_tool("artboard");
app.run("tool.options", json!({ "tool": "artboard" })).ok();
}
if menu_item(ui, tl!("Rearrange All Artboards…"), n > 1, false) {
open_rearrange(app);
@@ -376,9 +383,9 @@ mod tests {
assert_eq!(picked(&app, 3), [0]);
}
/// Double-clicking a row's number goes to its artboard and its name renames it; a row's
/// Options button edits that artboard with the Artboard tool, and the tool's artboard is the
/// active one.
/// Double-clicking a row's number goes to its artboard and its name renames it; a click on
/// another row's options icon makes that artboard the active one, and the Artboard tool's
/// artboard is the active one.
#[test]
fn double_clicks_go_to_or_rename_and_options_edits_the_rows_artboard() {
let mut app = VectorcraftApp::new(Session::new(), Default::default());
@@ -422,9 +429,10 @@ mod tests {
assert_eq!(pstate::<Option<usize>>(&ctx, "ab-edit"), Some(1));
set_pstate::<Option<usize>>(&ctx, "ab-edit", None);
frame(&mut app, 3.0, vec![]);
// Artboard 1's Options button: the Artboard tool, editing Artboard 1.
// A click on Artboard 1's options icon makes Artboard 1 active, and the Artboard tool,
// chosen next, starts on it.
frame(&mut app, 4.0, events(egui::pos2(row.right() - 14.0, row.center().y), 1));
assert_eq!(app.session.tool_id(), "artboard");
app.select_tool("artboard");
assert_eq!((app.view().unwrap().artboard, app.session.tool_options()["active"].clone()), (0, json!(0)));
// While the Artboard tool is chosen, clicking a row moves the tool to that artboard too.
frame(&mut app, 5.0, events(name, 1));
@@ -437,6 +445,88 @@ mod tests {
assert_eq!((app.session.tool_options()["active"].clone(), selected(&app, 2)), (json!(0), 0));
}
/// A row's options icon opens Artboard Options for that row's artboard and leaves the tool as
/// it is (#1876): a click on the active artboard's icon, or a double-click on another row's
/// icon, whose first click only makes that artboard active. With the Artboard tool in use, the
/// tool moves to that artboard too.
#[test]
fn the_options_icon_opens_artboard_options_for_its_rows_artboard() {
let mut app = VectorcraftApp::new(Session::new(), Default::default());
app.session.execute("file.new", &json!({"width": 200, "height": 150})).unwrap();
app.session.execute("artboard.new", &json!({"x": 400, "y": 300, "width": 100, "height": 50})).unwrap();
app.view_mut().unwrap().artboard = 0;
let tool = app.session.tool_id().to_string();
let ctx = egui::Context::default();
let screen = Some(egui::Rect::from_min_size(egui::Pos2::ZERO, vec2(240.0, 400.0)));
let frame = |app: &mut VectorcraftApp, time: f64, events: Vec<egui::Event>| {
let mut out = ctx.run_ui(egui::RawInput { events, time: Some(time), screen_rect: screen, ..Default::default() }, |ui| show(app, ui));
out.textures_delta.clear();
out.shapes
};
// The highlighted row (Artboard 1's). The rows are 24 points apart, and each icon's
// center is 14 points in from the row's right end.
let row = frame(&mut app, 0.0, vec![])
.iter()
.find_map(|c| match &c.shape {
egui::Shape::Rect(r) if r.fill == Tokens::get(&ctx).row_selected => Some(r.rect),
_ => None,
})
.unwrap();
let icon = |k: f32| egui::pos2(row.right() - 14.0, row.center().y + 24.0 * k);
let events = |at: egui::Pos2, clicks: usize| {
let button =
|pressed| egui::Event::PointerButton { pos: at, button: egui::PointerButton::Primary, pressed, modifiers: Default::default() };
std::iter::once(egui::Event::PointerMoved(at)).chain((0..clicks).flat_map(|_| [button(true), button(false)])).collect::<Vec<_>>()
};
let opened = |app: &mut VectorcraftApp| app.ui.dialog.take().map(|d| (d.kind.clone(), d.f64("index", 9.0), d.f64("width", 0.0)));
// Artboard 2's icon: the first click makes it active, the second (a double-click) opens its
// options; no rename starts.
frame(&mut app, 1.0, events(icon(1.0), 1));
assert_eq!((app.view().unwrap().artboard, opened(&mut app)), (1, None));
frame(&mut app, 1.1, events(icon(1.0), 1));
assert_eq!(opened(&mut app), Some(("artboardOptions".to_string(), 1.0, 100.0)));
assert_eq!((app.session.tool_id(), pstate::<Option<usize>>(&ctx, "ab-edit")), (tool.as_str(), None));
// The active artboard's icon: one click opens its options.
frame(&mut app, 3.0, events(icon(1.0), 1));
assert_eq!(opened(&mut app), Some(("artboardOptions".to_string(), 1.0, 100.0)));
// With the Artboard tool, a double-click on Artboard 1's icon (both clicks in one frame)
// opens Artboard 1's options, and the tool moves to it.
app.select_tool("artboard");
frame(&mut app, 5.0, events(icon(0.0), 2));
assert_eq!(opened(&mut app), Some(("artboardOptions".to_string(), 0.0, 200.0)));
assert_eq!((app.session.tool_id(), app.session.tool_options()["active"].clone()), ("artboard", json!(0)));
}
/// The panel menu's Artboard Options… opens Artboard Options for the active artboard and leaves
/// the tool as it is.
#[test]
fn the_panel_menus_artboard_options_opens_the_active_artboards_options() {
let mut app = VectorcraftApp::new(Session::new(), Default::default());
app.session.execute("file.new", &json!({"width": 200, "height": 150})).unwrap();
app.session.execute("artboard.new", &json!({"x": 400, "y": 300, "width": 100, "height": 50})).unwrap();
select(&mut app, 1);
let tool = app.session.tool_id().to_string();
let ctx = egui::Context::default();
let screen = Some(egui::Rect::from_min_size(egui::Pos2::ZERO, vec2(240.0, 400.0)));
let frame = |app: &mut VectorcraftApp, events: Vec<egui::Event>| {
let mut out = ctx.run_ui(egui::RawInput { events, screen_rect: screen, ..Default::default() }, |ui| menu(app, ui));
out.textures_delta.clear();
out.shapes
};
let item = frame(&mut app, vec![])
.iter()
.find_map(|c| match &c.shape {
egui::Shape::Text(t) if t.galley.text().trim_start() == "Artboard Options…" => Some(t.visual_bounding_rect().center()),
_ => None,
})
.unwrap();
let button = |pressed| egui::Event::PointerButton { pos: item, button: egui::PointerButton::Primary, pressed, modifiers: Default::default() };
frame(&mut app, vec![egui::Event::PointerMoved(item), button(true), button(false)]);
let d = app.ui.dialog.take().unwrap();
assert_eq!((d.kind.as_str(), d.f64("index", 9.0), d.f64("x", 0.0)), ("artboardOptions", 1.0, 400.0));
assert_eq!(app.session.tool_id(), tool);
}
/// Choosing the Artboard tool starts it on the active artboard, the one the panel highlights:
/// Artboard Options shows that artboard, the pointer moving over another artboard leaves it
/// active, and Delete removes it. Shift+O while the tool is in use keeps the artboards it has
+2
View File
@@ -493,6 +493,8 @@ Moved from the ROADMAP's "Shipped so far" on 2026-10-10. Update it when a featur
- **Views:** the status bar's artboard navigator (first, previous, next, last; `view.goToArtboard`) goes to an artboard, fits it and synchronizes the Artboard tool selection when that tool is active; ordinary object selection is preserved. Actual Next-button regressions cover keyboard/Properties deletion and Undo in `chrome.rs`. Fit Artboard in Window and Actual Size show the navigator's artboard. The Artboards panel highlights that active artboard: clicking a row makes it active (the Artboard tool's too, while it is chosen) as does clicking an artboard with the Artboard tool, double-clicking its number also fits it in the window and double-clicking its name renames it. Duplicate Artboards, or a row dragged onto New Artboard, copies the artboard with its art (#446). Escape leaves Presentation Mode, F from it goes back to Normal Screen Mode, and the screen mode isn't saved with the preferences: the app always starts in Normal Screen Mode with its menus and panels (#472). View › Pixel Preview shows the art as the document pixels it rasterizes to, one per point and hard-edged when magnified, turning with a rotated view (it used to draw the smooth vectors, with only the pixel grid over them). In Outline view a template layer keeps drawing in Preview, dimmed, so a picture placed to be traced stays visible under the outlines (#1505, fixes #1486).
In Presentation Mode, → and ← go to the next and the previous artboard, and a click anywhere goes to the next one, as the status bar navigator's Next and Previous do (`view.goToArtboard`): on the last artboard → and a click leave the view as it is, and so does ← on the first. The arrow keys do not move the selection there, and the tool does not receive a click, so a click selects and draws nothing (behavior reference: [View artwork](https://helpx.adobe.com/illustrator/using/viewing-artwork.html)).
Align to Artboard uses the active artboard, the one the Artboards panel highlights (`object.align {artboard}`). A press with a selection tool inside an artboard makes that artboard active; with the Selection tool, a Shift-click on an empty spot inside an artboard makes it active and keeps the selection. One selected object is aligned to the active artboard too, whatever Align To says (a lone object is never the key object). When an action plays, its Align to Artboard, All on Active Artboard, Paste in Place, Paste in Front and Paste in Back steps that name no artboard use the artboard that is active then.
Choosing the Artboard tool (Shift+O, its toolbar button, or Edit Artboards in Properties or Document Setup) starts it on the active artboard: the canvas outlines that artboard, and Delete, Cut, Copy, the Transform panel and Artboard Options act on it.
In the Artboards panel, a click on the active artboard's options icon, or a double-click on another row's icon, opens Artboard Options for that row's artboard, and the panel menu's Artboard Options… opens it for the active artboard (part of #1876). Both used to choose the Artboard tool instead. Opened while another tool is in use, the dialog moves the art with a new X or Y when the Artboard tool's Move Artwork with Artboard option is on.
With Align to Artboard chosen, the Align panel's Distribute Objects and Distribute Spacing buttons use the active artboard (`object.distribute` and `object.distributeSpacing` with `to: "artboard"` and `artboard`). The first object's left or top edge goes to the artboard's left or top edge, and the last object's right or bottom edge goes to the artboard's right or bottom edge. Distribute Objects spaces the other objects evenly by its button's line, and two objects are enough. Distribute Spacing makes the gaps between the objects equal. With anchor points selected, the buttons space the points among themselves and do not use the artboard. When an action plays, its Distribute Objects and Distribute Spacing steps with Align to Artboard use the artboard that is active then.
Choosing the Artboard tool (Shift+O, its toolbar button, Edit Artboards in Properties or Document Setup, or the Artboards panel menu's Artboard Options…) starts it on the active artboard: the canvas outlines that artboard, and Delete, Cut, Copy, the Transform panel and Artboard Options act on it.
Object › Artboards › Fit to Artwork Bounds and Fit to Selected Art resize the active artboard, as the Artboards panel menu's Fit to Artwork Bounds does (`artboard.fitToArt {index}`, `artboard.fitToSelection {index}`). They used to resize artboard 1 whichever artboard was active. When an action plays, its Fit to Artwork Bounds and Fit to Selected Art steps that name no artboard resize the artboard that is active then.