拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Graphite 编辑器界面指南:标题栏、工作区面板与状态栏输入提示全解析

Graphite 编辑器界面指南标题栏、工作区面板与状态栏输入提示全解析【免费下载链接】GraphiteCommunity-built comprehensive 2D content creation appplication for graphic design, digital art, and interactive real-time motion graphics powered by a node-based procedural graphics engine项目地址: https://gitcode.com/GitHub_Trending/gr/Graphite本篇指南系统讲解 Graphite 编辑器用户界面的核心概念与术语体系从顶部的标题栏与菜单栏到中部由面板与分隔线构成的工作区再到底部状态栏中随工具与交互状态实时变化的输入提示。Graphite 是一款以节点化程序化图形引擎驱动的 2D 内容创作应用项目主页其界面层由 frontend/src/components/window 下的 Svelte 组件实现、由编辑器 Rust 后端驱动布局。读完本文你将掌握 Graphite 界面各区域的名称与职责、不同平台窗口按钮的差异、输入提示中与/符号的读法以及鼠标操作图标的速查表并能据此顺畅阅读后续的菜单栏与文档面板详解。界面构成总览从窗口外壳到工作区Graphite 编辑器的整体窗口结构可以直接从 MainWindow.svelte 中看到这是一个纵向堆叠的布局自上而下依次是标题栏Title Bar、工作区Workspace与状态栏Status Bar而对话框与工具提示则以浮动层的形式叠加其上。在原生桌面版本的全屏状态下标题栏会被隐藏以腾出空间见MainWindow.svelte中{#if !($appWindow.platform Mac $appWindow.fullscreen)}的条件渲染。这一外壳—内容—状态的三段式结构是理解 Graphite 一切界面操作的基础标题栏承载菜单与窗口控制工作区承载文档与各面板状态栏则负责在操作过程中给出即时反馈与提示。标题栏Title Bar横贯编辑器顶部的横条称为标题栏。在即将发布的Graphite 桌面版中它同时充当可拖动的窗口框架——用户可以直接拖拽标题栏空白区域来移动应用窗口双击则触发最大化/还原。从 TitleBar.svelte 的实现可以看到标题栏实际由三个横向区域组成菜单栏Menu Bar位于左侧提供对编辑器、文档与作品相关控制项的快速访问窗口框架Window Frame占据中间的弹性空白区域通过on:mousedown触发editor.appWindowDrag()、on:dblclick触发editor.appWindowMaximize()实现拖拽移动与双击最大化在 PWA 模式下还通过-webkit-app-region: drag与titlebar-area-*CSS 环境变量适配无边框窗口的拖拽区域窗口按钮Window Buttons位于右侧macOS 上位于左侧提供平台特定的窗口控制。一个值得注意的实现细节是在 macOS 上菜单栏不会绘制在编辑器窗口内其功能被收纳进 macOS 系统菜单栏并且标题栏高度会按照 UI 缩放比例反向修正28 * (1 / uiScale)以便与 macOS 原生窗口按钮的尺寸对齐。窗口按钮的跨平台差异窗口按钮是平台相关的。下表汇总了不同平台上按钮的组成| 平台 | 按钮 | |-|-| |Web| 全屏 | |Windows| 最小化、最大化/还原Restore Down、关闭 | |Linux| 最小化、最大化/取消最大化、关闭 | |macOS| 关闭、最小化、全屏 |在源码中这一差异通过TitleBar.svelte的classes{{ fullscreen, windows, linux }}与平台条件判断实现Web 端只显示一个全屏按钮进入全屏后若浏览器支持 Keyboard Lock API原先被浏览器保留的快捷键会变得可用Windows 端关闭按钮在悬停时显示为红色#c42b1cLinux 端按钮悬停带圆角背景。macOS 端则由系统提供原生窗口按钮编辑器内不再渲染。工作区Workspace工作区是编辑器的主内容区域由并排排列的面板Panels填充。位于相邻面板之间的细条称为分隔线Gutter可以拖动它来调整两侧面板的大小。分隔线调整面板大小的机制在 PanelSubdivision.svelte 中有完整实现其中包含几个有用的细节面板布局是一棵递归的分割Split树偶数深度层级内子面板横向排列、奇数深度纵向排列拖动分隔线时只会重新分配相邻两个面板的 flex-grow 权重且每个面板有100px 的最小尺寸MIN_PANEL_SIZE双击分隔线可以快速将相邻面板复位为默认比例邻近文档面板的组合恢复为 80:20其他面板组合恢复为 50:50对应常量DOCUMENT_PANEL_SHARE 0.8与EQUAL_PANEL_SHARE 0.5调整结果通过editor.setPanelGroupSizes持久化到后端重新打开窗口后布局保持不变。面板Panels面板是界面中专用于某个特定目的的矩形区域。文档中记载当前共有三种面板类型文档面板Document、属性面板Properties与图层面板Layers而从当前源码 Panel.svelte 的PANEL_COMPONENTS注册表看实际已存在 Welcome欢迎页、Document、Layers、Properties 与 Data数据面板用于调试节点图数据流五种面板组件可以推断面板体系比早期文档记录的更为丰富。每个面板由以下部分组成面板头Panel Header显示面板名称面板标签页Panel Tabs当多个面板共享同一区域时目前仅文档支持通过标签页快速切换双击标签可重命名文档中键单击标签可直接关闭面板内容Panel Content显示该面板类型的具体内容。标签页的拖拽交互同一面板内重新排序、跨面板移动、以及拖到目标面板边缘产生分割停靠预览均在Panel.svelte中实现停靠区域通过 25% 边缘阈值算法判定为 Left/Right/Top/Bottom/Center 五类并以半透明docking-ghost预览分割效果。文档中还提到未来这些标签页将支持自由停靠Dock从而允许用户自定义默认布局——这是当前标签页共享同一区域能力的自然延伸。关于三种面板的职责可以参见 菜单栏详解 的 Window 菜单一节属性面板用于检查与编辑图形操作节点参数图层面板用于组织与选择构成文档结构的画板与图层数据面板用于调试节点图输出。状态栏Status Bar横贯编辑器底部的横条称为状态栏。在 StatusBar.svelte 中它被实现为两个订阅自后端布局的区域左侧的提示区StatusBarHints与右侧的信息区StatusBarInfo目前尚未填充内容两者之间以渐变分隔符隔开整体高度为 24px。输入提示Input Hints输入提示目前是状态栏的唯一常驻内容。它指示当前上下文中哪些常见的键盘与鼠标输入是有效的。提示会随着当前激活的工具以及交互状态的变化而实时改变——在 editor/src/messages/tool/utility_types.rs 中每条提示由一个HintInfo结构描述可以携带多组按键组合、鼠标动作与说明文字并由各工具的消息处理器在状态切换时重新生成提示布局。因此养成操作过程中常看状态栏的习惯是发现 Graphite 更多功能的最直接方式。提示中存在两种特殊的连接符号理解它们的语义可以准确解读任何一条提示加号表示叠加修饰键会改变基础动作。例如在缩放工具下按住左键拖拽即可缩放画布在此基础上再按住Ctrl键缩放动作会吸附到整数值增量。也就是说左侧是基础动作右侧的修饰键是对它的增强变体。/斜杠表示两种输入组合均可触发同一动作。例如在平移画布时按住空格键同时按住左键拖拽或直接按住鼠标中键拖拽两种方式都能在视口中平移文档。在源码层面HintInfo结构体中的plus: bool与slash: bool字段utility_types.rs正是这两个符号的后端对应物分别用于在提示前绘制或/前缀。鼠标输入图标速查表状态栏提示使用一套图标来表示执行提示所描述动作所需的鼠标输入。下表完整汇总了每种图标对应的鼠标操作| | 单击 | 拖拽 | 其他 | |-|:-:|:-:|:-:| |鼠标左键| 左键单击 | 左键拖拽 | 左键双击 | |鼠标右键| 右键单击 | 右键拖拽 | 右键双击 | |鼠标中键| 中键单击 | 中键拖拽 | 滚轮上/下 | |无按键| | 拖拽不按任何按键移动光标 | |其中拖拽泛指按下按键的同时移动光标滚轮上下滚动则属于中键的其他类别。这些图标在提示中与按键组合共同描述一个完整的输入动作例如空格 左键拖拽或中键拖拽。菜单栏与文档面板同章节的延伸阅读界面一章还包含两个独立页面分别对本章引入的两大界面要素做逐项参考级讲解建议配合阅读菜单栏详解Menu Bar从后端实现看菜单栏由 menu_bar_message_handler.rs 生成包含File、Edit、Layer、Select、View、Window、Help七个下拉菜单每个菜单项右侧都标注了对应键盘快捷键。其中 File 菜单涵盖新建、打开、打开示例作品Demo Artwork对应 demo-artwork 目录下的 .graphite 示例文件、保存、导入、导出与偏好设置Edit 菜单涵盖撤销/重做、剪切/复制/粘贴/删除等Layer 菜单涵盖新建/编组/排列/对齐/翻转/旋转/布尔运算/路径编辑等图层操作View 菜单涵盖倾斜、缩放、翻转、标尺等视口控制。以导出为例其file_typePNG/JPG/SVG、scale_factor倍率导出与bounds全部作品/选区/画板参数在 export_dialog_message_handler.rs 中实现且当选择了Selection但当前无任何选中内容时会自动回退为All Artwork。文档面板详解Document Panel介绍文档面板的三大组成区域——顶部的控制栏左侧随激活工具变化的工具选项、右侧的视口选项、左侧的工具架分为通用/矢量/栅格三组工具分别以灰/蓝/橙图标区分对应源码 ToolType 枚举的分组栅格组中灰化的图标是即将推出的工具占位符以及占据主体的视口。文档面板还包含工作颜色上圆为前景色、下圆为背景色其默认值黑/白与 Swap/Reset 行为可在 utility_types.rs 的WorkingColorsInput与默认颜色初始化处找到依据。结语把界面术语转化为高效工作流Graphite 的界面设计遵循一套清晰一致的术语体系标题栏负责窗口级控制工作区以面板组织内容状态栏则通过随上下文变化的输入提示把当前能做什么、怎么做直接呈现在眼前。理解与/两种提示语法、熟悉鼠标图标速查表、记住各面板的定位文档面板编辑内容、属性面板调整参数、图层面板管理结构就能在后续使用各类工具与节点图时快速上手。更完整的逐项参考请继续阅读 菜单栏详解 与 文档面板详解或回到用户手册目录浏览整章内容。【免费下载链接】GraphiteCommunity-built comprehensive 2D content creation appplication for graphic design, digital art, and interactive real-time motion graphics powered by a node-based procedural graphics engine项目地址: https://gitcode.com/GitHub_Trending/gr/Graphite创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门