Files
trail-mate/docs/models/software-structure/model.html
T
2026-06-26 09:36:54 +08:00

1297 lines
362 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>软件结构模型</title>
<style>
:root { color-scheme: dark; font-family: Inter, "Segoe UI", sans-serif; background: #091017; color: #d8e8f5; }
body { margin: 0; padding: 18px; background: #091017; }
.praxis-model-document { display: grid; gap: 14px; }
.model-doc-header, .model-doc-section, .package-card, .trace-list { border: 1px solid #244056; border-radius: 8px; background: #101a23; padding: 12px; }
h1, h2, h3, p { margin: 0; }
p, li, dd, dt, small { color: #9bb5cc; }
.meta-grid, .diagram-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.meta-grid div, .diagram-entry-card { border: 1px solid #244056; border-radius: 7px; padding: 9px; background: #0b121a; }
.element-list { display: grid; gap: 6px; list-style: none; padding: 0; margin: 10px 0; }
.element-list li { border: 1px solid #1d3447; border-radius: 7px; padding: 8px; background: #0b121a; display: grid; gap: 4px; }
.element-list li span { color: #80d4ff; font-size: 12px; }
.diagram-entry-card { color: inherit; cursor: pointer; text-align: left; display: grid; gap: 5px; }
.diagram-entry-card:hover { border-color: #3b82f6; }
pre.mermaid { border: 1px solid #244056; border-radius: 8px; padding: 12px; background: #0b121a; overflow: auto; }
</style>
</head>
<body>
<main class="praxis-model-document" data-praxis-anchor="model:software-structure" data-praxis-kind="uml_model" data-praxis-status="candidate">
<section class="model-doc-header">
<span>Praxis Model Explorer</span>
<h1>软件结构模型</h1>
<p>解释软件如何被模块化、如何通过接口协作、哪些结构承载业务用例;不把目录、调用密度或工具指标当成模型对象。</p>
</section>
<section class="model-doc-section" data-praxis-anchor="model:software-structure:position" data-praxis-kind="model_position">
<h2>定位</h2>
<div class="meta-grid">
<div><dt>Viewpoint</dt><dd>描述 Package、Component、Interface、Port、Class、Connector、结构协作和运行时 Interaction</dd></div>
<div><dt>Stakeholder</dt><dd>架构师、开发者、维护者、评审者</dd></div>
<div><dt>Abstraction Level</dt><dd>package / component / classifier / owned behavior</dd></div>
<div><dt>Authority</dt><dd>docs/models/software-structure 是归一化模型目录;docs/engineering 作为软件结构模型的兼容投影输入共同承载。</dd></div>
<div><dt>Packages</dt><dd>20</dd></div>
<div><dt>Elements</dt><dd>68</dd></div>
<div><dt>Diagrams</dt><dd>68</dd></div>
</div>
</section>
<section class="model-doc-section" data-praxis-anchor="model:software-structure:package-overview" data-praxis-kind="package_diagram">
<h2>Package 概览图</h2>
<pre class="mermaid" data-praxis-anchor="model:software-structure:package-overview:diagram" data-praxis-kind="package_diagram">flowchart TD
model["软件结构模型"]
pkg_0["软件结构模型"]
model --&gt; pkg_0
pkg_1["apps"]
pkg_0 --&gt; pkg_1
pkg_2["boards"]
pkg_0 --&gt; pkg_2
pkg_2 --&gt; pkg_2_contents["13 elements / 13 diagrams"]
pkg_3["build.c6_companion"]
pkg_0 --&gt; pkg_3
pkg_3 --&gt; pkg_3_contents["1 elements / 1 diagrams"]
pkg_4["build.t_display_p4_tft"]
pkg_0 --&gt; pkg_4
pkg_4 --&gt; pkg_4_contents["1 elements / 1 diagrams"]
pkg_5["build.tdisplayp4_amoled"]
pkg_0 --&gt; pkg_5
pkg_5 --&gt; pkg_5_contents["1 elements / 1 diagrams"]
pkg_6["build.tdisplayp4_tft"]
pkg_0 --&gt; pkg_6
pkg_6 --&gt; pkg_6_contents["1 elements / 1 diagrams"]
pkg_7["builds"]
pkg_0 --&gt; pkg_7
pkg_7 --&gt; pkg_7_contents["1 elements / 1 diagrams"]
pkg_8["cmake"]
pkg_0 --&gt; pkg_8
pkg_8 --&gt; pkg_8_contents["1 elements / 1 diagrams"]
pkg_9["COPYRIGHT"]
pkg_0 --&gt; pkg_9
pkg_9 --&gt; pkg_9_contents["1 elements / 1 diagrams"]
pkg_10["firmware"]
pkg_0 --&gt; pkg_10
pkg_10 --&gt; pkg_10_contents["3 elements / 3 diagrams"]
pkg_11["images"]
pkg_0 --&gt; pkg_11
pkg_11 --&gt; pkg_11_contents["1 elements / 1 diagrams"]
pkg_12["LICENSE"]
pkg_0 --&gt; pkg_12
pkg_12 --&gt; pkg_12_contents["1 elements / 1 diagrams"]
pkg_13["managed_components"]
pkg_0 --&gt; pkg_13
pkg_13 --&gt; pkg_13_contents["1 elements / 1 diagrams"]
pkg_14["esp32_lvgl"]
pkg_1 --&gt; pkg_14
pkg_14 --&gt; pkg_14_contents["22 elements / 22 diagrams"]
pkg_15["linux_cardputer_zero"]
pkg_1 --&gt; pkg_15
pkg_15 --&gt; pkg_15_contents["5 elements / 5 diagrams"]
pkg_16["linux_sim_shell"]
pkg_1 --&gt; pkg_16
pkg_16 --&gt; pkg_16_contents["1 elements / 1 diagrams"]
pkg_17["linux_uconsole_gtk"]
pkg_1 --&gt; pkg_17
pkg_17 --&gt; pkg_17_contents["12 elements / 12 diagrams"]
pkg_18["nrf52_node"]
pkg_1 --&gt; pkg_18
pkg_18 --&gt; pkg_18_contents["1 elements / 1 diagrams"]
pkg_19["README.md"]
pkg_1 --&gt; pkg_19
pkg_19 --&gt; pkg_19_contents["1 elements / 1 diagrams"]</pre>
</section>
<section class="model-doc-section" data-praxis-anchor="model:software-structure:diagrams" data-praxis-kind="diagram_index">
<h2>Package / Element / Diagram</h2>
<article class="package-card" data-praxis-anchor="model:software-structure:package:root" data-praxis-kind="uml_package">
<h3>软件结构模型</h3>
<p>Model 根命名空间下组织 0 个直接模型元素,并通过 0 张 UML 图呈现。</p>
<div class="diagram-list">
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:apps" data-praxis-kind="uml_package">
<h3>apps</h3>
<p>apps 命名空间下组织 0 个直接模型元素,并通过 0 张 UML 图呈现。</p>
<div class="diagram-list">
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:boards" data-praxis-kind="uml_package">
<h3>boards</h3>
<p>boards 命名空间下组织 13 个直接模型元素,并通过 13 张 package、component、class 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:component:-makeboardprofile:engineering:component:function:makeboardprofile:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:188" data-praxis-kind="uml_element"><strong>函数节点:makeBoardProfile</strong><span>component · classifier · high</span><small>函数节点:makeBoardProfile 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-pinnum:engineering:component:function:pinnum:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:8" data-praxis-kind="uml_element"><strong>函数节点:pinNum</strong><span>component · classifier · high</span><small>函数节点:pinNum 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:class:-boards-gat562_mesh_evb_pro-include-boards:engineering:class-structural:boards-gat562_mesh_evb_pro-include-boards" data-praxis-kind="uml_element"><strong>结构切片 boards · gat562_mesh_evb_pro/include/boards</strong><span>class · classifier · high</span><small>结构协作:结构切片 boards · gat562_mesh_evb_pro/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。</small></li><li data-praxis-anchor="model:software-structure:element:class:-boards-t_display_p4-include-boards:engineering:class-structural:boards-t_display_p4-include-boards" data-praxis-kind="uml_element"><strong>结构切片 boards · t_display_p4/include/boards</strong><span>class · classifier · high</span><small>结构协作:结构切片 boards · t_display_p4/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。</small></li><li data-praxis-anchor="model:software-structure:element:class:-boards-t_echo_lite-include-boards:engineering:class-structural:boards-t_echo_lite-include-boards" data-praxis-kind="uml_element"><strong>结构切片 boards · t_echo_lite/include/boards</strong><span>class · classifier · high</span><small>结构协作:结构切片 boards · t_echo_lite/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。</small></li><li data-praxis-anchor="model:software-structure:element:class:-boards-tab5-include-boards:engineering:class-structural:boards-tab5-include-boards" data-praxis-kind="uml_element"><strong>结构切片 boards · tab5/include/boards</strong><span>class · classifier · high</span><small>结构协作:结构切片 boards · tab5/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。</small></li><li data-praxis-anchor="model:software-structure:element:class:-boards-tdeck_pro-include-boards:engineering:class-structural:boards-tdeck_pro-include-boards" data-praxis-kind="uml_element"><strong>结构切片 boards · tdeck_pro/include/boards</strong><span>class · classifier · high</span><small>结构协作:结构切片 boards · tdeck_pro/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。</small></li><li data-praxis-anchor="model:software-structure:element:class:-boards-tdeck-include-boards:engineering:class-structural:boards-tdeck-include-boards" data-praxis-kind="uml_element"><strong>结构切片 boards · tdeck/include/boards</strong><span>class · classifier · high</span><small>结构协作:结构切片 boards · tdeck/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。</small></li><li data-praxis-anchor="model:software-structure:element:class:-boards-tlora_pager-include-boards:engineering:class-structural:boards-tlora_pager-include-boards" data-praxis-kind="uml_element"><strong>结构切片 boards · tlora_pager/include/boards</strong><span>class · classifier · high</span><small>结构协作:结构切片 boards · tlora_pager/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。</small></li><li data-praxis-anchor="model:software-structure:element:class:-boards-twatchs3-include-boards:engineering:class-structural:boards-twatchs3-include-boards" data-praxis-kind="uml_element"><strong>结构切片 boards · twatchs3/include/boards</strong><span>class · classifier · high</span><small>结构协作:结构切片 boards · twatchs3/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。</small></li><li data-praxis-anchor="model:software-structure:element:class:-gat562_mesh_evb_pro-gat562_mesh_evb_pro:engineering:class-structural:boards-gat562_mesh_evb_pro" data-praxis-kind="uml_element"><strong>结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro</strong><span>class · classifier · high</span><small>结构协作:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。</small></li><li data-praxis-anchor="model:software-structure:element:class:-t_echo_lite-t_echo_lite:engineering:class-structural:boards-t_echo_lite" data-praxis-kind="uml_element"><strong>结构切片 t_echo_lite · t_echo_lite</strong><span>class · classifier · high</span><small>结构协作:结构切片 t_echo_lite · t_echo_lite 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。</small></li><li data-praxis-anchor="model:software-structure:element:package:-boards:engineering:package:boards" data-praxis-kind="uml_element"><strong>模块边界:boards</strong><span>package · namespace · high</span><small>模块边界:boards 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:boards"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:boards"
data-praxis-document-summary="解释 boards 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/boards/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/boards/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:boards</strong>
<small>解释 boards 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:makeboardprofile:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:188"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:makeBoardProfile"
data-praxis-document-summary="function 位于 boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L188,协调多个外部对象或能力,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:makeBoardProfile</strong>
<small>function 位于 boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L188,协调多个外部对象或能力,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:pinnum:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:8"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:pinNum"
data-praxis-document-summary="function 位于 boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L8,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/boards-pinnum/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/boards-pinnum/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:pinNum</strong>
<small>function 位于 boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L8,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:class-structural:boards-gat562_mesh_evb_pro-include-boards"
data-praxis-kind="uml_diagram"
data-praxis-document-title="结构协作:结构切片 boards · gat562_mesh_evb_pro/include/boards"
data-praxis-document-summary="解释 boards/gat562_mesh_evb_pro/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 Gat562Board、SX1262、Sx1262RadioPacketIo、Gat562Board::I2cGuard、GpsRuntime。"
data-praxis-document-md="docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.md"
data-praxis-document-html="docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.html"
>
<span>class · candidate · high</span>
<strong>结构协作:结构切片 boards · gat562_mesh_evb_pro/include/boards</strong>
<small>解释 boards/gat562_mesh_evb_pro/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 Gat562Board、SX1262、Sx1262RadioPacketIo、Gat562Board::I2cGuard、GpsRuntime。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:class-structural:boards-t_echo_lite-include-boards"
data-praxis-kind="uml_diagram"
data-praxis-document-title="结构协作:结构切片 boards · t_echo_lite/include/boards"
data-praxis-document-summary="解释 boards/t_echo_lite/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TEchoLiteBoard、Sx1262RadioPacketIo、TEchoLiteBoard::I2cGuard、GpsRuntime、Module。"
data-praxis-document-md="docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.md"
data-praxis-document-html="docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.html"
>
<span>class · candidate · high</span>
<strong>结构协作:结构切片 boards · t_echo_lite/include/boards</strong>
<small>解释 boards/t_echo_lite/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TEchoLiteBoard、Sx1262RadioPacketIo、TEchoLiteBoard::I2cGuard、GpsRuntime、Module。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:class-structural:boards-tab5-include-boards"
data-praxis-kind="uml_diagram"
data-praxis-document-title="结构协作:结构切片 boards · tab5/include/boards"
data-praxis-document-summary="解释 boards/tab5/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 Tab5Board、Tab5Board::ManagedSystemI2cGuard、Tab5Board::SysI2cGuard、CodecCompat。"
data-praxis-document-md="docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.md"
data-praxis-document-html="docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.html"
>
<span>class · candidate · high</span>
<strong>结构协作:结构切片 boards · tab5/include/boards</strong>
<small>解释 boards/tab5/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 Tab5Board、Tab5Board::ManagedSystemI2cGuard、Tab5Board::SysI2cGuard、CodecCompat。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:class-structural:boards-t_display_p4-include-boards"
data-praxis-kind="uml_diagram"
data-praxis-document-title="结构协作:结构切片 boards · t_display_p4/include/boards"
data-praxis-document-summary="解释 boards/t_display_p4/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDisplayP4Board、TDisplayP4Board::ManagedSystemI2cGuard。"
data-praxis-document-md="docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.md"
data-praxis-document-html="docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.html"
>
<span>class · candidate · high</span>
<strong>结构协作:结构切片 boards · t_display_p4/include/boards</strong>
<small>解释 boards/t_display_p4/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDisplayP4Board、TDisplayP4Board::ManagedSystemI2cGuard。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:class-structural:boards-tlora_pager-include-boards"
data-praxis-kind="uml_diagram"
data-praxis-document-title="结构协作:结构切片 boards · tlora_pager/include/boards"
data-praxis-document-summary="解释 boards/tlora_pager/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TLoRaPagerBoard、SX1262Access、AppContext。"
data-praxis-document-md="docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.md"
data-praxis-document-html="docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.html"
>
<span>class · candidate · high</span>
<strong>结构协作:结构切片 boards · tlora_pager/include/boards</strong>
<small>解释 boards/tlora_pager/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TLoRaPagerBoard、SX1262Access、AppContext。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:class-structural:boards-tdeck-include-boards"
data-praxis-kind="uml_diagram"
data-praxis-document-title="结构协作:结构切片 boards · tdeck/include/boards"
data-praxis-document-summary="解释 boards/tdeck/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDeckBoard、SX1262Access。"
data-praxis-document-md="docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.md"
data-praxis-document-html="docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.html"
>
<span>class · candidate · high</span>
<strong>结构协作:结构切片 boards · tdeck/include/boards</strong>
<small>解释 boards/tdeck/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDeckBoard、SX1262Access。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:class-structural:boards-tdeck_pro-include-boards"
data-praxis-kind="uml_diagram"
data-praxis-document-title="结构协作:结构切片 boards · tdeck_pro/include/boards"
data-praxis-document-summary="解释 boards/tdeck_pro/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDeckProBoard、SX1262Access。"
data-praxis-document-md="docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.md"
data-praxis-document-html="docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.html"
>
<span>class · candidate · high</span>
<strong>结构协作:结构切片 boards · tdeck_pro/include/boards</strong>
<small>解释 boards/tdeck_pro/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDeckProBoard、SX1262Access。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:class-structural:boards-twatchs3-include-boards"
data-praxis-kind="uml_diagram"
data-praxis-document-title="结构协作:结构切片 boards · twatchs3/include/boards"
data-praxis-document-summary="解释 boards/twatchs3/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TWatchS3Board、SX1262Access。"
data-praxis-document-md="docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.md"
data-praxis-document-html="docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.html"
>
<span>class · candidate · high</span>
<strong>结构协作:结构切片 boards · twatchs3/include/boards</strong>
<small>解释 boards/twatchs3/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TWatchS3Board、SX1262Access。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:class-structural:boards-gat562_mesh_evb_pro"
data-praxis-kind="uml_diagram"
data-praxis-document-title="结构协作:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro"
data-praxis-document-summary="解释 boards/gat562_mesh_evb_pro 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 gat562_mesh_evb_pro中的结构职责;候选对象包括 Ssd1306MonoDisplay、ScopedGpsSuspend。"
data-praxis-document-md="docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.md"
data-praxis-document-html="docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.html"
>
<span>class · candidate · high</span>
<strong>结构协作:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro</strong>
<small>解释 boards/gat562_mesh_evb_pro 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 gat562_mesh_evb_pro中的结构职责;候选对象包括 Ssd1306MonoDisplay、ScopedGpsSuspend。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:class-structural:boards-t_echo_lite"
data-praxis-kind="uml_diagram"
data-praxis-document-title="结构协作:结构切片 t_echo_lite · t_echo_lite"
data-praxis-document-summary="解释 boards/t_echo_lite 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 t_echo_lite中的结构职责;候选对象包括 EpaperMonoDisplay、ScopedGpsSuspend。"
data-praxis-document-md="docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.md"
data-praxis-document-html="docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.html"
>
<span>class · candidate · high</span>
<strong>结构协作:结构切片 t_echo_lite · t_echo_lite</strong>
<small>解释 boards/t_echo_lite 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 t_echo_lite中的结构职责;候选对象包括 EpaperMonoDisplay、ScopedGpsSuspend。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:build.c6_companion" data-praxis-kind="uml_package">
<h3>build.c6_companion</h3>
<p>build.c6_companion 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-build.c6_companion:engineering:package:build.c6_companion" data-praxis-kind="uml_element"><strong>模块边界:build.c6_companion</strong><span>package · namespace · high</span><small>模块边界:build.c6_companion 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:build.c6_companion"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:build.c6_companion"
data-praxis-document-summary="解释 build.c6_companion 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/build-c6_companion/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/build-c6_companion/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:build.c6_companion</strong>
<small>解释 build.c6_companion 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:build.t_display_p4_tft" data-praxis-kind="uml_package">
<h3>build.t_display_p4_tft</h3>
<p>build.t_display_p4_tft 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-build.t_display_p4_tft:engineering:package:build.t_display_p4_tft" data-praxis-kind="uml_element"><strong>模块边界:build.t_display_p4_tft</strong><span>package · namespace · high</span><small>模块边界:build.t_display_p4_tft 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:build.t_display_p4_tft"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:build.t_display_p4_tft"
data-praxis-document-summary="解释 build.t_display_p4_tft 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:build.t_display_p4_tft</strong>
<small>解释 build.t_display_p4_tft 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:build.tdisplayp4_amoled" data-praxis-kind="uml_package">
<h3>build.tdisplayp4_amoled</h3>
<p>build.tdisplayp4_amoled 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-build.tdisplayp4_amoled:engineering:package:build.tdisplayp4_amoled" data-praxis-kind="uml_element"><strong>模块边界:build.tdisplayp4_amoled</strong><span>package · namespace · high</span><small>模块边界:build.tdisplayp4_amoled 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:build.tdisplayp4_amoled"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:build.tdisplayp4_amoled"
data-praxis-document-summary="解释 build.tdisplayp4_amoled 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:build.tdisplayp4_amoled</strong>
<small>解释 build.tdisplayp4_amoled 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:build.tdisplayp4_tft" data-praxis-kind="uml_package">
<h3>build.tdisplayp4_tft</h3>
<p>build.tdisplayp4_tft 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-build.tdisplayp4_tft:engineering:package:build.tdisplayp4_tft" data-praxis-kind="uml_element"><strong>模块边界:build.tdisplayp4_tft</strong><span>package · namespace · high</span><small>模块边界:build.tdisplayp4_tft 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:build.tdisplayp4_tft"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:build.tdisplayp4_tft"
data-praxis-document-summary="解释 build.tdisplayp4_tft 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:build.tdisplayp4_tft</strong>
<small>解释 build.tdisplayp4_tft 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:builds" data-praxis-kind="uml_package">
<h3>builds</h3>
<p>builds 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-builds:engineering:package:builds" data-praxis-kind="uml_element"><strong>模块边界:builds</strong><span>package · namespace · high</span><small>模块边界:builds 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:builds"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:builds"
data-praxis-document-summary="解释 builds 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/builds/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/builds/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:builds</strong>
<small>解释 builds 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:cmake" data-praxis-kind="uml_package">
<h3>cmake</h3>
<p>cmake 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-cmake:engineering:package:cmake" data-praxis-kind="uml_element"><strong>模块边界:cmake</strong><span>package · namespace · high</span><small>模块边界:cmake 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:cmake"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:cmake"
data-praxis-document-summary="解释 cmake 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/cmake/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/cmake/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:cmake</strong>
<small>解释 cmake 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:copyright" data-praxis-kind="uml_package">
<h3>COPYRIGHT</h3>
<p>COPYRIGHT 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-copyright:engineering:package:copyright" data-praxis-kind="uml_element"><strong>模块边界:COPYRIGHT</strong><span>package · namespace · high</span><small>模块边界:COPYRIGHT 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:copyright"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:COPYRIGHT"
data-praxis-document-summary="解释 COPYRIGHT 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/copyright/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/copyright/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:COPYRIGHT</strong>
<small>解释 COPYRIGHT 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:firmware" data-praxis-kind="uml_package">
<h3>firmware</h3>
<p>firmware 命名空间下组织 3 个直接模型元素,并通过 3 张 package、component 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:component:-main:engineering:component:function:main:firmware-c6_companion-tests-test_tm_services_functional.cpp:97" data-praxis-kind="uml_element"><strong>服务对象:main</strong><span>component · classifier · high</span><small>服务对象:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-tm_services_record_error:engineering:component:function:tm_services_record_error:firmware-c6_companion-components-tm_services-tm_services.c:471" data-praxis-kind="uml_element"><strong>界面组件:tm_services_record_error</strong><span>component · classifier · high</span><small>界面组件:tm_services_record_error 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:package:-firmware:engineering:package:firmware" data-praxis-kind="uml_element"><strong>模块边界:firmware</strong><span>package · namespace · high</span><small>模块边界:firmware 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:firmware"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:firmware"
data-praxis-document-summary="解释 firmware 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/firmware/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/firmware/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:firmware</strong>
<small>解释 firmware 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:main:firmware-c6_companion-tests-test_tm_services_functional.cpp:97"
data-praxis-kind="uml_diagram"
data-praxis-document-title="服务对象:main"
data-praxis-document-summary="function 位于 firmware/c6_companion/tests/test_tm_services_functional.cpp#L97,协调多个外部对象或能力,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/firmware-main/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/firmware-main/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>服务对象:main</strong>
<small>function 位于 firmware/c6_companion/tests/test_tm_services_functional.cpp#L97,协调多个外部对象或能力,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:tm_services_record_error:firmware-c6_companion-components-tm_services-tm_services.c:471"
data-praxis-kind="uml_diagram"
data-praxis-document-title="界面组件:tm_services_record_error"
data-praxis-document-summary="function 位于 firmware/c6_companion/components/tm_services/tm_services.c#L471,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>界面组件:tm_services_record_error</strong>
<small>function 位于 firmware/c6_companion/components/tm_services/tm_services.c#L471,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:images" data-praxis-kind="uml_package">
<h3>images</h3>
<p>images 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-images:engineering:package:images" data-praxis-kind="uml_element"><strong>模块边界:images</strong><span>package · namespace · high</span><small>模块边界:images 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:images"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:images"
data-praxis-document-summary="解释 images 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/images/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/images/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:images</strong>
<small>解释 images 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:license" data-praxis-kind="uml_package">
<h3>LICENSE</h3>
<p>LICENSE 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-license:engineering:package:license" data-praxis-kind="uml_element"><strong>模块边界:LICENSE</strong><span>package · namespace · high</span><small>模块边界:LICENSE 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:license"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:LICENSE"
data-praxis-document-summary="解释 LICENSE 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/license/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/license/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:LICENSE</strong>
<small>解释 LICENSE 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:managed_components" data-praxis-kind="uml_package">
<h3>managed_components</h3>
<p>managed_components 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-managed_components:engineering:package:managed_components" data-praxis-kind="uml_element"><strong>模块边界:managed_components</strong><span>package · namespace · high</span><small>模块边界:managed_components 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:managed_components"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:managed_components"
data-praxis-document-summary="解释 managed_components 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/managed_components/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/managed_components/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:managed_components</strong>
<small>解释 managed_components 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:apps-esp32_lvgl" data-praxis-kind="uml_package">
<h3>esp32_lvgl</h3>
<p>apps/esp32_lvgl 命名空间下组织 22 个直接模型元素,并通过 22 张 package、component、sequence 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:component:-companion_enter:engineering:component:function:companion_enter:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:72" data-praxis-kind="uml_element"><strong>函数节点:companion_enter</strong><span>component · classifier · high</span><small>函数节点:companion_enter 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-contains:engineering:component:function:contains:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:19" data-praxis-kind="uml_element"><strong>函数节点:contains</strong><span>component · classifier · high</span><small>函数节点:contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-main:engineering:component:function:main:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:33" data-praxis-kind="uml_element"><strong>函数节点:main</strong><span>component · classifier · high</span><small>函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:package:-apps-esp32_lvgl:engineering:package:apps-esp32_lvgl" data-praxis-kind="uml_element"><strong>模块边界:apps/esp32_lvgl</strong><span>package · namespace · high</span><small>模块边界:apps/esp32_lvgl 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:add_hex_line-add_status_line:engineering:runtime-flow:add_hex_line:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp" data-praxis-kind="uml_element"><strong>add_hex_line 调用 add_status_line</strong><span>interaction · owned_behavior · high</span><small>动态协作:add_hex_line 调用 add_status_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:add_status_line-add_label:engineering:runtime-flow:add_status_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp" data-praxis-kind="uml_element"><strong>add_status_line 调用 add_label</strong><span>interaction · owned_behavior · high</span><small>动态协作:add_status_line 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:add_u32_line-add_label:engineering:runtime-flow:add_u32_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp" data-praxis-kind="uml_element"><strong>add_u32_line 调用 add_label</strong><span>interaction · owned_behavior · high</span><small>动态协作:add_u32_line 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:canrunesp32lvglstartupruntime-canstartesp32lvglloopruntime:engineering:runtime-flow:canrunesp32lvglstartupruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp" data-praxis-kind="uml_element"><strong>canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime</strong><span>interaction · owned_behavior · high</span><small>动态协作:canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:companion_enter-add_hex_line:engineering:runtime-flow:companion_enter:add_hex_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp" data-praxis-kind="uml_element"><strong>companion_enter 调用 add_hex_line</strong><span>interaction · owned_behavior · high</span><small>动态协作:companion_enter 调用 add_hex_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:companion_enter-add_label:engineering:runtime-flow:companion_enter:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp" data-praxis-kind="uml_element"><strong>companion_enter 调用 add_label</strong><span>interaction · owned_behavior · high</span><small>动态协作:companion_enter 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:companion_enter-add_status_line:engineering:runtime-flow:companion_enter:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp" data-praxis-kind="uml_element"><strong>companion_enter 调用 add_status_line</strong><span>interaction · owned_behavior · high</span><small>动态协作:companion_enter 调用 add_status_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:companion_enter-add_u32_line:engineering:runtime-flow:companion_enter:add_u32_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp" data-praxis-kind="uml_element"><strong>companion_enter 调用 add_u32_line</strong><span>interaction · owned_behavior · high</span><small>动态协作:companion_enter 调用 add_u32_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:hasesp32lvglruntimetargetprofile-esp32lvglruntimetargetprofile:engineering:runtime-flow:hasesp32lvglruntimetargetprofile:esp32lvglruntimetargetprofile:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp" data-praxis-kind="uml_element"><strong>hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile</strong><span>interaction · owned_behavior · high</span><small>动态协作:hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:runesp32lvglstartupruntime-canrunesp32lvglstartupruntime:engineering:runtime-flow:runesp32lvglstartupruntime:canrunesp32lvglstartupruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp" data-praxis-kind="uml_element"><strong>runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime</strong><span>interaction · owned_behavior · high</span><small>动态协作:runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:runesp32lvglstartupruntime-setbootlog:engineering:runtime-flow:runesp32lvglstartupruntime:setbootlog:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp" data-praxis-kind="uml_element"><strong>runEsp32LvglStartupRuntime 调用 setBootLog</strong><span>interaction · owned_behavior · high</span><small>动态协作:runEsp32LvglStartupRuntime 调用 setBootLog 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:runesp32lvglstartupruntime-showbootui:engineering:runtime-flow:runesp32lvglstartupruntime:showbootui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp" data-praxis-kind="uml_element"><strong>runEsp32LvglStartupRuntime 调用 showBootUi</strong><span>interaction · owned_behavior · high</span><small>动态协作:runEsp32LvglStartupRuntime 调用 showBootUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:setbootlog-lockui:engineering:runtime-flow:setbootlog:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp" data-praxis-kind="uml_element"><strong>setBootLog 调用 lockUi</strong><span>interaction · owned_behavior · high</span><small>动态协作:setBootLog 调用 lockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:setbootlog-unlockui:engineering:runtime-flow:setbootlog:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp" data-praxis-kind="uml_element"><strong>setBootLog 调用 unlockUi</strong><span>interaction · owned_behavior · high</span><small>动态协作:setBootLog 调用 unlockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:showbootui-lockui:engineering:runtime-flow:showbootui:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp" data-praxis-kind="uml_element"><strong>showBootUi 调用 lockUi</strong><span>interaction · owned_behavior · high</span><small>动态协作:showBootUi 调用 lockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:showbootui-unlockui:engineering:runtime-flow:showbootui:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp" data-praxis-kind="uml_element"><strong>showBootUi 调用 unlockUi</strong><span>interaction · owned_behavior · high</span><small>动态协作:showBootUi 调用 unlockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:startesp32lvglloopruntime-canstartesp32lvglloopruntime:engineering:runtime-flow:startesp32lvglloopruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp" data-praxis-kind="uml_element"><strong>startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime</strong><span>interaction · owned_behavior · high</span><small>动态协作:startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li><li data-praxis-anchor="model:software-structure:element:interaction:tick-log_loop_interval:engineering:runtime-flow:tick:log_loop_interval:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp" data-praxis-kind="uml_element"><strong>tick 调用 log_loop_interval</strong><span>interaction · owned_behavior · high</span><small>动态协作:tick 调用 log_loop_interval 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:apps-esp32_lvgl"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:apps/esp32_lvgl"
data-praxis-document-summary="解释 apps/esp32_lvgl 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:apps/esp32_lvgl</strong>
<small>解释 apps/esp32_lvgl 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:main:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:33"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:main"
data-praxis-document-summary="function 位于 apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L33,协调多个外部对象或能力,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:main</strong>
<small>function 位于 apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L33,协调多个外部对象或能力,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:contains:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:19"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:contains"
data-praxis-document-summary="function 位于 apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L19,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:contains</strong>
<small>function 位于 apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L19,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:companion_enter:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:72"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:companion_enter"
data-praxis-document-summary="function 位于 apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp#L72,协调多个外部对象或能力,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:companion_enter</strong>
<small>function 位于 apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp#L72,协调多个外部对象或能力,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:tick:log_loop_interval:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:tick 调用 log_loop_interval"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_arduino_loop_runtime.cpp 中的 tick calls apps/esp32_lvgl/src/esp32_lvgl_arduino_loop_runtime.cpp 中的 log_loop_interval。"
data-praxis-document-md="docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:tick 调用 log_loop_interval</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_arduino_loop_runtime.cpp 中的 tick calls apps/esp32_lvgl/src/esp32_lvgl_arduino_loop_runtime.cpp 中的 log_loop_interval。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:add_status_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:add_status_line 调用 add_label"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。"
data-praxis-document-md="docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:add_status_line 调用 add_label</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:add_u32_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:add_u32_line 调用 add_label"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_u32_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。"
data-praxis-document-md="docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:add_u32_line 调用 add_label</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_u32_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:add_hex_line:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:add_hex_line 调用 add_status_line"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_hex_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line。"
data-praxis-document-md="docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:add_hex_line 调用 add_status_line</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_hex_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:companion_enter:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:companion_enter 调用 add_label"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。"
data-praxis-document-md="docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:companion_enter 调用 add_label</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:companion_enter:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:companion_enter 调用 add_status_line"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line。"
data-praxis-document-md="docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:companion_enter 调用 add_status_line</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:companion_enter:add_u32_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:companion_enter 调用 add_u32_line"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_u32_line。"
data-praxis-document-md="docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:companion_enter 调用 add_u32_line</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_u32_line。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:companion_enter:add_hex_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:companion_enter 调用 add_hex_line"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_hex_line。"
data-praxis-document-md="docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:companion_enter 调用 add_hex_line</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_hex_line。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:startesp32lvglloopruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 startEsp32LvglLoopRuntime calls apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 canStartEsp32LvglLoopRuntime。"
data-praxis-document-md="docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 startEsp32LvglLoopRuntime calls apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 canStartEsp32LvglLoopRuntime。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:hasesp32lvglruntimetargetprofile:esp32lvglruntimetargetprofile:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_runtime_config.cpp 中的 hasEsp32LvglRuntimeTargetProfile calls apps/esp32_lvgl/src/esp32_lvgl_runtime_config.cpp 中的 esp32LvglRuntimeTargetProfile。"
data-praxis-document-md="docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_runtime_config.cpp 中的 hasEsp32LvglRuntimeTargetProfile calls apps/esp32_lvgl/src/esp32_lvgl_runtime_config.cpp 中的 esp32LvglRuntimeTargetProfile。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:showbootui:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:showBootUi 调用 lockUi"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 lockUi。"
data-praxis-document-md="docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:showBootUi 调用 lockUi</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 lockUi。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:showbootui:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:showBootUi 调用 unlockUi"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 unlockUi。"
data-praxis-document-md="docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:showBootUi 调用 unlockUi</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 unlockUi。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:setbootlog:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:setBootLog 调用 lockUi"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 lockUi。"
data-praxis-document-md="docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:setBootLog 调用 lockUi</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 lockUi。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:setbootlog:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:setBootLog 调用 unlockUi"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 unlockUi。"
data-praxis-document-md="docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:setBootLog 调用 unlockUi</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 unlockUi。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:canrunesp32lvglstartupruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 canRunEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 canStartEsp32LvglLoopRuntime。"
data-praxis-document-md="docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 canRunEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 canStartEsp32LvglLoopRuntime。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:runesp32lvglstartupruntime:canrunesp32lvglstartupruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 canRunEsp32LvglStartupRuntime。"
data-praxis-document-md="docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 canRunEsp32LvglStartupRuntime。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:runesp32lvglstartupruntime:showbootui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:runEsp32LvglStartupRuntime 调用 showBootUi"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi。"
data-praxis-document-md="docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:runEsp32LvglStartupRuntime 调用 showBootUi</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:runtime-flow:runesp32lvglstartupruntime:setbootlog:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp"
data-praxis-kind="uml_diagram"
data-praxis-document-title="动态协作:runEsp32LvglStartupRuntime 调用 setBootLog"
data-praxis-document-summary="apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog。"
data-praxis-document-md="docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.md"
data-praxis-document-html="docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.html"
>
<span>sequence · candidate · high</span>
<strong>动态协作:runEsp32LvglStartupRuntime 调用 setBootLog</strong>
<small>apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:apps-linux_cardputer_zero" data-praxis-kind="uml_package">
<h3>linux_cardputer_zero</h3>
<p>apps/linux_cardputer_zero 命名空间下组织 5 个直接模型元素,并通过 5 张 package、component 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:component:-contains:engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19" data-praxis-kind="uml_element"><strong>函数节点:contains</strong><span>component · classifier · high</span><small>函数节点:contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-main:engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49" data-praxis-kind="uml_element"><strong>函数节点:main</strong><span>component · classifier · high</span><small>函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-not_contains:engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24" data-praxis-kind="uml_element"><strong>函数节点:not_contains</strong><span>component · classifier · high</span><small>函数节点:not_contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-read_file:engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10" data-praxis-kind="uml_element"><strong>函数节点:read_file</strong><span>component · classifier · high</span><small>函数节点:read_file 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:package:-apps-linux_cardputer_zero:engineering:package:apps-linux_cardputer_zero" data-praxis-kind="uml_element"><strong>模块边界:apps/linux_cardputer_zero</strong><span>package · namespace · high</span><small>模块边界:apps/linux_cardputer_zero 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:apps-linux_cardputer_zero"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:apps/linux_cardputer_zero"
data-praxis-document-summary="解释 apps/linux_cardputer_zero 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:apps/linux_cardputer_zero</strong>
<small>解释 apps/linux_cardputer_zero 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:main"
data-praxis-document-summary="function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L49,协调多个外部对象或能力,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:main</strong>
<small>function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L49,协调多个外部对象或能力,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:contains"
data-praxis-document-summary="function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L19,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:contains</strong>
<small>function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L19,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:not_contains"
data-praxis-document-summary="function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L24,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:not_contains</strong>
<small>function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L24,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:read_file"
data-praxis-document-summary="function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L10,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:read_file</strong>
<small>function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L10,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:apps-linux_sim_shell" data-praxis-kind="uml_package">
<h3>linux_sim_shell</h3>
<p>apps/linux_sim_shell 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-apps-linux_sim_shell:engineering:package:apps-linux_sim_shell" data-praxis-kind="uml_element"><strong>模块边界:apps/linux_sim_shell</strong><span>package · namespace · high</span><small>模块边界:apps/linux_sim_shell 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:apps-linux_sim_shell"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:apps/linux_sim_shell"
data-praxis-document-summary="解释 apps/linux_sim_shell 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:apps/linux_sim_shell</strong>
<small>解释 apps/linux_sim_shell 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:apps-linux_uconsole_gtk" data-praxis-kind="uml_package">
<h3>linux_uconsole_gtk</h3>
<p>apps/linux_uconsole_gtk 命名空间下组织 12 个直接模型元素,并通过 12 张 package、component 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:component:-expect:engineering:component:function:expect:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:15" data-praxis-kind="uml_element"><strong>函数节点:expect</strong><span>component · classifier · high</span><small>函数节点:expect 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-launchmaplayout:engineering:component:function:launchmaplayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_layout.cpp:105" data-praxis-kind="uml_element"><strong>函数节点:launchMapLayout</strong><span>component · classifier · high</span><small>函数节点:launchMapLayout 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-launchsettingslayout:engineering:component:function:launchsettingslayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:110" data-praxis-kind="uml_element"><strong>函数节点:launchSettingsLayout</strong><span>component · classifier · high</span><small>函数节点:launchSettingsLayout 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-main:engineering:component:function:main:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:89" data-praxis-kind="uml_element"><strong>函数节点:main</strong><span>component · classifier · high</span><small>函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-makelabel:engineering:component:function:makelabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:9" data-praxis-kind="uml_element"><strong>函数节点:makeLabel</strong><span>component · classifier · high</span><small>函数节点:makeLabel 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-makesettingsrow:engineering:component:function:makesettingsrow:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:22" data-praxis-kind="uml_element"><strong>函数节点:makeSettingsRow</strong><span>component · classifier · high</span><small>函数节点:makeSettingsRow 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-makespin:engineering:component:function:makespin:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:68" data-praxis-kind="uml_element"><strong>函数节点:makeSpin</strong><span>component · classifier · high</span><small>函数节点:makeSpin 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-makeswitch:engineering:component:function:makeswitch:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:75" data-praxis-kind="uml_element"><strong>函数节点:makeSwitch</strong><span>component · classifier · high</span><small>函数节点:makeSwitch 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-refreshmap:engineering:component:function:refreshmap:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_logic.cpp:1243" data-praxis-kind="uml_element"><strong>函数节点:refreshMap</strong><span>component · classifier · high</span><small>函数节点:refreshMap 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-refreshui:engineering:component:function:refreshui:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_shell.cpp:285" data-praxis-kind="uml_element"><strong>函数节点:refreshUi</strong><span>component · classifier · high</span><small>函数节点:refreshUi 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:component:-setlabel:engineering:component:function:setlabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:44" data-praxis-kind="uml_element"><strong>函数节点:setLabel</strong><span>component · classifier · high</span><small>函数节点:setLabel 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。</small></li><li data-praxis-anchor="model:software-structure:element:package:-apps-linux_uconsole_gtk:engineering:package:apps-linux_uconsole_gtk" data-praxis-kind="uml_element"><strong>模块边界:apps/linux_uconsole_gtk</strong><span>package · namespace · high</span><small>模块边界:apps/linux_uconsole_gtk 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:apps-linux_uconsole_gtk"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:apps/linux_uconsole_gtk"
data-praxis-document-summary="解释 apps/linux_uconsole_gtk 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:apps/linux_uconsole_gtk</strong>
<small>解释 apps/linux_uconsole_gtk 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:launchsettingslayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:110"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:launchSettingsLayout"
data-praxis-document-summary="function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L110,协调多个外部对象或能力,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:launchSettingsLayout</strong>
<small>function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L110,协调多个外部对象或能力,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:makelabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:9"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:makeLabel"
data-praxis-document-summary="function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_widgets.cpp#L9,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:makeLabel</strong>
<small>function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_widgets.cpp#L9,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:makesettingsrow:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:22"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:makeSettingsRow"
data-praxis-document-summary="function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L22,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:makeSettingsRow</strong>
<small>function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L22,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:refreshui:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_shell.cpp:285"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:refreshUi"
data-praxis-document-summary="function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_shell.cpp#L285,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:refreshUi</strong>
<small>function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_shell.cpp#L285,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:refreshmap:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_logic.cpp:1243"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:refreshMap"
data-praxis-document-summary="function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_map_logic.cpp#L1243,协调多个外部对象或能力,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:refreshMap</strong>
<small>function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_map_logic.cpp#L1243,协调多个外部对象或能力,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:main:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:89"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:main"
data-praxis-document-summary="function 位于 apps/linux_uconsole_gtk/tests/uconsole_meshtastic_node_payload_smoke.cpp#L89,协调多个外部对象或能力,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:main</strong>
<small>function 位于 apps/linux_uconsole_gtk/tests/uconsole_meshtastic_node_payload_smoke.cpp#L89,协调多个外部对象或能力,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:launchmaplayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_layout.cpp:105"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:launchMapLayout"
data-praxis-document-summary="function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_map_layout.cpp#L105,协调多个外部对象或能力,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:launchMapLayout</strong>
<small>function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_map_layout.cpp#L105,协调多个外部对象或能力,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:expect:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:15"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:expect"
data-praxis-document-summary="function 位于 apps/linux_uconsole_gtk/tests/uconsole_meshtastic_node_payload_smoke.cpp#L15,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:expect</strong>
<small>function 位于 apps/linux_uconsole_gtk/tests/uconsole_meshtastic_node_payload_smoke.cpp#L15,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:makeswitch:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:75"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:makeSwitch"
data-praxis-document-summary="function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L75,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:makeSwitch</strong>
<small>function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L75,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:setlabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:44"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:setLabel"
data-praxis-document-summary="function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_widgets.cpp#L44,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:setLabel</strong>
<small>function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_widgets.cpp#L44,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:component:function:makespin:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:68"
data-praxis-kind="uml_diagram"
data-praxis-document-title="函数节点:makeSpin"
data-praxis-document-summary="function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L68,被多个对象复用或依赖,用于解释技术协作和变更影响面。"
data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.md"
data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.html"
>
<span>component · candidate · high</span>
<strong>函数节点:makeSpin</strong>
<small>function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L68,被多个对象复用或依赖,用于解释技术协作和变更影响面。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:apps-nrf52_node" data-praxis-kind="uml_package">
<h3>nrf52_node</h3>
<p>apps/nrf52_node 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-apps-nrf52_node:engineering:package:apps-nrf52_node" data-praxis-kind="uml_element"><strong>模块边界:apps/nrf52_node</strong><span>package · namespace · high</span><small>模块边界:apps/nrf52_node 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:apps-nrf52_node"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:apps/nrf52_node"
data-praxis-document-summary="解释 apps/nrf52_node 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:apps/nrf52_node</strong>
<small>解释 apps/nrf52_node 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
<article class="package-card" data-praxis-anchor="model:software-structure:package:apps-readme.md" data-praxis-kind="uml_package">
<h3>README.md</h3>
<p>apps/README.md 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。</p>
<ul class="element-list"><li data-praxis-anchor="model:software-structure:element:package:-apps-readme.md:engineering:package:apps-readme.md" data-praxis-kind="uml_element"><strong>模块边界:apps/README.md</strong><span>package · namespace · high</span><small>模块边界:apps/README.md 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。</small></li></ul>
<div class="diagram-list">
<button
type="button"
class="diagram-entry-card"
data-praxis-anchor="engineering:package:apps-readme.md"
data-praxis-kind="uml_diagram"
data-praxis-document-title="模块边界:apps/README.md"
data-praxis-document-summary="解释 apps/README.md 的包/模块边界、文件数量、符号数量和跨模块依赖。"
data-praxis-document-md="docs/engineering/package-diagrams/apps-readme-md/package-diagram.md"
data-praxis-document-html="docs/engineering/package-diagrams/apps-readme-md/package-diagram.html"
>
<span>package · candidate · high</span>
<strong>模块边界:apps/README.md</strong>
<small>解释 apps/README.md 的包/模块边界、文件数量、符号数量和跨模块依赖。</small>
</button>
</div>
</article>
</section>
<section class="trace-list" data-praxis-anchor="model:software-structure:trace" data-praxis-kind="trace_index">
<h2>Trace / Refine</h2>
<ul><li><strong>refine</strong> model:organization-process -> model:software-structure:组织/过程模型中的 UseCase、Activity 和业务概念需要通过 Trace / Refine 连接到承载它们的软件结构。</li><li><strong>realize</strong> model:software-structure -> model:deployment-artifact:软件结构中的 Component、Interface 和 Classifier 最终应映射到 Artifact、Node 或 ExecutionEnvironment。</li><li><strong>project</strong> model:software-structure -> projection:engineering-explorerEngineering Explorer 投影 是 model:software-structure 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。</li><li><strong>project</strong> model:software-structure -> projection:architecture-c4Architecture Explorer / C4 投影 是 model:software-structure 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。</li></ul>
</section>
<script type="application/json" id="praxis-uml-model-document">{"model":{"id":"model:software-structure","kind":"software_structure","title":"软件结构模型","viewpoint":"描述 Package、Component、Interface、Port、Class、Connector、结构协作和运行时 Interaction","stakeholder":["架构师","开发者","维护者","评审者"],"abstractionLevel":"package / component / classifier / owned behavior","purpose":"解释软件如何被模块化、如何通过接口协作、哪些结构承载业务用例;不把目录、调用密度或工具指标当成模型对象。","authority":"docs/models/software-structure 是归一化模型目录;docs/engineering 作为软件结构模型的兼容投影输入共同承载。","diagrams":[{"id":"engineering:diagram:package:managed_components","kind":"package","title":"模块边界:managed_components","summary":"解释 managed_components 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"managed_components","docPath":"docs/engineering/package-diagrams/managed_components/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/managed_components/package-diagram.html","anchor":"engineering:package:managed_components","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:build-t_display_p4_tft","kind":"package","title":"模块边界:build.t_display_p4_tft","summary":"解释 build.t_display_p4_tft 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"build.t_display_p4_tft","docPath":"docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.html","anchor":"engineering:package:build.t_display_p4_tft","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:build-tdisplayp4_tft","kind":"package","title":"模块边界:build.tdisplayp4_tft","summary":"解释 build.tdisplayp4_tft 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"build.tdisplayp4_tft","docPath":"docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.html","anchor":"engineering:package:build.tdisplayp4_tft","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:boards","kind":"package","title":"模块边界:boards","summary":"解释 boards 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/package-diagrams/boards/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/boards/package-diagram.html","anchor":"engineering:package:boards","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:build-tdisplayp4_amoled","kind":"package","title":"模块边界:build.tdisplayp4_amoled","summary":"解释 build.tdisplayp4_amoled 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"build.tdisplayp4_amoled","docPath":"docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.html","anchor":"engineering:package:build.tdisplayp4_amoled","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:build-c6_companion","kind":"package","title":"模块边界:build.c6_companion","summary":"解释 build.c6_companion 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"build.c6_companion","docPath":"docs/engineering/package-diagrams/build-c6_companion/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/build-c6_companion/package-diagram.html","anchor":"engineering:package:build.c6_companion","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:apps-linux_uconsole_gtk","kind":"package","title":"模块边界:apps/linux_uconsole_gtk","summary":"解释 apps/linux_uconsole_gtk 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.html","anchor":"engineering:package:apps-linux_uconsole_gtk","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:apps-esp32_lvgl","kind":"package","title":"模块边界:apps/esp32_lvgl","summary":"解释 apps/esp32_lvgl 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.html","anchor":"engineering:package:apps-esp32_lvgl","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:firmware","kind":"package","title":"模块边界:firmware","summary":"解释 firmware 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"firmware","docPath":"docs/engineering/package-diagrams/firmware/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/firmware/package-diagram.html","anchor":"engineering:package:firmware","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:apps-nrf52_node","kind":"package","title":"模块边界:apps/nrf52_node","summary":"解释 apps/nrf52_node 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/nrf52_node","docPath":"docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.html","anchor":"engineering:package:apps-nrf52_node","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:apps-linux_cardputer_zero","kind":"package","title":"模块边界:apps/linux_cardputer_zero","summary":"解释 apps/linux_cardputer_zero 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/linux_cardputer_zero","docPath":"docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.html","anchor":"engineering:package:apps-linux_cardputer_zero","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:apps-linux_sim_shell","kind":"package","title":"模块边界:apps/linux_sim_shell","summary":"解释 apps/linux_sim_shell 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/linux_sim_shell","docPath":"docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.html","anchor":"engineering:package:apps-linux_sim_shell","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:builds","kind":"package","title":"模块边界:builds","summary":"解释 builds 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"builds","docPath":"docs/engineering/package-diagrams/builds/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/builds/package-diagram.html","anchor":"engineering:package:builds","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:images","kind":"package","title":"模块边界:images","summary":"解释 images 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"images","docPath":"docs/engineering/package-diagrams/images/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/images/package-diagram.html","anchor":"engineering:package:images","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:cmake","kind":"package","title":"模块边界:cmake","summary":"解释 cmake 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"cmake","docPath":"docs/engineering/package-diagrams/cmake/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/cmake/package-diagram.html","anchor":"engineering:package:cmake","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:apps-readme-md","kind":"package","title":"模块边界:apps/README.md","summary":"解释 apps/README.md 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/README.md","docPath":"docs/engineering/package-diagrams/apps-readme-md/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-readme-md/package-diagram.html","anchor":"engineering:package:apps-readme.md","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:copyright","kind":"package","title":"模块边界:COPYRIGHT","summary":"解释 COPYRIGHT 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"COPYRIGHT","docPath":"docs/engineering/package-diagrams/copyright/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/copyright/package-diagram.html","anchor":"engineering:package:copyright","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:package:license","kind":"package","title":"模块边界:LICENSE","summary":"解释 LICENSE 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"LICENSE","docPath":"docs/engineering/package-diagrams/license/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/license/package-diagram.html","anchor":"engineering:package:license","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-main","kind":"component","title":"函数节点:main","summary":"function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L49,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_cardputer_zero","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html","anchor":"engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-contains","kind":"component","title":"函数节点:contains","summary":"function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L19,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_cardputer_zero","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-launchsettingslayout","kind":"component","title":"函数节点:launchSettingsLayout","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L110,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.html","anchor":"engineering:component:function:launchsettingslayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:110","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-makelabel","kind":"component","title":"函数节点:makeLabel","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_widgets.cpp#L9,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.html","anchor":"engineering:component:function:makelabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:9","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-makesettingsrow","kind":"component","title":"函数节点:makeSettingsRow","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L22,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.html","anchor":"engineering:component:function:makesettingsrow:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:22","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-esp32_lvgl-main","kind":"component","title":"函数节点:main","summary":"function 位于 apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L33,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.html","anchor":"engineering:component:function:main:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:33","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-not_contains","kind":"component","title":"函数节点:not_contains","summary":"function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L24,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_cardputer_zero","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html","anchor":"engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:firmware-main","kind":"component","title":"服务对象:main","summary":"function 位于 firmware/c6_companion/tests/test_tm_services_functional.cpp#L97,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"firmware","docPath":"docs/engineering/component-diagrams/firmware-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/firmware-main/component-diagram.html","anchor":"engineering:component:function:main:firmware-c6_companion-tests-test_tm_services_functional.cpp:97","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-esp32_lvgl-contains","kind":"component","title":"函数节点:contains","summary":"function 位于 apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L19,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:19","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:boards-makeboardprofile","kind":"component","title":"函数节点:makeBoardProfile","summary":"function 位于 boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L188,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.html","anchor":"engineering:component:function:makeboardprofile:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:188","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:boards-pinnum","kind":"component","title":"函数节点:pinNum","summary":"function 位于 boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L8,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/component-diagrams/boards-pinnum/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/boards-pinnum/component-diagram.html","anchor":"engineering:component:function:pinnum:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:8","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-refreshui","kind":"component","title":"函数节点:refreshUi","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_shell.cpp#L285,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.html","anchor":"engineering:component:function:refreshui:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_shell.cpp:285","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-refreshmap","kind":"component","title":"函数节点:refreshMap","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_map_logic.cpp#L1243,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.html","anchor":"engineering:component:function:refreshmap:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_logic.cpp:1243","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-read_file","kind":"component","title":"函数节点:read_file","summary":"function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L10,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_cardputer_zero","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html","anchor":"engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:firmware-tm_services_record_error","kind":"component","title":"界面组件:tm_services_record_error","summary":"function 位于 firmware/c6_companion/components/tm_services/tm_services.c#L471,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"firmware","docPath":"docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.html","anchor":"engineering:component:function:tm_services_record_error:firmware-c6_companion-components-tm_services-tm_services.c:471","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-main","kind":"component","title":"函数节点:main","summary":"function 位于 apps/linux_uconsole_gtk/tests/uconsole_meshtastic_node_payload_smoke.cpp#L89,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.html","anchor":"engineering:component:function:main:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:89","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-launchmaplayout","kind":"component","title":"函数节点:launchMapLayout","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_map_layout.cpp#L105,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.html","anchor":"engineering:component:function:launchmaplayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_layout.cpp:105","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-esp32_lvgl-companion_enter","kind":"component","title":"函数节点:companion_enter","summary":"function 位于 apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp#L72,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.html","anchor":"engineering:component:function:companion_enter:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:72","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-expect","kind":"component","title":"函数节点:expect","summary":"function 位于 apps/linux_uconsole_gtk/tests/uconsole_meshtastic_node_payload_smoke.cpp#L15,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.html","anchor":"engineering:component:function:expect:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:15","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-makeswitch","kind":"component","title":"函数节点:makeSwitch","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L75,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.html","anchor":"engineering:component:function:makeswitch:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:75","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-setlabel","kind":"component","title":"函数节点:setLabel","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_widgets.cpp#L44,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.html","anchor":"engineering:component:function:setlabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:44","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-makespin","kind":"component","title":"函数节点:makeSpin","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L68,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.html","anchor":"engineering:component:function:makespin:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:68","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:class-structural:boards-gat562_mesh_evb_pro-include-boards","kind":"class","title":"结构协作:结构切片 boards · gat562_mesh_evb_pro/include/boards","summary":"解释 boards/gat562_mesh_evb_pro/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 Gat562Board、SX1262、Sx1262RadioPacketIo、Gat562Board::I2cGuard、GpsRuntime。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-gat562_mesh_evb_pro-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-t_echo_lite-include-boards","kind":"class","title":"结构协作:结构切片 boards · t_echo_lite/include/boards","summary":"解释 boards/t_echo_lite/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TEchoLiteBoard、Sx1262RadioPacketIo、TEchoLiteBoard::I2cGuard、GpsRuntime、Module。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-t_echo_lite-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-tab5-include-boards","kind":"class","title":"结构协作:结构切片 boards · tab5/include/boards","summary":"解释 boards/tab5/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 Tab5Board、Tab5Board::ManagedSystemI2cGuard、Tab5Board::SysI2cGuard、CodecCompat。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tab5-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-t_display_p4-include-boards","kind":"class","title":"结构协作:结构切片 boards · t_display_p4/include/boards","summary":"解释 boards/t_display_p4/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDisplayP4Board、TDisplayP4Board::ManagedSystemI2cGuard。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-t_display_p4-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-tlora_pager-include-boards","kind":"class","title":"结构协作:结构切片 boards · tlora_pager/include/boards","summary":"解释 boards/tlora_pager/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TLoRaPagerBoard、SX1262Access、AppContext。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tlora_pager-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-tdeck-include-boards","kind":"class","title":"结构协作:结构切片 boards · tdeck/include/boards","summary":"解释 boards/tdeck/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDeckBoard、SX1262Access。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tdeck-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-tdeck_pro-include-boards","kind":"class","title":"结构协作:结构切片 boards · tdeck_pro/include/boards","summary":"解释 boards/tdeck_pro/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDeckProBoard、SX1262Access。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tdeck_pro-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-twatchs3-include-boards","kind":"class","title":"结构协作:结构切片 boards · twatchs3/include/boards","summary":"解释 boards/twatchs3/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TWatchS3Board、SX1262Access。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-twatchs3-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-gat562_mesh_evb_pro","kind":"class","title":"结构协作:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro","summary":"解释 boards/gat562_mesh_evb_pro 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 gat562_mesh_evb_pro中的结构职责;候选对象包括 Ssd1306MonoDisplay、ScopedGpsSuspend。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.html","anchor":"engineering:class-structural:boards-gat562_mesh_evb_pro","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-t_echo_lite","kind":"class","title":"结构协作:结构切片 t_echo_lite · t_echo_lite","summary":"解释 boards/t_echo_lite 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 t_echo_lite中的结构职责;候选对象包括 EpaperMonoDisplay、ScopedGpsSuspend。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.html","anchor":"engineering:class-structural:boards-t_echo_lite","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:sequence:tick-calls-log_loop_interval","kind":"sequence","title":"动态协作:tick 调用 log_loop_interval","summary":"apps/esp32_lvgl/src/esp32_lvgl_arduino_loop_runtime.cpp 中的 tick calls apps/esp32_lvgl/src/esp32_lvgl_arduino_loop_runtime.cpp 中的 log_loop_interval。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.html","anchor":"engineering:runtime-flow:tick:log_loop_interval:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:add_status_line-calls-add_label","kind":"sequence","title":"动态协作:add_status_line 调用 add_label","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:add_status_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:add_u32_line-calls-add_label","kind":"sequence","title":"动态协作:add_u32_line 调用 add_label","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_u32_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:add_u32_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:add_hex_line-calls-add_status_line","kind":"sequence","title":"动态协作:add_hex_line 调用 add_status_line","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_hex_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.html","anchor":"engineering:runtime-flow:add_hex_line:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:companion_enter-calls-add_label","kind":"sequence","title":"动态协作:companion_enter 调用 add_label","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:companion_enter:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:companion_enter-calls-add_status_line","kind":"sequence","title":"动态协作:companion_enter 调用 add_status_line","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.html","anchor":"engineering:runtime-flow:companion_enter:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:companion_enter-calls-add_u32_line","kind":"sequence","title":"动态协作:companion_enter 调用 add_u32_line","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_u32_line。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.html","anchor":"engineering:runtime-flow:companion_enter:add_u32_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:companion_enter-calls-add_hex_line","kind":"sequence","title":"动态协作:companion_enter 调用 add_hex_line","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_hex_line。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.html","anchor":"engineering:runtime-flow:companion_enter:add_hex_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime","kind":"sequence","title":"动态协作:startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime","summary":"apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 startEsp32LvglLoopRuntime calls apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 canStartEsp32LvglLoopRuntime。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html","anchor":"engineering:runtime-flow:startesp32lvglloopruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile","kind":"sequence","title":"动态协作:hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile","summary":"apps/esp32_lvgl/src/esp32_lvgl_runtime_config.cpp 中的 hasEsp32LvglRuntimeTargetProfile calls apps/esp32_lvgl/src/esp32_lvgl_runtime_config.cpp 中的 esp32LvglRuntimeTargetProfile。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.html","anchor":"engineering:runtime-flow:hasesp32lvglruntimetargetprofile:esp32lvglruntimetargetprofile:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:showbootui-calls-lockui","kind":"sequence","title":"动态协作:showBootUi 调用 lockUi","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 lockUi。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.html","anchor":"engineering:runtime-flow:showbootui:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:showbootui-calls-unlockui","kind":"sequence","title":"动态协作:showBootUi 调用 unlockUi","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 unlockUi。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.html","anchor":"engineering:runtime-flow:showbootui:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:setbootlog-calls-lockui","kind":"sequence","title":"动态协作:setBootLog 调用 lockUi","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 lockUi。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.html","anchor":"engineering:runtime-flow:setbootlog:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:setbootlog-calls-unlockui","kind":"sequence","title":"动态协作:setBootLog 调用 unlockUi","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 unlockUi。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.html","anchor":"engineering:runtime-flow:setbootlog:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime","kind":"sequence","title":"动态协作:canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 canRunEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 canStartEsp32LvglLoopRuntime。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html","anchor":"engineering:runtime-flow:canrunesp32lvglstartupruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime","kind":"sequence","title":"动态协作:runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 canRunEsp32LvglStartupRuntime。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.html","anchor":"engineering:runtime-flow:runesp32lvglstartupruntime:canrunesp32lvglstartupruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:runesp32lvglstartupruntime-calls-showbootui","kind":"sequence","title":"动态协作:runEsp32LvglStartupRuntime 调用 showBootUi","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.html","anchor":"engineering:runtime-flow:runesp32lvglstartupruntime:showbootui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:runesp32lvglstartupruntime-calls-setbootlog","kind":"sequence","title":"动态协作:runEsp32LvglStartupRuntime 调用 setBootLog","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.html","anchor":"engineering:runtime-flow:runesp32lvglstartupruntime:setbootlog:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]}],"anchor":"model:software-structure","docPath":"docs/models/software-structure/model.md","htmlPath":"docs/models/software-structure/model.html","status":"candidate","packages":[{"id":"model:software-structure:package:root","title":"软件结构模型","packagePath":".","summary":"Model 根命名空间下组织 0 个直接模型元素,并通过 0 张 UML 图呈现。","modelId":"model:software-structure","childPackageIds":["model:software-structure:package:managed_components","model:software-structure:package:build.t_display_p4_tft","model:software-structure:package:build.tdisplayp4_tft","model:software-structure:package:boards","model:software-structure:package:build.tdisplayp4_amoled","model:software-structure:package:build.c6_companion","model:software-structure:package:apps","model:software-structure:package:firmware","model:software-structure:package:builds","model:software-structure:package:images","model:software-structure:package:cmake","model:software-structure:package:copyright","model:software-structure:package:license"],"level":0,"elementCount":0,"elements":[],"diagramCount":0,"diagrams":[]},{"id":"model:software-structure:package:apps","title":"apps","packagePath":"apps","summary":"apps 命名空间下组织 0 个直接模型元素,并通过 0 张 UML 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":["model:software-structure:package:apps-linux_uconsole_gtk","model:software-structure:package:apps-esp32_lvgl","model:software-structure:package:apps-nrf52_node","model:software-structure:package:apps-linux_cardputer_zero","model:software-structure:package:apps-linux_sim_shell","model:software-structure:package:apps-readme.md"],"level":1,"elementCount":0,"elements":[],"diagramCount":0,"diagrams":[]},{"id":"model:software-structure:package:boards","title":"boards","packagePath":"boards","summary":"boards 命名空间下组织 13 个直接模型元素,并通过 13 张 package、component、class 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":13,"elements":[{"id":"model:software-structure:element:component:-makeboardprofile:engineering:component:function:makeboardprofile:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:188","kind":"component","role":"classifier","name":"函数节点:makeBoardProfile","summary":"函数节点:makeBoardProfile 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:component:boards-makeboardprofile"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.md","docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.html"]},{"id":"model:software-structure:element:component:-pinnum:engineering:component:function:pinnum:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:8","kind":"component","role":"classifier","name":"函数节点:pinNum","summary":"函数节点:pinNum 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:component:boards-pinnum"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/boards-pinnum/component-diagram.md","docs/engineering/component-diagrams/boards-pinnum/component-diagram.html"]},{"id":"model:software-structure:element:class:-boards-gat562_mesh_evb_pro-include-boards:engineering:class-structural:boards-gat562_mesh_evb_pro-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · gat562_mesh_evb_pro/include/boards","summary":"结构协作:结构切片 boards · gat562_mesh_evb_pro/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-gat562_mesh_evb_pro-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-t_display_p4-include-boards:engineering:class-structural:boards-t_display_p4-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · t_display_p4/include/boards","summary":"结构协作:结构切片 boards · t_display_p4/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-t_display_p4-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-t_echo_lite-include-boards:engineering:class-structural:boards-t_echo_lite-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · t_echo_lite/include/boards","summary":"结构协作:结构切片 boards · t_echo_lite/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-t_echo_lite-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-tab5-include-boards:engineering:class-structural:boards-tab5-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · tab5/include/boards","summary":"结构协作:结构切片 boards · tab5/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-tab5-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-tdeck_pro-include-boards:engineering:class-structural:boards-tdeck_pro-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · tdeck_pro/include/boards","summary":"结构协作:结构切片 boards · tdeck_pro/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-tdeck_pro-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-tdeck-include-boards:engineering:class-structural:boards-tdeck-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · tdeck/include/boards","summary":"结构协作:结构切片 boards · tdeck/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-tdeck-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-tlora_pager-include-boards:engineering:class-structural:boards-tlora_pager-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · tlora_pager/include/boards","summary":"结构协作:结构切片 boards · tlora_pager/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-tlora_pager-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-twatchs3-include-boards:engineering:class-structural:boards-twatchs3-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · twatchs3/include/boards","summary":"结构协作:结构切片 boards · twatchs3/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-twatchs3-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-gat562_mesh_evb_pro-gat562_mesh_evb_pro:engineering:class-structural:boards-gat562_mesh_evb_pro","kind":"class","role":"classifier","name":"结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro","summary":"结构协作:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-gat562_mesh_evb_pro"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-t_echo_lite-t_echo_lite:engineering:class-structural:boards-t_echo_lite","kind":"class","role":"classifier","name":"结构切片 t_echo_lite · t_echo_lite","summary":"结构协作:结构切片 t_echo_lite · t_echo_lite 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-t_echo_lite"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.html"]},{"id":"model:software-structure:element:package:-boards:engineering:package:boards","kind":"package","role":"namespace","name":"模块边界:boards","summary":"模块边界:boards 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:package:boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/boards/package-diagram.md","docs/engineering/package-diagrams/boards/package-diagram.html"]}],"diagramCount":13,"diagrams":[{"id":"engineering:diagram:package:boards","kind":"package","title":"模块边界:boards","summary":"解释 boards 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/package-diagrams/boards/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/boards/package-diagram.html","anchor":"engineering:package:boards","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:component:boards-makeboardprofile","kind":"component","title":"函数节点:makeBoardProfile","summary":"function 位于 boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L188,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.html","anchor":"engineering:component:function:makeboardprofile:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:188","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:boards-pinnum","kind":"component","title":"函数节点:pinNum","summary":"function 位于 boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L8,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/component-diagrams/boards-pinnum/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/boards-pinnum/component-diagram.html","anchor":"engineering:component:function:pinnum:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:8","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:class-structural:boards-gat562_mesh_evb_pro-include-boards","kind":"class","title":"结构协作:结构切片 boards · gat562_mesh_evb_pro/include/boards","summary":"解释 boards/gat562_mesh_evb_pro/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 Gat562Board、SX1262、Sx1262RadioPacketIo、Gat562Board::I2cGuard、GpsRuntime。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-gat562_mesh_evb_pro-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-t_echo_lite-include-boards","kind":"class","title":"结构协作:结构切片 boards · t_echo_lite/include/boards","summary":"解释 boards/t_echo_lite/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TEchoLiteBoard、Sx1262RadioPacketIo、TEchoLiteBoard::I2cGuard、GpsRuntime、Module。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-t_echo_lite-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-tab5-include-boards","kind":"class","title":"结构协作:结构切片 boards · tab5/include/boards","summary":"解释 boards/tab5/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 Tab5Board、Tab5Board::ManagedSystemI2cGuard、Tab5Board::SysI2cGuard、CodecCompat。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tab5-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-t_display_p4-include-boards","kind":"class","title":"结构协作:结构切片 boards · t_display_p4/include/boards","summary":"解释 boards/t_display_p4/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDisplayP4Board、TDisplayP4Board::ManagedSystemI2cGuard。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-t_display_p4-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-tlora_pager-include-boards","kind":"class","title":"结构协作:结构切片 boards · tlora_pager/include/boards","summary":"解释 boards/tlora_pager/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TLoRaPagerBoard、SX1262Access、AppContext。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tlora_pager-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-tdeck-include-boards","kind":"class","title":"结构协作:结构切片 boards · tdeck/include/boards","summary":"解释 boards/tdeck/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDeckBoard、SX1262Access。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tdeck-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-tdeck_pro-include-boards","kind":"class","title":"结构协作:结构切片 boards · tdeck_pro/include/boards","summary":"解释 boards/tdeck_pro/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TDeckProBoard、SX1262Access。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tdeck_pro-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-twatchs3-include-boards","kind":"class","title":"结构协作:结构切片 boards · twatchs3/include/boards","summary":"解释 boards/twatchs3/include/boards 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 boards中的结构职责;候选对象包括 TWatchS3Board、SX1262Access。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-twatchs3-include-boards","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-gat562_mesh_evb_pro","kind":"class","title":"结构协作:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro","summary":"解释 boards/gat562_mesh_evb_pro 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 gat562_mesh_evb_pro中的结构职责;候选对象包括 Ssd1306MonoDisplay、ScopedGpsSuspend。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.html","anchor":"engineering:class-structural:boards-gat562_mesh_evb_pro","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]},{"id":"engineering:diagram:class-structural:boards-t_echo_lite","kind":"class","title":"结构协作:结构切片 t_echo_lite · t_echo_lite","summary":"解释 boards/t_echo_lite 这一结构切片中类、接口、组件或值对象如何共同承担结构切片 t_echo_lite中的结构职责;候选对象包括 EpaperMonoDisplay、ScopedGpsSuspend。","modelId":"model:software-structure","packagePath":"boards","docPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.html","anchor":"engineering:class-structural:boards-t_echo_lite","status":"candidate","confidence":"high","representedElements":["Class","Interface","Association","Generalization","Realization"]}]},{"id":"model:software-structure:package:build.c6_companion","title":"build.c6_companion","packagePath":"build.c6_companion","summary":"build.c6_companion 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-build.c6_companion:engineering:package:build.c6_companion","kind":"package","role":"namespace","name":"模块边界:build.c6_companion","summary":"模块边界:build.c6_companion 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:build.c6_companion","packagePath":"build.c6_companion","representedByDiagramIds":["engineering:diagram:package:build-c6_companion"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/build-c6_companion/package-diagram.md","docs/engineering/package-diagrams/build-c6_companion/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:build-c6_companion","kind":"package","title":"模块边界:build.c6_companion","summary":"解释 build.c6_companion 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"build.c6_companion","docPath":"docs/engineering/package-diagrams/build-c6_companion/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/build-c6_companion/package-diagram.html","anchor":"engineering:package:build.c6_companion","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:build.t_display_p4_tft","title":"build.t_display_p4_tft","packagePath":"build.t_display_p4_tft","summary":"build.t_display_p4_tft 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-build.t_display_p4_tft:engineering:package:build.t_display_p4_tft","kind":"package","role":"namespace","name":"模块边界:build.t_display_p4_tft","summary":"模块边界:build.t_display_p4_tft 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:build.t_display_p4_tft","packagePath":"build.t_display_p4_tft","representedByDiagramIds":["engineering:diagram:package:build-t_display_p4_tft"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.md","docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:build-t_display_p4_tft","kind":"package","title":"模块边界:build.t_display_p4_tft","summary":"解释 build.t_display_p4_tft 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"build.t_display_p4_tft","docPath":"docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.html","anchor":"engineering:package:build.t_display_p4_tft","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:build.tdisplayp4_amoled","title":"build.tdisplayp4_amoled","packagePath":"build.tdisplayp4_amoled","summary":"build.tdisplayp4_amoled 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-build.tdisplayp4_amoled:engineering:package:build.tdisplayp4_amoled","kind":"package","role":"namespace","name":"模块边界:build.tdisplayp4_amoled","summary":"模块边界:build.tdisplayp4_amoled 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:build.tdisplayp4_amoled","packagePath":"build.tdisplayp4_amoled","representedByDiagramIds":["engineering:diagram:package:build-tdisplayp4_amoled"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.md","docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:build-tdisplayp4_amoled","kind":"package","title":"模块边界:build.tdisplayp4_amoled","summary":"解释 build.tdisplayp4_amoled 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"build.tdisplayp4_amoled","docPath":"docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.html","anchor":"engineering:package:build.tdisplayp4_amoled","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:build.tdisplayp4_tft","title":"build.tdisplayp4_tft","packagePath":"build.tdisplayp4_tft","summary":"build.tdisplayp4_tft 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-build.tdisplayp4_tft:engineering:package:build.tdisplayp4_tft","kind":"package","role":"namespace","name":"模块边界:build.tdisplayp4_tft","summary":"模块边界:build.tdisplayp4_tft 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:build.tdisplayp4_tft","packagePath":"build.tdisplayp4_tft","representedByDiagramIds":["engineering:diagram:package:build-tdisplayp4_tft"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.md","docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:build-tdisplayp4_tft","kind":"package","title":"模块边界:build.tdisplayp4_tft","summary":"解释 build.tdisplayp4_tft 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"build.tdisplayp4_tft","docPath":"docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.html","anchor":"engineering:package:build.tdisplayp4_tft","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:builds","title":"builds","packagePath":"builds","summary":"builds 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-builds:engineering:package:builds","kind":"package","role":"namespace","name":"模块边界:builds","summary":"模块边界:builds 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:builds","packagePath":"builds","representedByDiagramIds":["engineering:diagram:package:builds"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/builds/package-diagram.md","docs/engineering/package-diagrams/builds/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:builds","kind":"package","title":"模块边界:builds","summary":"解释 builds 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"builds","docPath":"docs/engineering/package-diagrams/builds/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/builds/package-diagram.html","anchor":"engineering:package:builds","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:cmake","title":"cmake","packagePath":"cmake","summary":"cmake 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-cmake:engineering:package:cmake","kind":"package","role":"namespace","name":"模块边界:cmake","summary":"模块边界:cmake 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:cmake","packagePath":"cmake","representedByDiagramIds":["engineering:diagram:package:cmake"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/cmake/package-diagram.md","docs/engineering/package-diagrams/cmake/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:cmake","kind":"package","title":"模块边界:cmake","summary":"解释 cmake 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"cmake","docPath":"docs/engineering/package-diagrams/cmake/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/cmake/package-diagram.html","anchor":"engineering:package:cmake","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:copyright","title":"COPYRIGHT","packagePath":"COPYRIGHT","summary":"COPYRIGHT 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-copyright:engineering:package:copyright","kind":"package","role":"namespace","name":"模块边界:COPYRIGHT","summary":"模块边界:COPYRIGHT 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:copyright","packagePath":"COPYRIGHT","representedByDiagramIds":["engineering:diagram:package:copyright"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/copyright/package-diagram.md","docs/engineering/package-diagrams/copyright/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:copyright","kind":"package","title":"模块边界:COPYRIGHT","summary":"解释 COPYRIGHT 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"COPYRIGHT","docPath":"docs/engineering/package-diagrams/copyright/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/copyright/package-diagram.html","anchor":"engineering:package:copyright","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:firmware","title":"firmware","packagePath":"firmware","summary":"firmware 命名空间下组织 3 个直接模型元素,并通过 3 张 package、component 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":3,"elements":[{"id":"model:software-structure:element:component:-main:engineering:component:function:main:firmware-c6_companion-tests-test_tm_services_functional.cpp:97","kind":"component","role":"classifier","name":"服务对象:main","summary":"服务对象:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:firmware","packagePath":"firmware","representedByDiagramIds":["engineering:diagram:component:firmware-main"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/firmware-main/component-diagram.md","docs/engineering/component-diagrams/firmware-main/component-diagram.html"]},{"id":"model:software-structure:element:component:-tm_services_record_error:engineering:component:function:tm_services_record_error:firmware-c6_companion-components-tm_services-tm_services.c:471","kind":"component","role":"classifier","name":"界面组件:tm_services_record_error","summary":"界面组件:tm_services_record_error 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:firmware","packagePath":"firmware","representedByDiagramIds":["engineering:diagram:component:firmware-tm_services_record_error"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.md","docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.html"]},{"id":"model:software-structure:element:package:-firmware:engineering:package:firmware","kind":"package","role":"namespace","name":"模块边界:firmware","summary":"模块边界:firmware 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:firmware","packagePath":"firmware","representedByDiagramIds":["engineering:diagram:package:firmware"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/firmware/package-diagram.md","docs/engineering/package-diagrams/firmware/package-diagram.html"]}],"diagramCount":3,"diagrams":[{"id":"engineering:diagram:package:firmware","kind":"package","title":"模块边界:firmware","summary":"解释 firmware 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"firmware","docPath":"docs/engineering/package-diagrams/firmware/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/firmware/package-diagram.html","anchor":"engineering:package:firmware","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:component:firmware-main","kind":"component","title":"服务对象:main","summary":"function 位于 firmware/c6_companion/tests/test_tm_services_functional.cpp#L97,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"firmware","docPath":"docs/engineering/component-diagrams/firmware-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/firmware-main/component-diagram.html","anchor":"engineering:component:function:main:firmware-c6_companion-tests-test_tm_services_functional.cpp:97","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:firmware-tm_services_record_error","kind":"component","title":"界面组件:tm_services_record_error","summary":"function 位于 firmware/c6_companion/components/tm_services/tm_services.c#L471,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"firmware","docPath":"docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.html","anchor":"engineering:component:function:tm_services_record_error:firmware-c6_companion-components-tm_services-tm_services.c:471","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]}]},{"id":"model:software-structure:package:images","title":"images","packagePath":"images","summary":"images 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-images:engineering:package:images","kind":"package","role":"namespace","name":"模块边界:images","summary":"模块边界:images 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:images","packagePath":"images","representedByDiagramIds":["engineering:diagram:package:images"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/images/package-diagram.md","docs/engineering/package-diagrams/images/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:images","kind":"package","title":"模块边界:images","summary":"解释 images 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"images","docPath":"docs/engineering/package-diagrams/images/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/images/package-diagram.html","anchor":"engineering:package:images","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:license","title":"LICENSE","packagePath":"LICENSE","summary":"LICENSE 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-license:engineering:package:license","kind":"package","role":"namespace","name":"模块边界:LICENSE","summary":"模块边界:LICENSE 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:license","packagePath":"LICENSE","representedByDiagramIds":["engineering:diagram:package:license"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/license/package-diagram.md","docs/engineering/package-diagrams/license/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:license","kind":"package","title":"模块边界:LICENSE","summary":"解释 LICENSE 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"LICENSE","docPath":"docs/engineering/package-diagrams/license/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/license/package-diagram.html","anchor":"engineering:package:license","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:managed_components","title":"managed_components","packagePath":"managed_components","summary":"managed_components 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:root","childPackageIds":[],"level":1,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-managed_components:engineering:package:managed_components","kind":"package","role":"namespace","name":"模块边界:managed_components","summary":"模块边界:managed_components 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:managed_components","packagePath":"managed_components","representedByDiagramIds":["engineering:diagram:package:managed_components"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/managed_components/package-diagram.md","docs/engineering/package-diagrams/managed_components/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:managed_components","kind":"package","title":"模块边界:managed_components","summary":"解释 managed_components 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"managed_components","docPath":"docs/engineering/package-diagrams/managed_components/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/managed_components/package-diagram.html","anchor":"engineering:package:managed_components","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:apps-esp32_lvgl","title":"esp32_lvgl","packagePath":"apps/esp32_lvgl","summary":"apps/esp32_lvgl 命名空间下组织 22 个直接模型元素,并通过 22 张 package、component、sequence 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:apps","childPackageIds":[],"level":2,"elementCount":22,"elements":[{"id":"model:software-structure:element:component:-companion_enter:engineering:component:function:companion_enter:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:72","kind":"component","role":"classifier","name":"函数节点:companion_enter","summary":"函数节点:companion_enter 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:component:apps-esp32_lvgl-companion_enter"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.md","docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.html"]},{"id":"model:software-structure:element:component:-contains:engineering:component:function:contains:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:19","kind":"component","role":"classifier","name":"函数节点:contains","summary":"函数节点:contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:component:apps-esp32_lvgl-contains"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.md","docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.html"]},{"id":"model:software-structure:element:component:-main:engineering:component:function:main:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:33","kind":"component","role":"classifier","name":"函数节点:main","summary":"函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:component:apps-esp32_lvgl-main"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.md","docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.html"]},{"id":"model:software-structure:element:package:-apps-esp32_lvgl:engineering:package:apps-esp32_lvgl","kind":"package","role":"namespace","name":"模块边界:apps/esp32_lvgl","summary":"模块边界:apps/esp32_lvgl 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:package:apps-esp32_lvgl"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.md","docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.html"]},{"id":"model:software-structure:element:interaction:add_hex_line-add_status_line:engineering:runtime-flow:add_hex_line:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"add_hex_line 调用 add_status_line","summary":"动态协作:add_hex_line 调用 add_status_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:add_hex_line-calls-add_status_line"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.md","docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:add_status_line-add_label:engineering:runtime-flow:add_status_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"add_status_line 调用 add_label","summary":"动态协作:add_status_line 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:add_status_line-calls-add_label"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.md","docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:add_u32_line-add_label:engineering:runtime-flow:add_u32_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"add_u32_line 调用 add_label","summary":"动态协作:add_u32_line 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:add_u32_line-calls-add_label"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.md","docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:canrunesp32lvglstartupruntime-canstartesp32lvglloopruntime:engineering:runtime-flow:canrunesp32lvglstartupruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime","summary":"动态协作:canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md","docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:companion_enter-add_hex_line:engineering:runtime-flow:companion_enter:add_hex_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"companion_enter 调用 add_hex_line","summary":"动态协作:companion_enter 调用 add_hex_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:companion_enter-calls-add_hex_line"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.md","docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:companion_enter-add_label:engineering:runtime-flow:companion_enter:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"companion_enter 调用 add_label","summary":"动态协作:companion_enter 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:companion_enter-calls-add_label"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.md","docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:companion_enter-add_status_line:engineering:runtime-flow:companion_enter:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"companion_enter 调用 add_status_line","summary":"动态协作:companion_enter 调用 add_status_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:companion_enter-calls-add_status_line"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.md","docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:companion_enter-add_u32_line:engineering:runtime-flow:companion_enter:add_u32_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"companion_enter 调用 add_u32_line","summary":"动态协作:companion_enter 调用 add_u32_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:companion_enter-calls-add_u32_line"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.md","docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:hasesp32lvglruntimetargetprofile-esp32lvglruntimetargetprofile:engineering:runtime-flow:hasesp32lvglruntimetargetprofile:esp32lvglruntimetargetprofile:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp","kind":"interaction","role":"owned_behavior","name":"hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile","summary":"动态协作:hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.md","docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:runesp32lvglstartupruntime-canrunesp32lvglstartupruntime:engineering:runtime-flow:runesp32lvglstartupruntime:canrunesp32lvglstartupruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime","summary":"动态协作:runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.md","docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:runesp32lvglstartupruntime-setbootlog:engineering:runtime-flow:runesp32lvglstartupruntime:setbootlog:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"runEsp32LvglStartupRuntime 调用 setBootLog","summary":"动态协作:runEsp32LvglStartupRuntime 调用 setBootLog 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:runesp32lvglstartupruntime-calls-setbootlog"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.md","docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:runesp32lvglstartupruntime-showbootui:engineering:runtime-flow:runesp32lvglstartupruntime:showbootui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"runEsp32LvglStartupRuntime 调用 showBootUi","summary":"动态协作:runEsp32LvglStartupRuntime 调用 showBootUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:runesp32lvglstartupruntime-calls-showbootui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.md","docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:setbootlog-lockui:engineering:runtime-flow:setbootlog:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"setBootLog 调用 lockUi","summary":"动态协作:setBootLog 调用 lockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:setbootlog-calls-lockui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.md","docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:setbootlog-unlockui:engineering:runtime-flow:setbootlog:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"setBootLog 调用 unlockUi","summary":"动态协作:setBootLog 调用 unlockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:setbootlog-calls-unlockui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.md","docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:showbootui-lockui:engineering:runtime-flow:showbootui:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"showBootUi 调用 lockUi","summary":"动态协作:showBootUi 调用 lockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:showbootui-calls-lockui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.md","docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:showbootui-unlockui:engineering:runtime-flow:showbootui:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"showBootUi 调用 unlockUi","summary":"动态协作:showBootUi 调用 unlockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:showbootui-calls-unlockui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.md","docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:startesp32lvglloopruntime-canstartesp32lvglloopruntime:engineering:runtime-flow:startesp32lvglloopruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime","summary":"动态协作:startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md","docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:tick-log_loop_interval:engineering:runtime-flow:tick:log_loop_interval:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"tick 调用 log_loop_interval","summary":"动态协作:tick 调用 log_loop_interval 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:tick-calls-log_loop_interval"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.md","docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.html"]}],"diagramCount":22,"diagrams":[{"id":"engineering:diagram:package:apps-esp32_lvgl","kind":"package","title":"模块边界:apps/esp32_lvgl","summary":"解释 apps/esp32_lvgl 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.html","anchor":"engineering:package:apps-esp32_lvgl","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:component:apps-esp32_lvgl-main","kind":"component","title":"函数节点:main","summary":"function 位于 apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L33,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.html","anchor":"engineering:component:function:main:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:33","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-esp32_lvgl-contains","kind":"component","title":"函数节点:contains","summary":"function 位于 apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L19,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:19","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-esp32_lvgl-companion_enter","kind":"component","title":"函数节点:companion_enter","summary":"function 位于 apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp#L72,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.html","anchor":"engineering:component:function:companion_enter:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:72","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:sequence:tick-calls-log_loop_interval","kind":"sequence","title":"动态协作:tick 调用 log_loop_interval","summary":"apps/esp32_lvgl/src/esp32_lvgl_arduino_loop_runtime.cpp 中的 tick calls apps/esp32_lvgl/src/esp32_lvgl_arduino_loop_runtime.cpp 中的 log_loop_interval。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.html","anchor":"engineering:runtime-flow:tick:log_loop_interval:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:add_status_line-calls-add_label","kind":"sequence","title":"动态协作:add_status_line 调用 add_label","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:add_status_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:add_u32_line-calls-add_label","kind":"sequence","title":"动态协作:add_u32_line 调用 add_label","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_u32_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:add_u32_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:add_hex_line-calls-add_status_line","kind":"sequence","title":"动态协作:add_hex_line 调用 add_status_line","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_hex_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.html","anchor":"engineering:runtime-flow:add_hex_line:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:companion_enter-calls-add_label","kind":"sequence","title":"动态协作:companion_enter 调用 add_label","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_label。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:companion_enter:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:companion_enter-calls-add_status_line","kind":"sequence","title":"动态协作:companion_enter 调用 add_status_line","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_status_line。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.html","anchor":"engineering:runtime-flow:companion_enter:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:companion_enter-calls-add_u32_line","kind":"sequence","title":"动态协作:companion_enter 调用 add_u32_line","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_u32_line。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.html","anchor":"engineering:runtime-flow:companion_enter:add_u32_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:companion_enter-calls-add_hex_line","kind":"sequence","title":"动态协作:companion_enter 调用 add_hex_line","summary":"apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 companion_enter calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp 中的 add_hex_line。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.html","anchor":"engineering:runtime-flow:companion_enter:add_hex_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime","kind":"sequence","title":"动态协作:startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime","summary":"apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 startEsp32LvglLoopRuntime calls apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 canStartEsp32LvglLoopRuntime。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html","anchor":"engineering:runtime-flow:startesp32lvglloopruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile","kind":"sequence","title":"动态协作:hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile","summary":"apps/esp32_lvgl/src/esp32_lvgl_runtime_config.cpp 中的 hasEsp32LvglRuntimeTargetProfile calls apps/esp32_lvgl/src/esp32_lvgl_runtime_config.cpp 中的 esp32LvglRuntimeTargetProfile。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.html","anchor":"engineering:runtime-flow:hasesp32lvglruntimetargetprofile:esp32lvglruntimetargetprofile:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:showbootui-calls-lockui","kind":"sequence","title":"动态协作:showBootUi 调用 lockUi","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 lockUi。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.html","anchor":"engineering:runtime-flow:showbootui:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:showbootui-calls-unlockui","kind":"sequence","title":"动态协作:showBootUi 调用 unlockUi","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 unlockUi。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.html","anchor":"engineering:runtime-flow:showbootui:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:setbootlog-calls-lockui","kind":"sequence","title":"动态协作:setBootLog 调用 lockUi","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 lockUi。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.html","anchor":"engineering:runtime-flow:setbootlog:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:setbootlog-calls-unlockui","kind":"sequence","title":"动态协作:setBootLog 调用 unlockUi","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 unlockUi。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.html","anchor":"engineering:runtime-flow:setbootlog:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime","kind":"sequence","title":"动态协作:canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 canRunEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_loop_runtime.cpp 中的 canStartEsp32LvglLoopRuntime。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html","anchor":"engineering:runtime-flow:canrunesp32lvglstartupruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime","kind":"sequence","title":"动态协作:runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 canRunEsp32LvglStartupRuntime。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.html","anchor":"engineering:runtime-flow:runesp32lvglstartupruntime:canrunesp32lvglstartupruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:runesp32lvglstartupruntime-calls-showbootui","kind":"sequence","title":"动态协作:runEsp32LvglStartupRuntime 调用 showBootUi","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 showBootUi。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.html","anchor":"engineering:runtime-flow:runesp32lvglstartupruntime:showbootui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]},{"id":"engineering:diagram:sequence:runesp32lvglstartupruntime-calls-setbootlog","kind":"sequence","title":"动态协作:runEsp32LvglStartupRuntime 调用 setBootLog","summary":"apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 runEsp32LvglStartupRuntime calls apps/esp32_lvgl/src/esp32_lvgl_startup_runtime.cpp 中的 setBootLog。","modelId":"model:software-structure","packagePath":"apps/esp32_lvgl","docPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.html","anchor":"engineering:runtime-flow:runesp32lvglstartupruntime:setbootlog:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","status":"candidate","confidence":"high","representedElements":["Interaction","Lifeline","Message"]}]},{"id":"model:software-structure:package:apps-linux_cardputer_zero","title":"linux_cardputer_zero","packagePath":"apps/linux_cardputer_zero","summary":"apps/linux_cardputer_zero 命名空间下组织 5 个直接模型元素,并通过 5 张 package、component 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:apps","childPackageIds":[],"level":2,"elementCount":5,"elements":[{"id":"model:software-structure:element:component:-contains:engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","kind":"component","role":"classifier","name":"函数节点:contains","summary":"函数节点:contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_cardputer_zero","packagePath":"apps/linux_cardputer_zero","representedByDiagramIds":["engineering:diagram:component:apps-linux_cardputer_zero-contains"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md","docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html"]},{"id":"model:software-structure:element:component:-main:engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","kind":"component","role":"classifier","name":"函数节点:main","summary":"函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_cardputer_zero","packagePath":"apps/linux_cardputer_zero","representedByDiagramIds":["engineering:diagram:component:apps-linux_cardputer_zero-main"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md","docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html"]},{"id":"model:software-structure:element:component:-not_contains:engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24","kind":"component","role":"classifier","name":"函数节点:not_contains","summary":"函数节点:not_contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_cardputer_zero","packagePath":"apps/linux_cardputer_zero","representedByDiagramIds":["engineering:diagram:component:apps-linux_cardputer_zero-not_contains"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md","docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html"]},{"id":"model:software-structure:element:component:-read_file:engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10","kind":"component","role":"classifier","name":"函数节点:read_file","summary":"函数节点:read_file 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_cardputer_zero","packagePath":"apps/linux_cardputer_zero","representedByDiagramIds":["engineering:diagram:component:apps-linux_cardputer_zero-read_file"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md","docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html"]},{"id":"model:software-structure:element:package:-apps-linux_cardputer_zero:engineering:package:apps-linux_cardputer_zero","kind":"package","role":"namespace","name":"模块边界:apps/linux_cardputer_zero","summary":"模块边界:apps/linux_cardputer_zero 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_cardputer_zero","packagePath":"apps/linux_cardputer_zero","representedByDiagramIds":["engineering:diagram:package:apps-linux_cardputer_zero"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.md","docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.html"]}],"diagramCount":5,"diagrams":[{"id":"engineering:diagram:package:apps-linux_cardputer_zero","kind":"package","title":"模块边界:apps/linux_cardputer_zero","summary":"解释 apps/linux_cardputer_zero 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/linux_cardputer_zero","docPath":"docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.html","anchor":"engineering:package:apps-linux_cardputer_zero","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-main","kind":"component","title":"函数节点:main","summary":"function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L49,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_cardputer_zero","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html","anchor":"engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-contains","kind":"component","title":"函数节点:contains","summary":"function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L19,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_cardputer_zero","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-not_contains","kind":"component","title":"函数节点:not_contains","summary":"function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L24,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_cardputer_zero","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html","anchor":"engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-read_file","kind":"component","title":"函数节点:read_file","summary":"function 位于 apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L10,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_cardputer_zero","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html","anchor":"engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]}]},{"id":"model:software-structure:package:apps-linux_sim_shell","title":"linux_sim_shell","packagePath":"apps/linux_sim_shell","summary":"apps/linux_sim_shell 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:apps","childPackageIds":[],"level":2,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-apps-linux_sim_shell:engineering:package:apps-linux_sim_shell","kind":"package","role":"namespace","name":"模块边界:apps/linux_sim_shell","summary":"模块边界:apps/linux_sim_shell 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_sim_shell","packagePath":"apps/linux_sim_shell","representedByDiagramIds":["engineering:diagram:package:apps-linux_sim_shell"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.md","docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:apps-linux_sim_shell","kind":"package","title":"模块边界:apps/linux_sim_shell","summary":"解释 apps/linux_sim_shell 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/linux_sim_shell","docPath":"docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.html","anchor":"engineering:package:apps-linux_sim_shell","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:apps-linux_uconsole_gtk","title":"linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","summary":"apps/linux_uconsole_gtk 命名空间下组织 12 个直接模型元素,并通过 12 张 package、component 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:apps","childPackageIds":[],"level":2,"elementCount":12,"elements":[{"id":"model:software-structure:element:component:-expect:engineering:component:function:expect:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:15","kind":"component","role":"classifier","name":"函数节点:expect","summary":"函数节点:expect 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-expect"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.html"]},{"id":"model:software-structure:element:component:-launchmaplayout:engineering:component:function:launchmaplayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_layout.cpp:105","kind":"component","role":"classifier","name":"函数节点:launchMapLayout","summary":"函数节点:launchMapLayout 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-launchmaplayout"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.html"]},{"id":"model:software-structure:element:component:-launchsettingslayout:engineering:component:function:launchsettingslayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:110","kind":"component","role":"classifier","name":"函数节点:launchSettingsLayout","summary":"函数节点:launchSettingsLayout 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-launchsettingslayout"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.html"]},{"id":"model:software-structure:element:component:-main:engineering:component:function:main:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:89","kind":"component","role":"classifier","name":"函数节点:main","summary":"函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-main"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.html"]},{"id":"model:software-structure:element:component:-makelabel:engineering:component:function:makelabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:9","kind":"component","role":"classifier","name":"函数节点:makeLabel","summary":"函数节点:makeLabel 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-makelabel"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.html"]},{"id":"model:software-structure:element:component:-makesettingsrow:engineering:component:function:makesettingsrow:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:22","kind":"component","role":"classifier","name":"函数节点:makeSettingsRow","summary":"函数节点:makeSettingsRow 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-makesettingsrow"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.html"]},{"id":"model:software-structure:element:component:-makespin:engineering:component:function:makespin:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:68","kind":"component","role":"classifier","name":"函数节点:makeSpin","summary":"函数节点:makeSpin 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-makespin"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.html"]},{"id":"model:software-structure:element:component:-makeswitch:engineering:component:function:makeswitch:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:75","kind":"component","role":"classifier","name":"函数节点:makeSwitch","summary":"函数节点:makeSwitch 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-makeswitch"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.html"]},{"id":"model:software-structure:element:component:-refreshmap:engineering:component:function:refreshmap:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_logic.cpp:1243","kind":"component","role":"classifier","name":"函数节点:refreshMap","summary":"函数节点:refreshMap 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-refreshmap"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.html"]},{"id":"model:software-structure:element:component:-refreshui:engineering:component:function:refreshui:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_shell.cpp:285","kind":"component","role":"classifier","name":"函数节点:refreshUi","summary":"函数节点:refreshUi 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-refreshui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.html"]},{"id":"model:software-structure:element:component:-setlabel:engineering:component:function:setlabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:44","kind":"component","role":"classifier","name":"函数节点:setLabel","summary":"函数节点:setLabel 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-setlabel"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.html"]},{"id":"model:software-structure:element:package:-apps-linux_uconsole_gtk:engineering:package:apps-linux_uconsole_gtk","kind":"package","role":"namespace","name":"模块边界:apps/linux_uconsole_gtk","summary":"模块边界:apps/linux_uconsole_gtk 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:package:apps-linux_uconsole_gtk"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.md","docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.html"]}],"diagramCount":12,"diagrams":[{"id":"engineering:diagram:package:apps-linux_uconsole_gtk","kind":"package","title":"模块边界:apps/linux_uconsole_gtk","summary":"解释 apps/linux_uconsole_gtk 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.html","anchor":"engineering:package:apps-linux_uconsole_gtk","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-launchsettingslayout","kind":"component","title":"函数节点:launchSettingsLayout","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L110,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.html","anchor":"engineering:component:function:launchsettingslayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:110","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-makelabel","kind":"component","title":"函数节点:makeLabel","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_widgets.cpp#L9,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.html","anchor":"engineering:component:function:makelabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:9","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-makesettingsrow","kind":"component","title":"函数节点:makeSettingsRow","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L22,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.html","anchor":"engineering:component:function:makesettingsrow:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:22","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-refreshui","kind":"component","title":"函数节点:refreshUi","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_shell.cpp#L285,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.html","anchor":"engineering:component:function:refreshui:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_shell.cpp:285","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-refreshmap","kind":"component","title":"函数节点:refreshMap","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_map_logic.cpp#L1243,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.html","anchor":"engineering:component:function:refreshmap:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_logic.cpp:1243","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-main","kind":"component","title":"函数节点:main","summary":"function 位于 apps/linux_uconsole_gtk/tests/uconsole_meshtastic_node_payload_smoke.cpp#L89,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.html","anchor":"engineering:component:function:main:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:89","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-launchmaplayout","kind":"component","title":"函数节点:launchMapLayout","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_map_layout.cpp#L105,协调多个外部对象或能力,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.html","anchor":"engineering:component:function:launchmaplayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_layout.cpp:105","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-expect","kind":"component","title":"函数节点:expect","summary":"function 位于 apps/linux_uconsole_gtk/tests/uconsole_meshtastic_node_payload_smoke.cpp#L15,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.html","anchor":"engineering:component:function:expect:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:15","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-makeswitch","kind":"component","title":"函数节点:makeSwitch","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L75,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.html","anchor":"engineering:component:function:makeswitch:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:75","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-setlabel","kind":"component","title":"函数节点:setLabel","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_widgets.cpp#L44,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.html","anchor":"engineering:component:function:setlabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:44","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]},{"id":"engineering:diagram:component:apps-linux_uconsole_gtk-makespin","kind":"component","title":"函数节点:makeSpin","summary":"function 位于 apps/linux_uconsole_gtk/src/platform/gtk/gtk_uconsole_settings_layout.cpp#L68,被多个对象复用或依赖,用于解释技术协作和变更影响面。","modelId":"model:software-structure","packagePath":"apps/linux_uconsole_gtk","docPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.html","anchor":"engineering:component:function:makespin:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:68","status":"candidate","confidence":"high","representedElements":["Component","Interface","Port","Connector"]}]},{"id":"model:software-structure:package:apps-nrf52_node","title":"nrf52_node","packagePath":"apps/nrf52_node","summary":"apps/nrf52_node 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:apps","childPackageIds":[],"level":2,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-apps-nrf52_node:engineering:package:apps-nrf52_node","kind":"package","role":"namespace","name":"模块边界:apps/nrf52_node","summary":"模块边界:apps/nrf52_node 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-nrf52_node","packagePath":"apps/nrf52_node","representedByDiagramIds":["engineering:diagram:package:apps-nrf52_node"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.md","docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:apps-nrf52_node","kind":"package","title":"模块边界:apps/nrf52_node","summary":"解释 apps/nrf52_node 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/nrf52_node","docPath":"docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.html","anchor":"engineering:package:apps-nrf52_node","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]},{"id":"model:software-structure:package:apps-readme.md","title":"README.md","packagePath":"apps/README.md","summary":"apps/README.md 命名空间下组织 1 个直接模型元素,并通过 1 张 package 图呈现。","modelId":"model:software-structure","parentPackageId":"model:software-structure:package:apps","childPackageIds":[],"level":2,"elementCount":1,"elements":[{"id":"model:software-structure:element:package:-apps-readme.md:engineering:package:apps-readme.md","kind":"package","role":"namespace","name":"模块边界:apps/README.md","summary":"模块边界:apps/README.md 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-readme.md","packagePath":"apps/README.md","representedByDiagramIds":["engineering:diagram:package:apps-readme-md"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-readme-md/package-diagram.md","docs/engineering/package-diagrams/apps-readme-md/package-diagram.html"]}],"diagramCount":1,"diagrams":[{"id":"engineering:diagram:package:apps-readme-md","kind":"package","title":"模块边界:apps/README.md","summary":"解释 apps/README.md 的包/模块边界、文件数量、符号数量和跨模块依赖。","modelId":"model:software-structure","packagePath":"apps/README.md","docPath":"docs/engineering/package-diagrams/apps-readme-md/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-readme-md/package-diagram.html","anchor":"engineering:package:apps-readme.md","status":"candidate","confidence":"high","representedElements":["Package","PackageImport","Dependency"]}]}],"elements":[{"id":"model:software-structure:element:component:-main:engineering:component:function:main:firmware-c6_companion-tests-test_tm_services_functional.cpp:97","kind":"component","role":"classifier","name":"服务对象:main","summary":"服务对象:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:firmware","packagePath":"firmware","representedByDiagramIds":["engineering:diagram:component:firmware-main"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/firmware-main/component-diagram.md","docs/engineering/component-diagrams/firmware-main/component-diagram.html"]},{"id":"model:software-structure:element:component:-companion_enter:engineering:component:function:companion_enter:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:72","kind":"component","role":"classifier","name":"函数节点:companion_enter","summary":"函数节点:companion_enter 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:component:apps-esp32_lvgl-companion_enter"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.md","docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.html"]},{"id":"model:software-structure:element:component:-contains:engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","kind":"component","role":"classifier","name":"函数节点:contains","summary":"函数节点:contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_cardputer_zero","packagePath":"apps/linux_cardputer_zero","representedByDiagramIds":["engineering:diagram:component:apps-linux_cardputer_zero-contains"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md","docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html"]},{"id":"model:software-structure:element:component:-contains:engineering:component:function:contains:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:19","kind":"component","role":"classifier","name":"函数节点:contains","summary":"函数节点:contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:component:apps-esp32_lvgl-contains"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.md","docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.html"]},{"id":"model:software-structure:element:component:-expect:engineering:component:function:expect:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:15","kind":"component","role":"classifier","name":"函数节点:expect","summary":"函数节点:expect 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-expect"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-expect/component-diagram.html"]},{"id":"model:software-structure:element:component:-launchmaplayout:engineering:component:function:launchmaplayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_layout.cpp:105","kind":"component","role":"classifier","name":"函数节点:launchMapLayout","summary":"函数节点:launchMapLayout 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-launchmaplayout"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchmaplayout/component-diagram.html"]},{"id":"model:software-structure:element:component:-launchsettingslayout:engineering:component:function:launchsettingslayout:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:110","kind":"component","role":"classifier","name":"函数节点:launchSettingsLayout","summary":"函数节点:launchSettingsLayout 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-launchsettingslayout"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-launchsettingslayout/component-diagram.html"]},{"id":"model:software-structure:element:component:-main:engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","kind":"component","role":"classifier","name":"函数节点:main","summary":"函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_cardputer_zero","packagePath":"apps/linux_cardputer_zero","representedByDiagramIds":["engineering:diagram:component:apps-linux_cardputer_zero-main"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md","docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html"]},{"id":"model:software-structure:element:component:-main:engineering:component:function:main:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:33","kind":"component","role":"classifier","name":"函数节点:main","summary":"函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:component:apps-esp32_lvgl-main"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.md","docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.html"]},{"id":"model:software-structure:element:component:-main:engineering:component:function:main:apps-linux_uconsole_gtk-tests-uconsole_meshtastic_node_payload_smoke.cpp:89","kind":"component","role":"classifier","name":"函数节点:main","summary":"函数节点:main 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-main"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-main/component-diagram.html"]},{"id":"model:software-structure:element:component:-makeboardprofile:engineering:component:function:makeboardprofile:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:188","kind":"component","role":"classifier","name":"函数节点:makeBoardProfile","summary":"函数节点:makeBoardProfile 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:component:boards-makeboardprofile"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.md","docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.html"]},{"id":"model:software-structure:element:component:-makelabel:engineering:component:function:makelabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:9","kind":"component","role":"classifier","name":"函数节点:makeLabel","summary":"函数节点:makeLabel 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-makelabel"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makelabel/component-diagram.html"]},{"id":"model:software-structure:element:component:-makesettingsrow:engineering:component:function:makesettingsrow:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:22","kind":"component","role":"classifier","name":"函数节点:makeSettingsRow","summary":"函数节点:makeSettingsRow 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-makesettingsrow"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makesettingsrow/component-diagram.html"]},{"id":"model:software-structure:element:component:-makespin:engineering:component:function:makespin:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:68","kind":"component","role":"classifier","name":"函数节点:makeSpin","summary":"函数节点:makeSpin 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-makespin"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makespin/component-diagram.html"]},{"id":"model:software-structure:element:component:-makeswitch:engineering:component:function:makeswitch:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_settings_layout.cpp:75","kind":"component","role":"classifier","name":"函数节点:makeSwitch","summary":"函数节点:makeSwitch 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-makeswitch"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-makeswitch/component-diagram.html"]},{"id":"model:software-structure:element:component:-not_contains:engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24","kind":"component","role":"classifier","name":"函数节点:not_contains","summary":"函数节点:not_contains 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_cardputer_zero","packagePath":"apps/linux_cardputer_zero","representedByDiagramIds":["engineering:diagram:component:apps-linux_cardputer_zero-not_contains"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md","docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html"]},{"id":"model:software-structure:element:component:-pinnum:engineering:component:function:pinnum:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:8","kind":"component","role":"classifier","name":"函数节点:pinNum","summary":"函数节点:pinNum 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:component:boards-pinnum"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/boards-pinnum/component-diagram.md","docs/engineering/component-diagrams/boards-pinnum/component-diagram.html"]},{"id":"model:software-structure:element:component:-read_file:engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10","kind":"component","role":"classifier","name":"函数节点:read_file","summary":"函数节点:read_file 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_cardputer_zero","packagePath":"apps/linux_cardputer_zero","representedByDiagramIds":["engineering:diagram:component:apps-linux_cardputer_zero-read_file"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md","docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html"]},{"id":"model:software-structure:element:component:-refreshmap:engineering:component:function:refreshmap:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_map_logic.cpp:1243","kind":"component","role":"classifier","name":"函数节点:refreshMap","summary":"函数节点:refreshMap 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-refreshmap"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshmap/component-diagram.html"]},{"id":"model:software-structure:element:component:-refreshui:engineering:component:function:refreshui:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_shell.cpp:285","kind":"component","role":"classifier","name":"函数节点:refreshUi","summary":"函数节点:refreshUi 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-refreshui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-refreshui/component-diagram.html"]},{"id":"model:software-structure:element:component:-setlabel:engineering:component:function:setlabel:apps-linux_uconsole_gtk-src-platform-gtk-gtk_uconsole_widgets.cpp:44","kind":"component","role":"classifier","name":"函数节点:setLabel","summary":"函数节点:setLabel 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:component:apps-linux_uconsole_gtk-setlabel"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.md","docs/engineering/component-diagrams/apps-linux_uconsole_gtk-setlabel/component-diagram.html"]},{"id":"model:software-structure:element:class:-boards-gat562_mesh_evb_pro-include-boards:engineering:class-structural:boards-gat562_mesh_evb_pro-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · gat562_mesh_evb_pro/include/boards","summary":"结构协作:结构切片 boards · gat562_mesh_evb_pro/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-gat562_mesh_evb_pro-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-t_display_p4-include-boards:engineering:class-structural:boards-t_display_p4-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · t_display_p4/include/boards","summary":"结构协作:结构切片 boards · t_display_p4/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-t_display_p4-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-t_echo_lite-include-boards:engineering:class-structural:boards-t_echo_lite-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · t_echo_lite/include/boards","summary":"结构协作:结构切片 boards · t_echo_lite/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-t_echo_lite-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-tab5-include-boards:engineering:class-structural:boards-tab5-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · tab5/include/boards","summary":"结构协作:结构切片 boards · tab5/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-tab5-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-tdeck_pro-include-boards:engineering:class-structural:boards-tdeck_pro-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · tdeck_pro/include/boards","summary":"结构协作:结构切片 boards · tdeck_pro/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-tdeck_pro-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-tdeck_pro-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-tdeck-include-boards:engineering:class-structural:boards-tdeck-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · tdeck/include/boards","summary":"结构协作:结构切片 boards · tdeck/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-tdeck-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-tdeck-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-tlora_pager-include-boards:engineering:class-structural:boards-tlora_pager-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · tlora_pager/include/boards","summary":"结构协作:结构切片 boards · tlora_pager/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-tlora_pager-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-boards-twatchs3-include-boards:engineering:class-structural:boards-twatchs3-include-boards","kind":"class","role":"classifier","name":"结构切片 boards · twatchs3/include/boards","summary":"结构协作:结构切片 boards · twatchs3/include/boards 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-twatchs3-include-boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-twatchs3-include-boards/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-gat562_mesh_evb_pro-gat562_mesh_evb_pro:engineering:class-structural:boards-gat562_mesh_evb_pro","kind":"class","role":"classifier","name":"结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro","summary":"结构协作:结构切片 gat562_mesh_evb_pro · gat562_mesh_evb_pro 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-gat562_mesh_evb_pro"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro/class-structural-diagram.html"]},{"id":"model:software-structure:element:class:-t_echo_lite-t_echo_lite:engineering:class-structural:boards-t_echo_lite","kind":"class","role":"classifier","name":"结构切片 t_echo_lite · t_echo_lite","summary":"结构协作:结构切片 t_echo_lite · t_echo_lite 表示 软件结构模型 中的 Classifier 候选;它应使用仓库或业务语言中的真实名称,不允许用工具生成的匿名代号替代。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:class-structural:boards-t_echo_lite"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.md","docs/engineering/class-structural-diagrams/boards-t_echo_lite/class-structural-diagram.html"]},{"id":"model:software-structure:element:component:-tm_services_record_error:engineering:component:function:tm_services_record_error:firmware-c6_companion-components-tm_services-tm_services.c:471","kind":"component","role":"classifier","name":"界面组件:tm_services_record_error","summary":"界面组件:tm_services_record_error 表示软件结构模型中的 Component 候选,重点是可替换模块、提供/需要的接口以及连接关系。","modelId":"model:software-structure","packageId":"model:software-structure:package:firmware","packagePath":"firmware","representedByDiagramIds":["engineering:diagram:component:firmware-tm_services_record_error"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.md","docs/engineering/component-diagrams/firmware-tm_services_record_error/component-diagram.html"]},{"id":"model:software-structure:element:package:-apps-esp32_lvgl:engineering:package:apps-esp32_lvgl","kind":"package","role":"namespace","name":"模块边界:apps/esp32_lvgl","summary":"模块边界:apps/esp32_lvgl 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:package:apps-esp32_lvgl"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.md","docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.html"]},{"id":"model:software-structure:element:package:-apps-linux_cardputer_zero:engineering:package:apps-linux_cardputer_zero","kind":"package","role":"namespace","name":"模块边界:apps/linux_cardputer_zero","summary":"模块边界:apps/linux_cardputer_zero 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_cardputer_zero","packagePath":"apps/linux_cardputer_zero","representedByDiagramIds":["engineering:diagram:package:apps-linux_cardputer_zero"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.md","docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.html"]},{"id":"model:software-structure:element:package:-apps-linux_sim_shell:engineering:package:apps-linux_sim_shell","kind":"package","role":"namespace","name":"模块边界:apps/linux_sim_shell","summary":"模块边界:apps/linux_sim_shell 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_sim_shell","packagePath":"apps/linux_sim_shell","representedByDiagramIds":["engineering:diagram:package:apps-linux_sim_shell"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.md","docs/engineering/package-diagrams/apps-linux_sim_shell/package-diagram.html"]},{"id":"model:software-structure:element:package:-apps-linux_uconsole_gtk:engineering:package:apps-linux_uconsole_gtk","kind":"package","role":"namespace","name":"模块边界:apps/linux_uconsole_gtk","summary":"模块边界:apps/linux_uconsole_gtk 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-linux_uconsole_gtk","packagePath":"apps/linux_uconsole_gtk","representedByDiagramIds":["engineering:diagram:package:apps-linux_uconsole_gtk"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.md","docs/engineering/package-diagrams/apps-linux_uconsole_gtk/package-diagram.html"]},{"id":"model:software-structure:element:package:-apps-nrf52_node:engineering:package:apps-nrf52_node","kind":"package","role":"namespace","name":"模块边界:apps/nrf52_node","summary":"模块边界:apps/nrf52_node 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-nrf52_node","packagePath":"apps/nrf52_node","representedByDiagramIds":["engineering:diagram:package:apps-nrf52_node"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.md","docs/engineering/package-diagrams/apps-nrf52_node/package-diagram.html"]},{"id":"model:software-structure:element:package:-apps-readme.md:engineering:package:apps-readme.md","kind":"package","role":"namespace","name":"模块边界:apps/README.md","summary":"模块边界:apps/README.md 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-readme.md","packagePath":"apps/README.md","representedByDiagramIds":["engineering:diagram:package:apps-readme-md"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/apps-readme-md/package-diagram.md","docs/engineering/package-diagrams/apps-readme-md/package-diagram.html"]},{"id":"model:software-structure:element:package:-boards:engineering:package:boards","kind":"package","role":"namespace","name":"模块边界:boards","summary":"模块边界:boards 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:boards","packagePath":"boards","representedByDiagramIds":["engineering:diagram:package:boards"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/boards/package-diagram.md","docs/engineering/package-diagrams/boards/package-diagram.html"]},{"id":"model:software-structure:element:package:-build.c6_companion:engineering:package:build.c6_companion","kind":"package","role":"namespace","name":"模块边界:build.c6_companion","summary":"模块边界:build.c6_companion 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:build.c6_companion","packagePath":"build.c6_companion","representedByDiagramIds":["engineering:diagram:package:build-c6_companion"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/build-c6_companion/package-diagram.md","docs/engineering/package-diagrams/build-c6_companion/package-diagram.html"]},{"id":"model:software-structure:element:package:-build.t_display_p4_tft:engineering:package:build.t_display_p4_tft","kind":"package","role":"namespace","name":"模块边界:build.t_display_p4_tft","summary":"模块边界:build.t_display_p4_tft 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:build.t_display_p4_tft","packagePath":"build.t_display_p4_tft","representedByDiagramIds":["engineering:diagram:package:build-t_display_p4_tft"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.md","docs/engineering/package-diagrams/build-t_display_p4_tft/package-diagram.html"]},{"id":"model:software-structure:element:package:-build.tdisplayp4_amoled:engineering:package:build.tdisplayp4_amoled","kind":"package","role":"namespace","name":"模块边界:build.tdisplayp4_amoled","summary":"模块边界:build.tdisplayp4_amoled 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:build.tdisplayp4_amoled","packagePath":"build.tdisplayp4_amoled","representedByDiagramIds":["engineering:diagram:package:build-tdisplayp4_amoled"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.md","docs/engineering/package-diagrams/build-tdisplayp4_amoled/package-diagram.html"]},{"id":"model:software-structure:element:package:-build.tdisplayp4_tft:engineering:package:build.tdisplayp4_tft","kind":"package","role":"namespace","name":"模块边界:build.tdisplayp4_tft","summary":"模块边界:build.tdisplayp4_tft 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:build.tdisplayp4_tft","packagePath":"build.tdisplayp4_tft","representedByDiagramIds":["engineering:diagram:package:build-tdisplayp4_tft"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.md","docs/engineering/package-diagrams/build-tdisplayp4_tft/package-diagram.html"]},{"id":"model:software-structure:element:package:-builds:engineering:package:builds","kind":"package","role":"namespace","name":"模块边界:builds","summary":"模块边界:builds 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:builds","packagePath":"builds","representedByDiagramIds":["engineering:diagram:package:builds"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/builds/package-diagram.md","docs/engineering/package-diagrams/builds/package-diagram.html"]},{"id":"model:software-structure:element:package:-cmake:engineering:package:cmake","kind":"package","role":"namespace","name":"模块边界:cmake","summary":"模块边界:cmake 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:cmake","packagePath":"cmake","representedByDiagramIds":["engineering:diagram:package:cmake"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/cmake/package-diagram.md","docs/engineering/package-diagrams/cmake/package-diagram.html"]},{"id":"model:software-structure:element:package:-copyright:engineering:package:copyright","kind":"package","role":"namespace","name":"模块边界:COPYRIGHT","summary":"模块边界:COPYRIGHT 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:copyright","packagePath":"COPYRIGHT","representedByDiagramIds":["engineering:diagram:package:copyright"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/copyright/package-diagram.md","docs/engineering/package-diagrams/copyright/package-diagram.html"]},{"id":"model:software-structure:element:package:-firmware:engineering:package:firmware","kind":"package","role":"namespace","name":"模块边界:firmware","summary":"模块边界:firmware 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:firmware","packagePath":"firmware","representedByDiagramIds":["engineering:diagram:package:firmware"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/firmware/package-diagram.md","docs/engineering/package-diagrams/firmware/package-diagram.html"]},{"id":"model:software-structure:element:package:-images:engineering:package:images","kind":"package","role":"namespace","name":"模块边界:images","summary":"模块边界:images 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:images","packagePath":"images","representedByDiagramIds":["engineering:diagram:package:images"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/images/package-diagram.md","docs/engineering/package-diagrams/images/package-diagram.html"]},{"id":"model:software-structure:element:package:-license:engineering:package:license","kind":"package","role":"namespace","name":"模块边界:LICENSE","summary":"模块边界:LICENSE 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:license","packagePath":"LICENSE","representedByDiagramIds":["engineering:diagram:package:license"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/license/package-diagram.md","docs/engineering/package-diagrams/license/package-diagram.html"]},{"id":"model:software-structure:element:package:-managed_components:engineering:package:managed_components","kind":"package","role":"namespace","name":"模块边界:managed_components","summary":"模块边界:managed_components 表示 Package 命名空间或包含关系,用于组织模型元素,不等同于任意文件夹清单。","modelId":"model:software-structure","packageId":"model:software-structure:package:managed_components","packagePath":"managed_components","representedByDiagramIds":["engineering:diagram:package:managed_components"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/package-diagrams/managed_components/package-diagram.md","docs/engineering/package-diagrams/managed_components/package-diagram.html"]},{"id":"model:software-structure:element:interaction:add_hex_line-add_status_line:engineering:runtime-flow:add_hex_line:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"add_hex_line 调用 add_status_line","summary":"动态协作:add_hex_line 调用 add_status_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:add_hex_line-calls-add_status_line"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.md","docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:add_status_line-add_label:engineering:runtime-flow:add_status_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"add_status_line 调用 add_label","summary":"动态协作:add_status_line 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:add_status_line-calls-add_label"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.md","docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:add_u32_line-add_label:engineering:runtime-flow:add_u32_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"add_u32_line 调用 add_label","summary":"动态协作:add_u32_line 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:add_u32_line-calls-add_label"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.md","docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:canrunesp32lvglstartupruntime-canstartesp32lvglloopruntime:engineering:runtime-flow:canrunesp32lvglstartupruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime","summary":"动态协作:canRunEsp32LvglStartupRuntime 调用 canStartEsp32LvglLoopRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md","docs/engineering/sequence-diagrams/canrunesp32lvglstartupruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:companion_enter-add_hex_line:engineering:runtime-flow:companion_enter:add_hex_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"companion_enter 调用 add_hex_line","summary":"动态协作:companion_enter 调用 add_hex_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:companion_enter-calls-add_hex_line"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.md","docs/engineering/sequence-diagrams/companion_enter-calls-add_hex_line/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:companion_enter-add_label:engineering:runtime-flow:companion_enter:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"companion_enter 调用 add_label","summary":"动态协作:companion_enter 调用 add_label 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:companion_enter-calls-add_label"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.md","docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:companion_enter-add_status_line:engineering:runtime-flow:companion_enter:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"companion_enter 调用 add_status_line","summary":"动态协作:companion_enter 调用 add_status_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:companion_enter-calls-add_status_line"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.md","docs/engineering/sequence-diagrams/companion_enter-calls-add_status_line/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:companion_enter-add_u32_line:engineering:runtime-flow:companion_enter:add_u32_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","kind":"interaction","role":"owned_behavior","name":"companion_enter 调用 add_u32_line","summary":"动态协作:companion_enter 调用 add_u32_line 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:companion_enter-calls-add_u32_line"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.md","docs/engineering/sequence-diagrams/companion_enter-calls-add_u32_line/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:hasesp32lvglruntimetargetprofile-esp32lvglruntimetargetprofile:engineering:runtime-flow:hasesp32lvglruntimetargetprofile:esp32lvglruntimetargetprofile:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp:apps-esp32_lvgl-src-esp32_lvgl_runtime_config.cpp","kind":"interaction","role":"owned_behavior","name":"hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile","summary":"动态协作:hasEsp32LvglRuntimeTargetProfile 调用 esp32LvglRuntimeTargetProfile 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.md","docs/engineering/sequence-diagrams/hasesp32lvglruntimetargetprofile-calls-esp32lvglruntimetargetprofile/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:runesp32lvglstartupruntime-canrunesp32lvglstartupruntime:engineering:runtime-flow:runesp32lvglstartupruntime:canrunesp32lvglstartupruntime:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime","summary":"动态协作:runEsp32LvglStartupRuntime 调用 canRunEsp32LvglStartupRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.md","docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-canrunesp32lvglstartupruntime/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:runesp32lvglstartupruntime-setbootlog:engineering:runtime-flow:runesp32lvglstartupruntime:setbootlog:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"runEsp32LvglStartupRuntime 调用 setBootLog","summary":"动态协作:runEsp32LvglStartupRuntime 调用 setBootLog 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:runesp32lvglstartupruntime-calls-setbootlog"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.md","docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-setbootlog/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:runesp32lvglstartupruntime-showbootui:engineering:runtime-flow:runesp32lvglstartupruntime:showbootui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"runEsp32LvglStartupRuntime 调用 showBootUi","summary":"动态协作:runEsp32LvglStartupRuntime 调用 showBootUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:runesp32lvglstartupruntime-calls-showbootui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.md","docs/engineering/sequence-diagrams/runesp32lvglstartupruntime-calls-showbootui/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:setbootlog-lockui:engineering:runtime-flow:setbootlog:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"setBootLog 调用 lockUi","summary":"动态协作:setBootLog 调用 lockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:setbootlog-calls-lockui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.md","docs/engineering/sequence-diagrams/setbootlog-calls-lockui/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:setbootlog-unlockui:engineering:runtime-flow:setbootlog:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"setBootLog 调用 unlockUi","summary":"动态协作:setBootLog 调用 unlockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:setbootlog-calls-unlockui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.md","docs/engineering/sequence-diagrams/setbootlog-calls-unlockui/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:showbootui-lockui:engineering:runtime-flow:showbootui:lockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"showBootUi 调用 lockUi","summary":"动态协作:showBootUi 调用 lockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:showbootui-calls-lockui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.md","docs/engineering/sequence-diagrams/showbootui-calls-lockui/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:showbootui-unlockui:engineering:runtime-flow:showbootui:unlockui:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_startup_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"showBootUi 调用 unlockUi","summary":"动态协作:showBootUi 调用 unlockUi 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:showbootui-calls-unlockui"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.md","docs/engineering/sequence-diagrams/showbootui-calls-unlockui/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:startesp32lvglloopruntime-canstartesp32lvglloopruntime:engineering:runtime-flow:startesp32lvglloopruntime:canstartesp32lvglloopruntime:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_loop_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime","summary":"动态协作:startEsp32LvglLoopRuntime 调用 canStartEsp32LvglLoopRuntime 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.md","docs/engineering/sequence-diagrams/startesp32lvglloopruntime-calls-canstartesp32lvglloopruntime/sequence-diagram.html"]},{"id":"model:software-structure:element:interaction:tick-log_loop_interval:engineering:runtime-flow:tick:log_loop_interval:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp","kind":"interaction","role":"owned_behavior","name":"tick 调用 log_loop_interval","summary":"动态协作:tick 调用 log_loop_interval 是 软件结构模型 中的局部行为,用于解释某个 Classifier、UseCase 或 Component 在特定场景下的动作、消息或状态变化。","modelId":"model:software-structure","packageId":"model:software-structure:package:apps-esp32_lvgl","packagePath":"apps/esp32_lvgl","representedByDiagramIds":["engineering:diagram:sequence:tick-calls-log_loop_interval"],"traceIds":[],"status":"candidate","confidence":"high","sourcePaths":["docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.md","docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.html"]}]},"relatedTraces":[{"id":"trace:model:organization-process:software-structure","relation":"refine","sourceId":"model:organization-process","targetId":"model:software-structure","sourceModelId":"model:organization-process","targetModelId":"model:software-structure","summary":"组织/过程模型中的 UseCase、Activity 和业务概念需要通过 Trace / Refine 连接到承载它们的软件结构。"},{"id":"trace:model:software-structure:deployment-artifact","relation":"realize","sourceId":"model:software-structure","targetId":"model:deployment-artifact","sourceModelId":"model:software-structure","targetModelId":"model:deployment-artifact","summary":"软件结构中的 Component、Interface 和 Classifier 最终应映射到 Artifact、Node 或 ExecutionEnvironment。"},{"id":"trace:model:software-structure:projection:engineering-explorer","relation":"project","sourceId":"model:software-structure","targetId":"projection:engineering-explorer","sourceModelId":"model:software-structure","summary":"Engineering Explorer 投影 是 model:software-structure 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。"},{"id":"trace:model:software-structure:projection:architecture-c4","relation":"project","sourceId":"model:software-structure","targetId":"projection:architecture-c4","sourceModelId":"model:software-structure","summary":"Architecture Explorer / C4 投影 是 model:software-structure 的展示投影;它可以帮助讨论,但不能覆盖 Model / Package / Element 的权威边界。"}]}</script>
</main>
</body>
</html>