cabloy 5.1.61 → 5.1.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/.claude/skills/cabloy-backend-scaffold/SKILL.md +2 -0
  2. package/.claude/skills/cabloy-backend-scaffold/references/follow-up-checklist.md +1 -1
  3. package/.claude/skills/cabloy-domain-planning/SKILL.md +212 -0
  4. package/.claude/skills/cabloy-frontend-scaffold/SKILL.md +2 -0
  5. package/CHANGELOG.md +42 -0
  6. package/CLAUDE.md +1 -0
  7. package/cabloy-docs/.vitepress/config.mjs +158 -12
  8. package/cabloy-docs/ai/docs-skills-rules-mapping.md +8 -0
  9. package/cabloy-docs/ai/future-skill-roadmap.md +2 -0
  10. package/cabloy-docs/ai/skills.md +1 -0
  11. package/cabloy-docs/backend/backend-contract-emission-output-inspection.md +189 -0
  12. package/cabloy-docs/backend/backend-contract-emission-source-reading-map.md +160 -0
  13. package/cabloy-docs/backend/backend-contract-emission-specimen.md +170 -0
  14. package/cabloy-docs/backend/backend-resource-module-contract-chain.md +323 -0
  15. package/cabloy-docs/backend/backend-source-reading-debug-checklist.md +173 -0
  16. package/cabloy-docs/backend/backend-source-reading-roadmap.md +129 -0
  17. package/cabloy-docs/backend/backend-source-reading-verify-playbook.md +166 -0
  18. package/cabloy-docs/backend/bean-scene-authoring.md +4 -4
  19. package/cabloy-docs/backend/broadcast-guide.md +3 -3
  20. package/cabloy-docs/backend/cli.md +20 -11
  21. package/cabloy-docs/backend/config-guide.md +4 -4
  22. package/cabloy-docs/backend/controller-aop-guide.md +10 -10
  23. package/cabloy-docs/backend/controller-guide.md +12 -2
  24. package/cabloy-docs/backend/crud-workflow.md +7 -3
  25. package/cabloy-docs/backend/dto-guide.md +12 -2
  26. package/cabloy-docs/backend/dto-infer-generation.md +201 -25
  27. package/cabloy-docs/backend/election-guide.md +2 -2
  28. package/cabloy-docs/backend/entity-guide.md +12 -3
  29. package/cabloy-docs/backend/error-guide.md +3 -3
  30. package/cabloy-docs/backend/event-guide.md +4 -4
  31. package/cabloy-docs/backend/external-aop-guide.md +2 -2
  32. package/cabloy-docs/backend/field-indexes.md +9 -3
  33. package/cabloy-docs/backend/foundation.md +8 -8
  34. package/cabloy-docs/backend/i18n-guide.md +6 -6
  35. package/cabloy-docs/backend/internal-aop-guide.md +2 -2
  36. package/cabloy-docs/backend/introduction.md +13 -0
  37. package/cabloy-docs/backend/migration-and-changes.md +3 -3
  38. package/cabloy-docs/backend/model-guide.md +16 -6
  39. package/cabloy-docs/backend/openapi-guide.md +3 -0
  40. package/cabloy-docs/backend/queue-guide.md +3 -3
  41. package/cabloy-docs/backend/redlock-guide.md +2 -2
  42. package/cabloy-docs/backend/schedule-guide.md +2 -2
  43. package/cabloy-docs/backend/scripts.md +8 -0
  44. package/cabloy-docs/backend/serialization-guide.md +2 -2
  45. package/cabloy-docs/backend/service-guide.md +18 -9
  46. package/cabloy-docs/backend/startup-guide.md +5 -5
  47. package/cabloy-docs/backend/status-guide.md +7 -7
  48. package/cabloy-docs/backend/unit-testing.md +3 -3
  49. package/cabloy-docs/backend/vona-source-reading-map.md +157 -0
  50. package/cabloy-docs/backend/websocket-protocol-guide.md +5 -5
  51. package/cabloy-docs/backend/websocket-usage-guide.md +15 -8
  52. package/cabloy-docs/frontend/a-model-under-the-hood.md +281 -0
  53. package/cabloy-docs/frontend/a-openapi-under-the-hood.md +248 -0
  54. package/cabloy-docs/frontend/a-router-guide.md +307 -0
  55. package/cabloy-docs/frontend/api-guide.md +4 -4
  56. package/cabloy-docs/frontend/api-schema-guide.md +1 -0
  57. package/cabloy-docs/frontend/app-startup-guide.md +7 -4
  58. package/cabloy-docs/frontend/bean-scene-authoring.md +1 -1
  59. package/cabloy-docs/frontend/behavior-guide.md +16 -16
  60. package/cabloy-docs/frontend/cli.md +5 -5
  61. package/cabloy-docs/frontend/command-scene-authoring.md +17 -8
  62. package/cabloy-docs/frontend/component-guide.md +5 -5
  63. package/cabloy-docs/frontend/component-props-guide.md +1 -1
  64. package/cabloy-docs/frontend/component-v-model-guide.md +2 -2
  65. package/cabloy-docs/frontend/filter-query-select-data-flow-guide.md +260 -0
  66. package/cabloy-docs/frontend/form-guide.md +19 -28
  67. package/cabloy-docs/frontend/form-scene-to-page-meta-guide.md +303 -0
  68. package/cabloy-docs/frontend/foundation.md +10 -6
  69. package/cabloy-docs/frontend/frontend-source-reading-roadmap.md +249 -0
  70. package/cabloy-docs/frontend/generated-contract-consumption-debug-checklist.md +190 -0
  71. package/cabloy-docs/frontend/generated-contract-consumption-entry-branch.md +205 -0
  72. package/cabloy-docs/frontend/generated-contract-consumption-list-branch.md +157 -0
  73. package/cabloy-docs/frontend/generated-contract-consumption-specimen.md +203 -0
  74. package/cabloy-docs/frontend/generated-contract-consumption-verify-playbook.md +189 -0
  75. package/cabloy-docs/frontend/generic-component-guide.md +1 -1
  76. package/cabloy-docs/frontend/introduction.md +29 -7
  77. package/cabloy-docs/frontend/model-architecture.md +38 -2
  78. package/cabloy-docs/frontend/model-resource-cookbook.md +11 -8
  79. package/cabloy-docs/frontend/model-resource-internals-deep-dive.md +238 -0
  80. package/cabloy-docs/frontend/model-resource-owner-pattern.md +22 -2
  81. package/cabloy-docs/frontend/model-resource-usage-guide.md +22 -6
  82. package/cabloy-docs/frontend/model-state-guide.md +12 -9
  83. package/cabloy-docs/frontend/module-scope.md +8 -8
  84. package/cabloy-docs/frontend/modules-and-suites.md +2 -1
  85. package/cabloy-docs/frontend/navigation-guards-guide.md +7 -0
  86. package/cabloy-docs/frontend/openapi-sdk-guide.md +12 -4
  87. package/cabloy-docs/frontend/page-guide.md +9 -9
  88. package/cabloy-docs/frontend/page-meta-guide.md +466 -0
  89. package/cabloy-docs/frontend/page-params-guide.md +3 -3
  90. package/cabloy-docs/frontend/page-query-guide.md +2 -2
  91. package/cabloy-docs/frontend/page-route-guide.md +6 -0
  92. package/cabloy-docs/frontend/permission-formscene-action-visibility-guide.md +263 -0
  93. package/cabloy-docs/frontend/quickstart.md +14 -2
  94. package/cabloy-docs/frontend/resource-entry-page-deep-dive.md +271 -0
  95. package/cabloy-docs/frontend/resource-list-page-deep-dive.md +279 -0
  96. package/cabloy-docs/frontend/rest-resource-source-reading-map.md +522 -0
  97. package/cabloy-docs/frontend/rest-resource-under-the-hood.md +622 -0
  98. package/cabloy-docs/frontend/root-behaviors-guide.md +282 -0
  99. package/cabloy-docs/frontend/route-alias-guide.md +6 -0
  100. package/cabloy-docs/frontend/router-stack-guide.md +229 -0
  101. package/cabloy-docs/frontend/router-tabs-introduction.md +26 -3
  102. package/cabloy-docs/frontend/router-tabs-layout-integration.md +367 -0
  103. package/cabloy-docs/frontend/router-tabs-mechanism.md +6 -0
  104. package/cabloy-docs/frontend/router-tabs-route-meta-cookbook.md +7 -0
  105. package/cabloy-docs/frontend/router-tabs-vs-stack.md +167 -0
  106. package/cabloy-docs/frontend/router-view-hosts-guide.md +450 -0
  107. package/cabloy-docs/frontend/server-data.md +2 -1
  108. package/cabloy-docs/frontend/system-startup-guide.md +2 -2
  109. package/cabloy-docs/frontend/table-action-visibility-permission-flow-guide.md +263 -0
  110. package/cabloy-docs/frontend/table-cell-cookbook.md +568 -0
  111. package/cabloy-docs/frontend/table-guide.md +373 -0
  112. package/cabloy-docs/frontend/table-resource-crud-cookbook.md +496 -0
  113. package/cabloy-docs/frontend/zova-app-guide.md +251 -0
  114. package/cabloy-docs/frontend/zova-form-source-reading-map.md +7 -9
  115. package/cabloy-docs/frontend/zova-form-under-the-hood.md +5 -0
  116. package/cabloy-docs/frontend/zova-router-under-the-hood.md +561 -0
  117. package/cabloy-docs/frontend/zova-source-reading-map.md +101 -7
  118. package/cabloy-docs/frontend/zova-table-controller-render-supplement.md +225 -0
  119. package/cabloy-docs/frontend/zova-table-source-reading-map.md +317 -0
  120. package/cabloy-docs/frontend/zova-table-under-the-hood.md +532 -0
  121. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions-debug-checklist.md +245 -0
  122. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions-source-reading-map.md +139 -0
  123. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions-verify-playbook.md +248 -0
  124. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions.md +511 -0
  125. package/cabloy-docs/fullstack/contract-loop-playbook.md +8 -2
  126. package/cabloy-docs/fullstack/edition-collaboration-differences.md +6 -0
  127. package/cabloy-docs/fullstack/frontend-metadata-to-backend.md +181 -48
  128. package/cabloy-docs/fullstack/introduction.md +3 -0
  129. package/cabloy-docs/fullstack/openapi-to-sdk.md +116 -2
  130. package/cabloy-docs/fullstack/suites-and-modules.md +333 -0
  131. package/cabloy-docs/fullstack/tutorial-1-first-module.md +3 -0
  132. package/cabloy-docs/fullstack/tutorial-2-first-crud.md +4 -0
  133. package/cabloy-docs/fullstack/tutorial-3-frontend-metadata-sharing.md +4 -0
  134. package/cabloy-docs/fullstack/tutorial-4-custom-level-renderers.md +31 -19
  135. package/cabloy-docs/fullstack/tutorial-5-backend-contract-sharing.md +5 -0
  136. package/cabloy-docs/fullstack/tutorial-6-one-contract-four-uses.md +4 -0
  137. package/cabloy-docs/fullstack/tutorials-overview.md +1 -1
  138. package/cabloy-docs/reference/bean-scene-boilerplates.md +13 -13
  139. package/cabloy-docs/reference/package-map.md +4 -3
  140. package/package.json +1 -1
  141. package/vona/pnpm-lock.yaml +22 -258
  142. package/vona/src/suite/a-training/modules/training-student/package.json +53 -0
  143. package/vona/src/suite/a-training/modules/training-student/src/.metadata/index.ts +400 -0
  144. package/vona/src/suite/a-training/modules/training-student/src/.metadata/locales.ts +18 -0
  145. package/vona/src/suite/a-training/modules/training-student/src/.metadata/this.ts +2 -0
  146. package/vona/src/suite/a-training/modules/training-student/src/bean/meta.index.ts +12 -0
  147. package/vona/src/suite/a-training/modules/training-student/src/bean/meta.version.ts +21 -0
  148. package/vona/src/suite/a-training/modules/training-student/src/bean/ssrMenu.student.ts +29 -0
  149. package/vona/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +15 -0
  150. package/vona/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +15 -0
  151. package/vona/src/suite/a-training/modules/training-student/src/controller/student.ts +74 -0
  152. package/vona/src/suite/a-training/modules/training-student/src/dto/studentCreate.tsx +28 -0
  153. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectReq.tsx +44 -0
  154. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectRes.tsx +11 -0
  155. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectResItem.tsx +45 -0
  156. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSummary.tsx +42 -0
  157. package/vona/src/suite/a-training/modules/training-student/src/dto/studentUpdate.tsx +28 -0
  158. package/vona/src/suite/a-training/modules/training-student/src/dto/studentView.tsx +25 -0
  159. package/vona/src/suite/a-training/modules/training-student/src/entity/student.tsx +84 -0
  160. package/vona/src/suite/a-training/modules/training-student/src/index.ts +2 -0
  161. package/vona/src/suite/a-training/modules/training-student/src/model/student.ts +10 -0
  162. package/vona/src/suite/a-training/modules/training-student/src/service/student.ts +57 -0
  163. package/vona/src/suite/a-training/modules/training-student/test/student.test.ts +173 -0
  164. package/vona/src/suite/a-training/modules/training-student/tsconfig.build.json +11 -0
  165. package/vona/src/suite/a-training/modules/training-student/tsconfig.json +7 -0
  166. package/vona/src/suite/a-training/package.json +12 -0
  167. package/vona/src/suite/a-training/tsconfig.base.json +4 -0
  168. package/vona/src/suite/a-training/tsconfig.json +10 -0
  169. package/zova/packages-zova/zova/package.json +2 -2
  170. package/zova/pnpm-lock.yaml +406 -680
  171. package/zova/src/suite/a-training/modules/training-student/cli/openapi.config.ts +9 -0
  172. package/zova/src/suite/a-training/modules/training-student/package.json +52 -0
  173. package/zova/src/suite/a-training/modules/training-student/src/.metadata/component/formFieldLevel.ts +31 -0
  174. package/zova/src/suite/a-training/modules/training-student/src/.metadata/index.ts +258 -0
  175. package/zova/src/suite/a-training/modules/training-student/src/.metadata/locales.ts +7 -0
  176. package/zova/src/suite/a-training/modules/training-student/src/.metadata/this.ts +2 -0
  177. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/baseURL.ts +5 -0
  178. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/index.ts +3 -0
  179. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/schemas.ts +196 -0
  180. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/types.ts +4146 -0
  181. package/zova/src/suite/a-training/modules/training-student/src/api/trainingStudent.ts +151 -0
  182. package/zova/src/suite/a-training/modules/training-student/src/apiSchema/trainingStudent.ts +43 -0
  183. package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.actionDeleteForce.tsx +51 -0
  184. package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.actionSummary.tsx +56 -0
  185. package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.level.tsx +63 -0
  186. package/zova/src/suite/a-training/modules/training-student/src/component/formFieldLevel/controller.tsx +117 -0
  187. package/zova/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +9 -0
  188. package/zova/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +9 -0
  189. package/zova/src/suite/a-training/modules/training-student/src/index.ts +2 -0
  190. package/zova/src/suite/a-training/modules/training-student/src/model/student.ts +42 -0
  191. package/zova/src/suite/a-training/modules/training-student/tsconfig.build.json +13 -0
  192. package/zova/src/suite/a-training/modules/training-student/tsconfig.json +5 -0
  193. package/zova/src/suite/a-training/package.json +12 -0
  194. package/zova/src/suite/a-training/tsconfig.base.json +4 -0
  195. package/zova/src/suite/a-training/tsconfig.json +4 -0
  196. package/zova/src/suite/cabloy-basic/modules/basic-select/src/component/formFieldSelect/controller.tsx +29 -7
  197. package/zova/src/suite/cabloy-basic/modules/basic-select/src/component/select/controller.tsx +34 -11
  198. package/zova/src/suite-vendor/a-zova/modules/a-table/package.json +1 -1
  199. package/zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx +3 -3
  200. package/zova/src/suite-vendor/a-zova/modules/a-table/src/lib/tableCell.ts +1 -1
  201. package/zova/src/suite-vendor/a-zova/package.json +2 -2
@@ -0,0 +1,317 @@
1
+ # Zova Table Source Reading Map
2
+
3
+ This page is a practical map for contributors and AI workflows that need to read Zova Table source code efficiently.
4
+
5
+ Use this page after [Zova Table Under the Hood](/frontend/zova-table-under-the-hood) when your next question is not the runtime model itself, but which files to read first for a specific table-internals topic.
6
+
7
+ It answers a narrow question:
8
+
9
+ > when I need to understand how Zova Table works internally, which files should I read first, and in what order?
10
+
11
+ Use this page together with:
12
+
13
+ - [Table Guide](/frontend/table-guide)
14
+ - [TableCell Authoring Cookbook](/frontend/table-cell-cookbook)
15
+ - [Table + Resource CRUD Cookbook](/frontend/table-resource-crud-cookbook)
16
+ - [Zova Table Under the Hood](/frontend/zova-table-under-the-hood)
17
+ - [Zova Table Controller Render Deep Dive](/frontend/zova-table-controller-render-supplement)
18
+ - [Rest Resource Under the Hood](/frontend/rest-resource-under-the-hood)
19
+ - [Rest Resource Source Reading Map](/frontend/rest-resource-source-reading-map)
20
+ - [Zova Source Reading Map](/frontend/zova-source-reading-map)
21
+ - [Bean Scene Authoring](/frontend/bean-scene-authoring)
22
+ - [API Schema Guide](/frontend/api-schema-guide)
23
+ - [Model Resource Owner Pattern](/frontend/model-resource-owner-pattern)
24
+
25
+ > [!TIP]
26
+ > **Zova Table docs path**
27
+ >
28
+ > 1. **[Table Guide](/frontend/table-guide)** — learn the public authoring surface
29
+ > 2. **[Zova Table Under the Hood](/frontend/zova-table-under-the-hood)** — learn how the runtime pieces cooperate
30
+ > 3. **[Zova Table Source Reading Map](/frontend/zova-table-source-reading-map)** — learn which files to read next
31
+ >
32
+ > **You are here:** step 3.
33
+ > **Previous page:** [Zova Table Under the Hood](/frontend/zova-table-under-the-hood).
34
+
35
+ ## Why this page exists
36
+
37
+ The `a-table` module sits at the intersection of several Zova concerns at once:
38
+
39
+ - controller-oriented component design
40
+ - schema-driven column metadata
41
+ - TanStack Table integration
42
+ - bean-scene-based cell rendering
43
+ - resource-page integration through `basic-page`
44
+
45
+ This page exists for one narrow job:
46
+
47
+ - [Table Guide](/frontend/table-guide) explains how to author tables
48
+ - [Zova Table Under the Hood](/frontend/zova-table-under-the-hood) explains how the runtime pieces cooperate
49
+ - this page gives the shortest file-order paths for specific table questions
50
+
51
+ ## How to use this page
52
+
53
+ For each topic below:
54
+
55
+ 1. start with the public guide to refresh the architectural intent
56
+ 2. read the first source file to identify the public surface
57
+ 3. continue into the next runtime file only if you still need the implementation detail
58
+ 4. stop as soon as you have enough information for the task
59
+
60
+ The goal is not to read the entire table stack every time. The goal is to choose the shortest correct path.
61
+
62
+ ## 1. Public table surface and wrapper entrypoints
63
+
64
+ Use this path when you are asking questions like:
65
+
66
+ - what is the public Zova Table surface?
67
+ - where does `ZTable` enter the runtime?
68
+ - how does `controllerRef` reach the controller instance?
69
+
70
+ ### Read the docs first
71
+
72
+ - [Table Guide](/frontend/table-guide)
73
+ - [Component Guide](/frontend/component-guide)
74
+ - [Reading Zova for Vue Developers](/frontend/reading-zova-for-vue-developers)
75
+
76
+ ### Then read source in this order
77
+
78
+ 1. `zova/src/suite-vendor/a-zova/modules/a-table/src/.metadata/component/table.ts`
79
+ 2. `zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx`
80
+ 3. `zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/render.tsx`
81
+ 4. `zova/packages-zova/zova-core/src/composables/useController.ts`
82
+
83
+ ### What each file clarifies
84
+
85
+ - metadata wrapper files show how the public component wrapper enters `useController(...)`
86
+ - `table.ts` exposes `ZTable` and its typed controller-facing props surface
87
+ - `controller.tsx` shows the table runtime owner
88
+ - `render.tsx` shows the default DOM render path
89
+ - `useController.ts` shows how the controller instance is created and bound to the wrapper lifecycle
90
+
91
+ ## 2. Table controller ownership and TanStack bridge
92
+
93
+ Use this path when you are asking questions like:
94
+
95
+ - where is the TanStack table instance created?
96
+ - where do `columns` and `tableMeta` come from?
97
+ - why does the table runtime live in a controller bean?
98
+
99
+ ### Read the docs first
100
+
101
+ - [Table Guide](/frontend/table-guide)
102
+ - [Reading Zova for Vue Developers](/frontend/reading-zova-for-vue-developers)
103
+
104
+ ### Then read source in this order
105
+
106
+ 1. `zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx`
107
+ 2. `zova/src/suite-vendor/a-zova/modules/a-table/src/lib/beanControllerTableBase.ts`
108
+ 3. `zova/src/suite-vendor/a-zova/modules/a-table/src/lib/beanControllerPageTableBase.ts`
109
+ 4. `zova/src/suite-vendor/a-zova/modules/a-table/src/types/table.ts`
110
+
111
+ ### What each file clarifies
112
+
113
+ - `component/table/controller.tsx` is the main table runtime owner
114
+ - `beanControllerTableBase.ts` shows the shared `$useTable(...)` wrapper around TanStack `useVueTable(...)`
115
+ - `beanControllerPageTableBase.ts` shows the page-controller-oriented variant
116
+ - `types/table.ts` shows the exposed type contracts for table, columns, metadata, and `getColumns(...)`
117
+
118
+ ## 3. Schema-driven columns and metadata overlays
119
+
120
+ Use this path when you are asking questions like:
121
+
122
+ - how does a row schema become visible columns?
123
+ - where do `visible`, `order`, `render`, and `columnProps` come from?
124
+ - how does the table scene differ from form or filter scenes?
125
+
126
+ ### Read the docs first
127
+
128
+ - [Table Guide](/frontend/table-guide)
129
+ - [API Schema Guide](/frontend/api-schema-guide)
130
+
131
+ ### Then read source in this order
132
+
133
+ 1. `zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx`
134
+ 2. `zova/src/suite-vendor/a-zova/modules/a-openapi/src/lib/schema.ts`
135
+ 3. `zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/rest.ts`
136
+
137
+ ### What each file clarifies
138
+
139
+ - `controller.tsx` shows `_createProperties()`, `_createTableMeta()`, and `_createColumnsMiddle()`
140
+ - `schema.ts` shows `loadSchemaProperties(...)`, `$ref` resolution, and scene-specific `rest` overlays
141
+ - `rest.ts` shows the schema extension contract, including `rest.table` and table-related render types
142
+
143
+ ## 4. `tableCell` bean-scene contract and decorator surface
144
+
145
+ Use this path when you are asking questions like:
146
+
147
+ - what exactly is a `tableCell` bean?
148
+ - where does `@TableCell(...)` come from?
149
+ - how is the scene registered for metadata and typing?
150
+
151
+ ### Read the docs first
152
+
153
+ - [Bean Scene Authoring](/frontend/bean-scene-authoring)
154
+ - [Table Guide](/frontend/table-guide)
155
+
156
+ ### Then read source in this order
157
+
158
+ 1. `zova/src/suite-vendor/a-zova/modules/a-table/src/lib/tableCell.ts`
159
+ 2. `zova/src/suite-vendor/a-zova/modules/a-table/src/types/tableCell.ts`
160
+ 3. `zova/src/suite-vendor/a-zova/modules/a-table/package.json`
161
+ 4. `zova/src/suite-vendor/a-zova/modules/a-table/cli/tableCell/boilerplate/{{sceneName}}.{{beanName}}.tsx_`
162
+ 5. `zova/src/suite-vendor/a-zova/modules/a-table/cli/tableActionRow/boilerplate/{{sceneName}}.{{beanName}}.tsx_`
163
+
164
+ ### What each file clarifies
165
+
166
+ - `tableCell.ts` shows the decorator definition
167
+ - `types/tableCell.ts` shows the runtime contract, scene typing, and `NextTableCellRender`
168
+ - `package.json` shows `zovaModule.onions.tableCell` and boilerplate metadata
169
+ - the boilerplate files show the intended scaffold shape for normal cells and row-action cells
170
+
171
+ ## 5. Cell render pipeline and CEL/JSX scope
172
+
173
+ Use this path when you are asking questions like:
174
+
175
+ - how does one column render become one real cell vnode?
176
+ - where do `getValue(...)` and cell scope come from?
177
+ - how are JSX props evaluated for a cell bean?
178
+
179
+ ### Read the docs first
180
+
181
+ - [Zova Table Under the Hood](/frontend/zova-table-under-the-hood)
182
+ - [Reading Zova for Vue Developers](/frontend/reading-zova-for-vue-developers)
183
+
184
+ ### Then read source in this order
185
+
186
+ 1. `zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx`
187
+ 2. `zova/src/suite-vendor/a-zova/modules/a-table/src/types/tableColumn.ts`
188
+ 3. `zova/src/suite-vendor/a-zova/modules/a-table/src/types/tableCell.ts`
189
+
190
+ ### What each file clarifies
191
+
192
+ - `controller.tsx` shows `getColumnJsxRenderContext(...)`, `getCellJsxRenderContext(...)`, `cellRenderPrepare(...)`, `cellRender(...)`, and `_cellRenderInner(...)`
193
+ - `tableColumn.ts` shows column scope, cell scope, and table column render types
194
+ - `tableCell.ts` shows the render-context contract received by a `tableCell` bean
195
+
196
+ ## 6. Representative built-in cell renderers
197
+
198
+ Use this path when you are asking questions like:
199
+
200
+ - what does a simple formatter-style table cell look like?
201
+ - what does a row-action cell look like?
202
+ - how should I design my own custom table cell?
203
+
204
+ ### Read the docs first
205
+
206
+ - [Table Guide](/frontend/table-guide)
207
+ - [Bean Scene Authoring](/frontend/bean-scene-authoring)
208
+
209
+ ### Then read source in this order
210
+
211
+ 1. `zova/src/suite/cabloy-basic/modules/basic-text/src/bean/tableCell.text.tsx`
212
+ 2. `zova/src/suite/cabloy-basic/modules/basic-date/src/bean/tableCell.date.tsx`
213
+ 3. `zova/src/suite/cabloy-basic/modules/basic-select/src/bean/tableCell.select.tsx`
214
+ 4. `zova/src/suite/cabloy-basic/modules/basic-table/src/bean/tableCell.actionOperationsRow.tsx`
215
+
216
+ ### What each file clarifies
217
+
218
+ - `tableCell.text.tsx` shows the minimal pass-through plus optional wrapper pattern
219
+ - `tableCell.date.tsx` shows formatting around `next()`
220
+ - `tableCell.select.tsx` shows value-to-item mapping
221
+ - `actionOperationsRow.tsx` shows advanced visibility checks, nested action rendering, and permission-aware orchestration
222
+
223
+ ## 7. Custom columns through `getColumns(...)`
224
+
225
+ Use this path when you are asking questions like:
226
+
227
+ - how should I add one page-local operations column?
228
+ - how can I reuse the existing cell-render pipeline from custom columns?
229
+ - where is `createColumnRender(...)` defined?
230
+
231
+ ### Read the docs first
232
+
233
+ - [Table Guide](/frontend/table-guide)
234
+ - [Zova Table Under the Hood](/frontend/zova-table-under-the-hood)
235
+
236
+ ### Then read source in this order
237
+
238
+ 1. `zova/src/suite-vendor/a-zova/modules/a-table/src/types/table.ts`
239
+ 2. `zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx`
240
+ 3. `zova/src/suite/cabloy-basic/modules/basic-table/src/component/table/render.tsx`
241
+
242
+ ### What each file clarifies
243
+
244
+ - `types/table.ts` shows `TypeTableGetColumns` and `TypeTableCreateColumnRender`
245
+ - `controller.tsx` shows how custom columns are given `next(...)`, `createColumnRender(...)`, and the table controller itself
246
+ - `basic-table/render.tsx` shows a module-level consumer wrapping `ZTable` rather than replacing its runtime
247
+
248
+ ## 8. Resource-page integration
249
+
250
+ Use this path when you are asking questions like:
251
+
252
+ - how does a resource list page feed schema and data into `ZTable`?
253
+ - where do `data`, `schemaRow`, and `tableScope` come from?
254
+ - where should permission-sensitive table refresh be debugged?
255
+
256
+ ### Read the docs first
257
+
258
+ - [Table Guide](/frontend/table-guide)
259
+ - [Model Resource Owner Pattern](/frontend/model-resource-owner-pattern)
260
+
261
+ ### Then read source in this order
262
+
263
+ 1. `zova/src/suite/cabloy-basic/modules/basic-page/src/component/blockPage/controller.tsx`
264
+ 2. `zova/src/suite/cabloy-basic/modules/basic-page/src/component/blockTable/controller.tsx`
265
+ 3. `vona/src/suite-vendor/a-test/modules/test-rest/src/dto/productSelectResItem.tsx`
266
+
267
+ ### What each file clarifies
268
+
269
+ - `blockPage/controller.tsx` shows resource ownership, query state, page CEL scope, permissions, and table refresh integration
270
+ - `blockTable/controller.tsx` shows the direct bridge from page block to `ZTable`
271
+ - the Vona DTO specimen shows the block-based page composition consumed from backend-owned metadata
272
+
273
+ ## 9. Representative specimens to read before editing the framework
274
+
275
+ Use this section when you want one small example before reading framework internals.
276
+
277
+ ### Read these specimens first
278
+
279
+ 1. `zova/src/suite/cabloy-basic/modules/basic-page/src/component/blockTable/controller.tsx`
280
+ 2. `zova/src/suite/cabloy-basic/modules/basic-table/src/bean/tableCell.actionOperationsRow.tsx`
281
+ 3. `zova/src/suite/cabloy-basic/modules/basic-text/src/bean/tableCell.text.tsx`
282
+
283
+ ### Why these three specimens matter
284
+
285
+ - `blockTable` shows the public integration path from a page into `ZTable`
286
+ - `actionOperationsRow` shows the advanced `tableCell` orchestration path
287
+ - `tableCell.text` shows the smallest custom-cell authoring shape
288
+
289
+ Together they give you the public integration, the advanced cell path, and the minimal cell path before you descend into the whole table runtime.
290
+
291
+ ## 10. A compact reading strategy
292
+
293
+ When in doubt, use this order:
294
+
295
+ 1. [Table Guide](/frontend/table-guide)
296
+ 2. one real usage specimen such as `blockTable`
297
+ 3. the public wrapper metadata under `src/.metadata/component/table.ts`
298
+ 4. `component/table/controller.tsx`
299
+ 5. `lib/beanControllerTableBase.ts`
300
+ 6. `types/tableCell.ts` and representative cell beans only if you still need more detail
301
+
302
+ That order usually gets you to the answer faster than starting from the deepest runtime files first.
303
+
304
+ ## 11. Final takeaway
305
+
306
+ The fastest way to read Zova Table accurately is not to memorize every file in `a-table`.
307
+
308
+ It is to recognize which question you are asking:
309
+
310
+ - wrapper-entry question
311
+ - controller-runtime question
312
+ - schema-column question
313
+ - `tableCell` scene question
314
+ - cell-render question
315
+ - resource-page integration question
316
+
317
+ Then start from the smallest public file that matches that question and only descend into deeper runtime files as needed.