mirror of
https://github.com/vicliu624/trail-mate.git
synced 2026-09-26 21:57:55 +00:00
140 lines
32 KiB
HTML
140 lines
32 KiB
HTML
<!doctype html>
|
||
<html lang="zh-CN">
|
||
<head><meta charset="utf-8" /><title>容器边界:apps/linux_cardputer_zero</title></head>
|
||
<body>
|
||
<main class="praxis-architecture-map" data-praxis-anchor="architecture:c4:container:apps-linux_cardputer_zero" data-praxis-kind="architecture_c4_container" data-praxis-status="candidate" data-praxis-confidence="high" data-praxis-document-path="docs/architecture/c4/containers/apps-linux_cardputer_zero/container.html" data-praxis-drilldowns="[{"id":"architecture:c4:component:apps-linux_cardputer_zero","level":"component","title":"组件职责:apps/linux_cardputer_zero","summary":"从 C4 Component 层解释 apps/linux_cardputer_zero 内部的关键职责单元:入口、页面、命令、接口、注册表、adapter 或共享对象。","docPath":"docs/architecture/c4/components/apps-linux_cardputer_zero/component.md","htmlPath":"docs/architecture/c4/components/apps-linux_cardputer_zero/component.html","anchor":"architecture:c4:component:apps-linux_cardputer_zero","relation":"contains","reason":"进入 组件职责:apps/linux_cardputer_zero 可以回答“容器边界:apps/linux_cardputer_zero 由哪些内部组件承载”。重点看入口、编排、适配、契约和共享对象,而不是浏览全量文件。"},{"id":"architecture:c4:code:apps-linux_cardputer_zero","level":"code","title":"代码锚点:apps/linux_cardputer_zero","summary":"从 C4 Code 层解释 apps/linux_cardputer_zero 内少量关键代码锚点。Code 层不是代码浏览器,只在需要理解架构组件如何落到具体文件/符号时使用。","docPath":"docs/architecture/c4/code/apps-linux_cardputer_zero/code.md","htmlPath":"docs/architecture/c4/code/apps-linux_cardputer_zero/code.html","anchor":"architecture:c4:code:apps-linux_cardputer_zero","relation":"details","reason":"进入 代码锚点:apps/linux_cardputer_zero 是为了把 容器边界:apps/linux_cardputer_zero 的架构职责追溯到具体文件/符号锚点;只有需要判断实现入口或变更影响面时才应下钻到 Code。"}]">
|
||
<header class="praxis-design-map-header">
|
||
<p>Praxis Architecture View</p>
|
||
<h1>容器边界:apps/linux_cardputer_zero</h1>
|
||
<p>apps/linux_cardputer_zero 是 C4 Container 层候选边界:它必须表现为应用、服务、数据存储、可运行单元或可独立部署/执行的系统部分,而不是普通目录、代码分层或共享工具集合。</p>
|
||
<div class="meta-row">
|
||
<span>Container</span>
|
||
<span>candidate / high</span>
|
||
<span>0.1.30-alpha · 34aad0bffa2f / main</span>
|
||
</div>
|
||
</header>
|
||
<section class="semantic-layer" data-praxis-anchor="architecture:c4:layer-path" data-praxis-kind="architecture_c4_list">
|
||
<h2>C4 层级路径</h2>
|
||
<ul>
|
||
<li>当前层:Container,解释目标系统内部一个可独立理解的应用、服务、数据存储或运行单元。</li>
|
||
<li>上层:System Context,说明该 Container 属于哪个目标软件系统。</li>
|
||
<li>下层:Component,解释该 Container 内部的入口、接口、编排、适配、契约或共享对象。</li>
|
||
</ul>
|
||
</section>
|
||
<section class="semantic-layer" data-praxis-anchor="architecture:c4:responsibility" data-praxis-kind="architecture_c4_text">
|
||
<h2>责任</h2>
|
||
<p>apps/linux_cardputer_zero 是应用级 Container 候选:仓库证据显示它靠近可运行入口、桌面/前端/后端应用壳或用户可感知的系统能力。</p>
|
||
</section>
|
||
<section class="semantic-layer" data-praxis-anchor="architecture:c4:boundary" data-praxis-kind="architecture_c4_text">
|
||
<h2>边界</h2>
|
||
<p>边界来自仓库路径 apps/linux_cardputer_zero。C4 Container 不等于任意 package 或代码 layer;只有具备应用、服务、数据存储、运行入口、部署单元、对外接口或独立执行语义的边界才进入本层。普通配置文件、文档目录、CI 目录、仓库治理文件和纯代码分层只能作为证据或软件结构模型对象,不作为 Container。</p>
|
||
</section>
|
||
<section class="semantic-layer" data-praxis-anchor="architecture:c4:relationships" data-praxis-kind="architecture_c4_list">
|
||
<h2>关系</h2>
|
||
<ul>
|
||
<li>依赖其他 Container:apps/esp32_lvgl。</li>
|
||
<li>包含 5 个候选组件视图对象、0 条运行/协作链路、0 个运行或构建节点。</li>
|
||
</ul>
|
||
</section>
|
||
<section class="semantic-layer" data-praxis-anchor="architecture:c4:business-relation" data-praxis-kind="architecture_c4_list">
|
||
<h2>与业务复杂度的关联</h2>
|
||
<ul>
|
||
<li>这个 Container 不是业务用例本身;它只解释业务能力进入或通过哪个软件系统内部应用/服务/数据存储/运行单元。</li>
|
||
<li>如果组织/过程模型中的 Use Case 引用该边界,应在 Use Case 下钻文档中说明它如何进入这个 Container,而不是把业务流程写进 C4 Container 图。</li>
|
||
</ul>
|
||
</section>
|
||
<section class="semantic-layer" data-praxis-anchor="architecture:c4:engineering-relation" data-praxis-kind="architecture_c4_list">
|
||
<h2>与技术复杂度的关联</h2>
|
||
<ul>
|
||
<li>对应软件结构模型 Package Diagram:docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.html。</li>
|
||
<li>继续进入软件结构模型可以查看下钻 UML、结构协作、运行链路和复杂度候选点。</li>
|
||
</ul>
|
||
</section>
|
||
<section class="semantic-layer diagram-section" data-praxis-anchor="architecture:c4:diagram" data-praxis-kind="architecture_c4_diagram">
|
||
<h2>C4 Container 图</h2>
|
||
<pre class="mermaid" data-praxis-anchor="architecture:c4:container:apps-linux_cardputer_zero:c4" data-praxis-c4-current-level="container" data-praxis-c4-layer-views="[{"level":"system_context","label":"System Context","title":"系统上下文:trail-mate","diagramTitle":"C4 System Context 图","summary":"System Context 只展示目标软件系统与外部人/系统的关系,不直接展开内部 Container;这里高亮的是“apps/linux_cardputer_zero”所属的软件系统边界。","docPath":"docs/architecture/c4/system-context/system-context.md","htmlPath":"docs/architecture/c4/system-context/system-context.html","mermaid":"flowchart LR\n actor[\"未命名外部参与者\"]\n system[\"trail-mate\"]\n external[\"未命名外部系统\"]\n actor -->|使用 / 调用| system\n system -.->|候选集成| external","highlightLabels":["apps/linux_cardputer_zero","apps/linux_cardputer_zero Container","apps/linux_cardputer_zero(系统内部 Container)","linux_cardputer_zero","trail-mate"],"current":false,"missing":false},{"level":"container","label":"Container","title":"容器边界:apps/linux_cardputer_zero","diagramTitle":"C4 Container 图","summary":"当前正在阅读 Container 层;下方正式图就是这一层的架构投影。","docPath":"docs/architecture/c4/containers/apps-linux_cardputer_zero/container.md","htmlPath":"docs/architecture/c4/containers/apps-linux_cardputer_zero/container.html","mermaid":"flowchart LR\n container[\"apps/linux_cardputer_zero\"]\n dependency_1[\"apps/esp32_lvgl\"]\n container --> dependency_1","highlightLabels":["apps/linux_cardputer_zero","apps/linux_cardputer_zero Container","apps/linux_cardputer_zero(系统内部 Container)","linux_cardputer_zero"],"current":true,"missing":false},{"level":"component","label":"Component","title":"组件职责:apps/linux_cardputer_zero","diagramTitle":"C4 Component 图","summary":"切到 Component 层时,高亮会标出“apps/linux_cardputer_zero”在该层正式文档中的对应位置。","docPath":"docs/architecture/c4/components/apps-linux_cardputer_zero/component.md","htmlPath":"docs/architecture/c4/components/apps-linux_cardputer_zero/component.html","mermaid":"flowchart TB\n container[\"apps/linux_cardputer_zero Container\"]\n component_1[\"CardputerZeroNotificationPort\"]\n container --> component_1\n component_2[\"CardputerZeroInputMethodPort\"]\n container --> component_2\n component_3[\"NotificationUrgency\"]\n container --> component_3\n component_4[\"cardputer_zero_input_method_port\"]\n container --> component_4\n component_5[\"cardputer_zero_notification_port\"]\n container --> component_5","highlightLabels":["apps/linux_cardputer_zero","apps/linux_cardputer_zero Container","apps/linux_cardputer_zero(系统内部 Container)","linux_cardputer_zero"],"current":false,"missing":false},{"level":"code","label":"Code","title":"代码锚点:apps/linux_cardputer_zero","diagramTitle":"C4 Code View 图","summary":"切到 Code 层时,高亮会标出“apps/linux_cardputer_zero”在该层正式文档中的对应位置。","docPath":"docs/architecture/c4/code/apps-linux_cardputer_zero/code.md","htmlPath":"docs/architecture/c4/code/apps-linux_cardputer_zero/code.html","mermaid":"flowchart TB\n package[\"apps/linux_cardputer_zero\"]\n file_1[\"apps/linux_cardputer_zero/src/cardputer_zero_notification_port.h\"]\n code_1[\"CardputerZeroNotificationPort\"]\n package --> file_1\n file_1 --> code_1\n file_2[\"apps/linux_cardputer_zero/src/cardputer_zero_input_method_port.h\"]\n code_2[\"CardputerZeroInputMethodPort\"]\n package --> file_2\n file_2 --> code_2\n file_3[\"apps/linux_cardputer_zero/src/cardputer_zero_notification_port.cpp\"]\n code_3[\"CardputerZeroNotificationPort::makeNotifyCall\"]\n package --> file_3\n file_3 --> code_3\n file_4[\"apps/linux_cardputer_zero/src/cardputer_zero_notification_port.cpp\"]\n code_4[\"safeString\"]\n package --> file_4\n file_4 --> code_4\n file_5[\"apps/linux_cardputer_zero/src/cardputer_zero_notification_port.h\"]\n code_5[\"NotificationUrgency\"]\n package --> file_5\n file_5 --> code_5\n file_6[\"apps/linux_cardputer_zero/src/cardputer_zero_notification_port.h\"]\n code_6[\"FreedesktopNotificationsContract\"]\n package --> file_6\n file_6 --> code_6\n file_7[\"apps/linux_cardputer_zero/src/cardputer_zero_notification_port.h\"]\n code_7[\"FreedesktopNotifyCall\"]\n package --> file_7\n file_7 --> code_7\n file_8[\"apps/linux_cardputer_zero/src/cardputer_zero_notification_port.cpp\"]\n code_8[\"urgencyHint\"]\n package --> file_8\n file_8 --> code_8","highlightLabels":["apps/linux_cardputer_zero","apps/linux_cardputer_zero Container","apps/linux_cardputer_zero(系统内部 Container)","linux_cardputer_zero"],"current":false,"missing":false}]">flowchart LR
|
||
container["apps/linux_cardputer_zero"]
|
||
dependency_1["apps/esp32_lvgl"]
|
||
container --> dependency_1</pre>
|
||
</section>
|
||
<section class="semantic-layer architecture-c4-elements" data-praxis-anchor="architecture:c4:container:apps-linux_cardputer_zero:elements" data-praxis-kind="architecture_c4_elements">
|
||
<h2>图内元素解释</h2>
|
||
<div class="layer-grid">
|
||
<article class="layer-card" data-praxis-anchor="architecture:c4:container:apps-linux_cardputer_zero:self" data-praxis-kind="architecture_c4_element" data-praxis-confidence="high" data-praxis-drilldowns="[{"id":"architecture:c4:component:apps-linux_cardputer_zero","level":"component","title":"组件职责:apps/linux_cardputer_zero","summary":"从 C4 Component 层解释 apps/linux_cardputer_zero 内部的关键职责单元:入口、页面、命令、接口、注册表、adapter 或共享对象。","docPath":"docs/architecture/c4/components/apps-linux_cardputer_zero/component.md","htmlPath":"docs/architecture/c4/components/apps-linux_cardputer_zero/component.html","anchor":"architecture:c4:component:apps-linux_cardputer_zero","relation":"contains","reason":"进入 组件职责:apps/linux_cardputer_zero 可以回答“容器边界:apps/linux_cardputer_zero 由哪些内部组件承载”。重点看入口、编排、适配、契约和共享对象,而不是浏览全量文件。"},{"id":"architecture:c4:code:apps-linux_cardputer_zero","level":"code","title":"代码锚点:apps/linux_cardputer_zero","summary":"从 C4 Code 层解释 apps/linux_cardputer_zero 内少量关键代码锚点。Code 层不是代码浏览器,只在需要理解架构组件如何落到具体文件/符号时使用。","docPath":"docs/architecture/c4/code/apps-linux_cardputer_zero/code.md","htmlPath":"docs/architecture/c4/code/apps-linux_cardputer_zero/code.html","anchor":"architecture:c4:code:apps-linux_cardputer_zero","relation":"details","reason":"进入 代码锚点:apps/linux_cardputer_zero 是为了把 容器边界:apps/linux_cardputer_zero 的架构职责追溯到具体文件/符号锚点;只有需要判断实现入口或变更影响面时才应下钻到 Code。"}]">
|
||
<h3>apps/linux_cardputer_zero</h3>
|
||
<p>Container · high</p>
|
||
<p>图中这个节点代表 apps/linux_cardputer_zero 这个 C4 Container;当前文档记录 5 个组件下钻入口、0 条运行协作线索和 0 个运行或构建节点。</p>
|
||
<dl>
|
||
<div><dt>责任</dt><dd>apps/linux_cardputer_zero 是应用级 Container 候选:仓库证据显示它靠近可运行入口、桌面/前端/后端应用壳或用户可感知的系统能力。</dd></div>
|
||
<div><dt>边界</dt><dd>边界来自仓库路径 apps/linux_cardputer_zero;该路径下的入口、服务接口、应用代码、运行配置和部署证据共同支撑它进入 Container 层,普通配置文件、文档目录或纯代码分层不会单独形成 Container。</dd></div>
|
||
<div><dt>关系意义</dt><dd>图中从 apps/linux_cardputer_zero 指向外部边界,表示这个可运行边界会调用、引用或依赖其他 Container;这些关系用于判断部署、接口和变更影响。</dd></div>
|
||
<div><dt>为什么属于该层</dt><dd>该节点进入 Container 层,是因为本地仓库证据显示它具备应用、服务、数据存储、运行入口、部署单元、对外接口或独立执行语义;不是因为它只是一个目录或 package。</dd></div>
|
||
<div><dt>下钻意图</dt><dd>从 apps/linux_cardputer_zero 下钻到 Component,用来查看边界内部的职责分解。</dd></div>
|
||
</dl>
|
||
</article>
|
||
<article class="layer-card" data-praxis-anchor="architecture:c4:container:apps-linux_cardputer_zero:dep:apps-esp32_lvgl" data-praxis-kind="architecture_c4_element" data-praxis-confidence="medium" data-praxis-drilldowns="[]">
|
||
<h3>apps/esp32_lvgl</h3>
|
||
<p>Container · medium</p>
|
||
<p>apps/linux_cardputer_zero 依赖 apps/esp32_lvgl。</p>
|
||
<dl>
|
||
<div><dt>责任</dt><dd>apps/linux_cardputer_zero 依赖 apps/esp32_lvgl。</dd></div>
|
||
<div><dt>边界</dt><dd>apps/esp32_lvgl 不属于 apps/linux_cardputer_zero 的内部边界;它在当前图中只是被依赖的相邻模块。</dd></div>
|
||
<div><dt>关系意义</dt><dd>apps/linux_cardputer_zero -> apps/esp32_lvgl 表示本地仓库证据中存在跨边界调用、引用或配置依赖;它说明技术协作方向,但不能单独证明业务流程关系。</dd></div>
|
||
<div><dt>为什么属于该层</dt><dd>apps/esp32_lvgl 按路径归属被投影为相邻 Container 候选,而不是 apps/linux_cardputer_zero 内部 Component。</dd></div>
|
||
<div><dt>下钻意图</dt><dd>进入 apps/esp32_lvgl 的独立 Container 文档,可以查看它自己的职责和证据;如果没有独立文档,则只把它当作外部依赖事实。</dd></div>
|
||
</dl>
|
||
</article>
|
||
</div>
|
||
</section>
|
||
<section class="semantic-layer architecture-c4-links" data-praxis-anchor="architecture:c4:drilldowns" data-praxis-kind="architecture_c4_links">
|
||
<h2>可下钻 C4</h2>
|
||
<div class="layer-grid">
|
||
<article class="layer-card document-entry-card" role="link" tabindex="0" data-praxis-anchor="architecture:c4:component:apps-linux_cardputer_zero" data-praxis-kind="architecture_c4_link" data-praxis-document-title="组件职责:apps/linux_cardputer_zero" data-praxis-document-summary="进入 组件职责:apps/linux_cardputer_zero 可以回答“容器边界:apps/linux_cardputer_zero 由哪些内部组件承载”。重点看入口、编排、适配、契约和共享对象,而不是浏览全量文件。" data-praxis-document-md="docs/architecture/c4/components/apps-linux_cardputer_zero/component.md" data-praxis-document-html="docs/architecture/c4/components/apps-linux_cardputer_zero/component.html">
|
||
<strong>组件职责:apps/linux_cardputer_zero</strong>
|
||
<span>contains</span>
|
||
<p>进入 组件职责:apps/linux_cardputer_zero 可以回答“容器边界:apps/linux_cardputer_zero 由哪些内部组件承载”。重点看入口、编排、适配、契约和共享对象,而不是浏览全量文件。</p>
|
||
<small>从 C4 Component 层解释 apps/linux_cardputer_zero 内部的关键职责单元:入口、页面、命令、接口、注册表、adapter 或共享对象。</small>
|
||
</article>
|
||
<article class="layer-card document-entry-card" role="link" tabindex="0" data-praxis-anchor="architecture:c4:code:apps-linux_cardputer_zero" data-praxis-kind="architecture_c4_link" data-praxis-document-title="代码锚点:apps/linux_cardputer_zero" data-praxis-document-summary="进入 代码锚点:apps/linux_cardputer_zero 是为了把 容器边界:apps/linux_cardputer_zero 的架构职责追溯到具体文件/符号锚点;只有需要判断实现入口或变更影响面时才应下钻到 Code。" data-praxis-document-md="docs/architecture/c4/code/apps-linux_cardputer_zero/code.md" data-praxis-document-html="docs/architecture/c4/code/apps-linux_cardputer_zero/code.html">
|
||
<strong>代码锚点:apps/linux_cardputer_zero</strong>
|
||
<span>details</span>
|
||
<p>进入 代码锚点:apps/linux_cardputer_zero 是为了把 容器边界:apps/linux_cardputer_zero 的架构职责追溯到具体文件/符号锚点;只有需要判断实现入口或变更影响面时才应下钻到 Code。</p>
|
||
<small>从 C4 Code 层解释 apps/linux_cardputer_zero 内少量关键代码锚点。Code 层不是代码浏览器,只在需要理解架构组件如何落到具体文件/符号时使用。</small>
|
||
</article>
|
||
</div>
|
||
</section>
|
||
<section class="semantic-layer architecture-c4-links" data-praxis-anchor="architecture:c4:engineering-links" data-praxis-kind="architecture_c4_links">
|
||
<h2>关联软件结构模型</h2>
|
||
<div class="layer-grid">
|
||
<article class="layer-card document-entry-card" role="link" tabindex="0" data-praxis-anchor="architecture:c4:engineering-link:docs-engineering-package-diagrams-apps-linux_cardputer_zero-package-diagram" data-praxis-kind="architecture_c4_link" data-praxis-document-title="apps/linux_cardputer_zero Package Diagram" data-praxis-document-summary="查看该 Container 所属软件结构 package/module 的边界、依赖和复杂度候选点。" 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">
|
||
<strong>apps/linux_cardputer_zero Package Diagram</strong>
|
||
<span>related_engineering</span>
|
||
<p>查看该 Container 所属软件结构 package/module 的边界、依赖和复杂度候选点。</p>
|
||
<small>查看该 Container 所属软件结构 package/module 的边界、依赖和复杂度候选点。</small>
|
||
</article>
|
||
</div>
|
||
</section>
|
||
<section class="semantic-layer" data-praxis-anchor="architecture:c4:evidence" data-praxis-kind="architecture_c4_list">
|
||
<h2>证据</h2>
|
||
<ul>
|
||
<li>apps/linux_cardputer_zero/APP_SHELL_MANIFEST.md</li>
|
||
<li>apps/linux_cardputer_zero/CMakeLists.txt</li>
|
||
<li>apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero-applaunch</li>
|
||
<li>apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero.desktop</li>
|
||
<li>apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero.png</li>
|
||
<li>apps/linux_cardputer_zero/README.md</li>
|
||
<li>apps/linux_cardputer_zero/src/cardputer_zero_input_method_port.cpp</li>
|
||
<li>apps/linux_cardputer_zero/src/cardputer_zero_input_method_port.h</li>
|
||
</ul>
|
||
</section>
|
||
<section class="semantic-layer" data-praxis-anchor="architecture:c4:questions" data-praxis-kind="architecture_c4_list">
|
||
<h2>判定依据</h2>
|
||
<ul>
|
||
<li>该边界必须由运行入口、构建/部署配置、服务接口、应用入口、数据存储或独立执行证据支撑;仅靠目录名、文件数量或依赖数量不足以成立。</li>
|
||
<li>缺少运行、部署、接口或数据存储证据时,生成流程会降低置信度或不生成独立 Container。</li>
|
||
</ul>
|
||
</section>
|
||
<script type="application/json" id="praxis-architecture-c4-document">{"id":"architecture:c4:container:apps-linux_cardputer_zero","level":"container","title":"容器边界:apps/linux_cardputer_zero","summary":"apps/linux_cardputer_zero 是 C4 Container 层候选边界:它必须表现为应用、服务、数据存储、可运行单元或可独立部署/执行的系统部分,而不是普通目录、代码分层或共享工具集合。","docPath":"docs/architecture/c4/containers/apps-linux_cardputer_zero/container.md","htmlPath":"docs/architecture/c4/containers/apps-linux_cardputer_zero/container.html","anchor":"architecture:c4:container:apps-linux_cardputer_zero","status":"candidate","confidence":"high","mermaid":"flowchart LR\n container[\"apps/linux_cardputer_zero\"]\n dependency_1[\"apps/esp32_lvgl\"]\n container --\u003e dependency_1","responsibility":"apps/linux_cardputer_zero 是应用级 Container 候选:仓库证据显示它靠近可运行入口、桌面/前端/后端应用壳或用户可感知的系统能力。","boundary":"边界来自仓库路径 apps/linux_cardputer_zero。C4 Container 不等于任意 package 或代码 layer;只有具备应用、服务、数据存储、运行入口、部署单元、对外接口或独立执行语义的边界才进入本层。普通配置文件、文档目录、CI 目录、仓库治理文件和纯代码分层只能作为证据或软件结构模型对象,不作为 Container。","relationships":["依赖其他 Container:apps/esp32_lvgl。","包含 5 个候选组件视图对象、0 条运行/协作链路、0 个运行或构建节点。"],"businessRelation":["这个 Container 不是业务用例本身;它只解释业务能力进入或通过哪个软件系统内部应用/服务/数据存储/运行单元。","如果组织/过程模型中的 Use Case 引用该边界,应在 Use Case 下钻文档中说明它如何进入这个 Container,而不是把业务流程写进 C4 Container 图。"],"engineeringRelation":["对应软件结构模型 Package Diagram:docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.html。","继续进入软件结构模型可以查看下钻 UML、结构协作、运行链路和复杂度候选点。"],"evidencePaths":["apps/linux_cardputer_zero/APP_SHELL_MANIFEST.md","apps/linux_cardputer_zero/CMakeLists.txt","apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero-applaunch","apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero.desktop","apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero.png","apps/linux_cardputer_zero/README.md","apps/linux_cardputer_zero/src/cardputer_zero_input_method_port.cpp","apps/linux_cardputer_zero/src/cardputer_zero_input_method_port.h"],"questions":["该边界必须由运行入口、构建/部署配置、服务接口、应用入口、数据存储或独立执行证据支撑;仅靠目录名、文件数量或依赖数量不足以成立。","缺少运行、部署、接口或数据存储证据时,生成流程会降低置信度或不生成独立 Container。"],"scope":{"packageId":"apps/linux_cardputer_zero","filePath":"apps/linux_cardputer_zero"},"elements":[{"id":"architecture:c4:container:apps-linux_cardputer_zero:self","label":"apps/linux_cardputer_zero","level":"container","anchor":"architecture:c4:container:apps-linux_cardputer_zero:self","summary":"图中这个节点代表 apps/linux_cardputer_zero 这个 C4 Container;当前文档记录 5 个组件下钻入口、0 条运行协作线索和 0 个运行或构建节点。","responsibility":"apps/linux_cardputer_zero 是应用级 Container 候选:仓库证据显示它靠近可运行入口、桌面/前端/后端应用壳或用户可感知的系统能力。","boundary":"边界来自仓库路径 apps/linux_cardputer_zero;该路径下的入口、服务接口、应用代码、运行配置和部署证据共同支撑它进入 Container 层,普通配置文件、文档目录或纯代码分层不会单独形成 Container。","relationshipMeaning":"图中从 apps/linux_cardputer_zero 指向外部边界,表示这个可运行边界会调用、引用或依赖其他 Container;这些关系用于判断部署、接口和变更影响。","whyThisLevel":"该节点进入 Container 层,是因为本地仓库证据显示它具备应用、服务、数据存储、运行入口、部署单元、对外接口或独立执行语义;不是因为它只是一个目录或 package。","drilldownIntent":"从 apps/linux_cardputer_zero 下钻到 Component,用来查看边界内部的职责分解。","evidence":["apps/linux_cardputer_zero/APP_SHELL_MANIFEST.md","apps/linux_cardputer_zero/CMakeLists.txt","apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero-applaunch","apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero.desktop","apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero.png","apps/linux_cardputer_zero/README.md","apps/linux_cardputer_zero/src/cardputer_zero_input_method_port.cpp","apps/linux_cardputer_zero/src/cardputer_zero_input_method_port.h"],"confidence":"high","drilldowns":[{"id":"architecture:c4:component:apps-linux_cardputer_zero","level":"component","title":"组件职责:apps/linux_cardputer_zero","summary":"从 C4 Component 层解释 apps/linux_cardputer_zero 内部的关键职责单元:入口、页面、命令、接口、注册表、adapter 或共享对象。","docPath":"docs/architecture/c4/components/apps-linux_cardputer_zero/component.md","htmlPath":"docs/architecture/c4/components/apps-linux_cardputer_zero/component.html","anchor":"architecture:c4:component:apps-linux_cardputer_zero","relation":"contains","reason":"进入 组件职责:apps/linux_cardputer_zero 可以回答“容器边界:apps/linux_cardputer_zero 由哪些内部组件承载”。重点看入口、编排、适配、契约和共享对象,而不是浏览全量文件。"},{"id":"architecture:c4:code:apps-linux_cardputer_zero","level":"code","title":"代码锚点:apps/linux_cardputer_zero","summary":"从 C4 Code 层解释 apps/linux_cardputer_zero 内少量关键代码锚点。Code 层不是代码浏览器,只在需要理解架构组件如何落到具体文件/符号时使用。","docPath":"docs/architecture/c4/code/apps-linux_cardputer_zero/code.md","htmlPath":"docs/architecture/c4/code/apps-linux_cardputer_zero/code.html","anchor":"architecture:c4:code:apps-linux_cardputer_zero","relation":"details","reason":"进入 代码锚点:apps/linux_cardputer_zero 是为了把 容器边界:apps/linux_cardputer_zero 的架构职责追溯到具体文件/符号锚点;只有需要判断实现入口或变更影响面时才应下钻到 Code。"}]},{"id":"architecture:c4:container:apps-linux_cardputer_zero:dep:apps-esp32_lvgl","label":"apps/esp32_lvgl","level":"container","anchor":"architecture:c4:container:apps-linux_cardputer_zero:dep:apps-esp32_lvgl","summary":"apps/linux_cardputer_zero 依赖 apps/esp32_lvgl。","responsibility":"apps/linux_cardputer_zero 依赖 apps/esp32_lvgl。","boundary":"apps/esp32_lvgl 不属于 apps/linux_cardputer_zero 的内部边界;它在当前图中只是被依赖的相邻模块。","relationshipMeaning":"apps/linux_cardputer_zero -\u003e apps/esp32_lvgl 表示本地仓库证据中存在跨边界调用、引用或配置依赖;它说明技术协作方向,但不能单独证明业务流程关系。","whyThisLevel":"apps/esp32_lvgl 按路径归属被投影为相邻 Container 候选,而不是 apps/linux_cardputer_zero 内部 Component。","drilldownIntent":"进入 apps/esp32_lvgl 的独立 Container 文档,可以查看它自己的职责和证据;如果没有独立文档,则只把它当作外部依赖事实。","evidence":["dependency edge: apps/linux_cardputer_zero -\u003e apps/esp32_lvgl"],"confidence":"medium","drilldowns":[]}],"drilldowns":[{"id":"architecture:c4:component:apps-linux_cardputer_zero","level":"component","title":"组件职责:apps/linux_cardputer_zero","summary":"从 C4 Component 层解释 apps/linux_cardputer_zero 内部的关键职责单元:入口、页面、命令、接口、注册表、adapter 或共享对象。","docPath":"docs/architecture/c4/components/apps-linux_cardputer_zero/component.md","htmlPath":"docs/architecture/c4/components/apps-linux_cardputer_zero/component.html","anchor":"architecture:c4:component:apps-linux_cardputer_zero","relation":"contains","reason":"进入 组件职责:apps/linux_cardputer_zero 可以回答“容器边界:apps/linux_cardputer_zero 由哪些内部组件承载”。重点看入口、编排、适配、契约和共享对象,而不是浏览全量文件。"},{"id":"architecture:c4:code:apps-linux_cardputer_zero","level":"code","title":"代码锚点:apps/linux_cardputer_zero","summary":"从 C4 Code 层解释 apps/linux_cardputer_zero 内少量关键代码锚点。Code 层不是代码浏览器,只在需要理解架构组件如何落到具体文件/符号时使用。","docPath":"docs/architecture/c4/code/apps-linux_cardputer_zero/code.md","htmlPath":"docs/architecture/c4/code/apps-linux_cardputer_zero/code.html","anchor":"architecture:c4:code:apps-linux_cardputer_zero","relation":"details","reason":"进入 代码锚点:apps/linux_cardputer_zero 是为了把 容器边界:apps/linux_cardputer_zero 的架构职责追溯到具体文件/符号锚点;只有需要判断实现入口或变更影响面时才应下钻到 Code。"}],"relatedEngineeringDocs":[{"id":"architecture:c4:engineering-link:docs-engineering-package-diagrams-apps-linux_cardputer_zero-package-diagram","level":"code","title":"apps/linux_cardputer_zero Package Diagram","summary":"查看该 Container 所属软件结构 package/module 的边界、依赖和复杂度候选点。","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":"architecture:c4:engineering-link:docs-engineering-package-diagrams-apps-linux_cardputer_zero-package-diagram","relation":"related_engineering","reason":"查看该 Container 所属软件结构 package/module 的边界、依赖和复杂度候选点。"}]}</script>
|
||
</main>
|
||
</body>
|
||
</html> |