cabloy 5.1.60 → 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 (232) hide show
  1. package/.claude/hooks/contract-loop-gate.ts +296 -0
  2. package/.claude/settings.json +16 -0
  3. package/.claude/skills/cabloy-backend-scaffold/SKILL.md +2 -0
  4. package/.claude/skills/cabloy-backend-scaffold/references/follow-up-checklist.md +1 -0
  5. package/.claude/skills/cabloy-contract-loop/SKILL.md +89 -16
  6. package/.claude/skills/cabloy-contract-loop/references/contract-loop-map.md +102 -14
  7. package/.claude/skills/cabloy-contract-loop/references/resource-custom-state-pattern.md +4 -0
  8. package/.claude/skills/cabloy-contract-loop/references/verification-checklist.md +32 -14
  9. package/.claude/skills/cabloy-domain-planning/SKILL.md +212 -0
  10. package/.claude/skills/cabloy-frontend-scaffold/SKILL.md +13 -0
  11. package/.claude/skills/cabloy-frontend-scaffold/references/follow-up-checklist.md +2 -0
  12. package/.claude/skills/cabloy-module-removal/SKILL.md +144 -0
  13. package/.claude/skills/cabloy-resource-field-update/SKILL.md +7 -0
  14. package/.claude/skills/cabloy-zova-source-reading/SKILL.md +221 -0
  15. package/.claude/skills/cabloy-zova-source-reading/references/analysis-modes.md +91 -0
  16. package/.claude/skills/cabloy-zova-source-reading/references/core-reading-paths.md +117 -0
  17. package/CHANGELOG.md +64 -0
  18. package/CLAUDE.md +11 -0
  19. package/cabloy-docs/.vitepress/config.mjs +197 -5
  20. package/cabloy-docs/ai/cli-to-skill-map.md +7 -0
  21. package/cabloy-docs/ai/docs-skills-rules-mapping.md +22 -0
  22. package/cabloy-docs/ai/future-skill-roadmap.md +12 -7
  23. package/cabloy-docs/ai/introduction.md +1 -0
  24. package/cabloy-docs/ai/playbook-backend-module.md +6 -0
  25. package/cabloy-docs/ai/playbook-module-removal.md +164 -0
  26. package/cabloy-docs/ai/skills.md +12 -0
  27. package/cabloy-docs/backend/backend-contract-emission-output-inspection.md +189 -0
  28. package/cabloy-docs/backend/backend-contract-emission-source-reading-map.md +160 -0
  29. package/cabloy-docs/backend/backend-contract-emission-specimen.md +170 -0
  30. package/cabloy-docs/backend/backend-resource-module-contract-chain.md +323 -0
  31. package/cabloy-docs/backend/backend-source-reading-debug-checklist.md +173 -0
  32. package/cabloy-docs/backend/backend-source-reading-roadmap.md +129 -0
  33. package/cabloy-docs/backend/backend-source-reading-verify-playbook.md +166 -0
  34. package/cabloy-docs/backend/bean-scene-authoring.md +4 -4
  35. package/cabloy-docs/backend/broadcast-guide.md +3 -3
  36. package/cabloy-docs/backend/cli.md +20 -11
  37. package/cabloy-docs/backend/config-guide.md +4 -4
  38. package/cabloy-docs/backend/controller-aop-guide.md +10 -10
  39. package/cabloy-docs/backend/controller-guide.md +12 -2
  40. package/cabloy-docs/backend/crud-workflow.md +7 -3
  41. package/cabloy-docs/backend/dto-guide.md +18 -2
  42. package/cabloy-docs/backend/dto-infer-generation.md +201 -25
  43. package/cabloy-docs/backend/election-guide.md +2 -2
  44. package/cabloy-docs/backend/entity-guide.md +30 -3
  45. package/cabloy-docs/backend/error-guide.md +3 -3
  46. package/cabloy-docs/backend/event-guide.md +4 -4
  47. package/cabloy-docs/backend/external-aop-guide.md +2 -2
  48. package/cabloy-docs/backend/field-indexes.md +9 -3
  49. package/cabloy-docs/backend/foundation.md +8 -8
  50. package/cabloy-docs/backend/i18n-guide.md +6 -6
  51. package/cabloy-docs/backend/internal-aop-guide.md +2 -2
  52. package/cabloy-docs/backend/introduction.md +15 -0
  53. package/cabloy-docs/backend/migration-and-changes.md +3 -3
  54. package/cabloy-docs/backend/model-guide.md +16 -6
  55. package/cabloy-docs/backend/openapi-guide.md +3 -0
  56. package/cabloy-docs/backend/queue-guide.md +3 -3
  57. package/cabloy-docs/backend/redlock-guide.md +2 -2
  58. package/cabloy-docs/backend/schedule-guide.md +2 -2
  59. package/cabloy-docs/backend/scripts.md +8 -0
  60. package/cabloy-docs/backend/serialization-guide.md +12 -2
  61. package/cabloy-docs/backend/service-guide.md +18 -9
  62. package/cabloy-docs/backend/startup-guide.md +5 -5
  63. package/cabloy-docs/backend/status-guide.md +271 -0
  64. package/cabloy-docs/backend/unit-testing.md +3 -3
  65. package/cabloy-docs/backend/vona-source-reading-map.md +157 -0
  66. package/cabloy-docs/backend/websocket-protocol-guide.md +5 -5
  67. package/cabloy-docs/backend/websocket-usage-guide.md +15 -8
  68. package/cabloy-docs/frontend/a-model-under-the-hood.md +281 -0
  69. package/cabloy-docs/frontend/a-openapi-under-the-hood.md +248 -0
  70. package/cabloy-docs/frontend/a-router-guide.md +307 -0
  71. package/cabloy-docs/frontend/api-guide.md +6 -4
  72. package/cabloy-docs/frontend/api-schema-guide.md +1 -0
  73. package/cabloy-docs/frontend/app-startup-guide.md +7 -4
  74. package/cabloy-docs/frontend/bean-scene-authoring.md +3 -1
  75. package/cabloy-docs/frontend/behavior-guide.md +16 -16
  76. package/cabloy-docs/frontend/cli.md +14 -2
  77. package/cabloy-docs/frontend/command-scene-authoring.md +504 -0
  78. package/cabloy-docs/frontend/component-guide.md +5 -5
  79. package/cabloy-docs/frontend/component-props-guide.md +1 -1
  80. package/cabloy-docs/frontend/component-v-model-guide.md +2 -2
  81. package/cabloy-docs/frontend/design-principles.md +6 -0
  82. package/cabloy-docs/frontend/fetch-interceptor-guide.md +440 -0
  83. package/cabloy-docs/frontend/filter-query-select-data-flow-guide.md +260 -0
  84. package/cabloy-docs/frontend/form-guide.md +786 -0
  85. package/cabloy-docs/frontend/form-scene-to-page-meta-guide.md +303 -0
  86. package/cabloy-docs/frontend/foundation.md +33 -0
  87. package/cabloy-docs/frontend/frontend-source-reading-roadmap.md +249 -0
  88. package/cabloy-docs/frontend/generated-contract-consumption-debug-checklist.md +190 -0
  89. package/cabloy-docs/frontend/generated-contract-consumption-entry-branch.md +205 -0
  90. package/cabloy-docs/frontend/generated-contract-consumption-list-branch.md +157 -0
  91. package/cabloy-docs/frontend/generated-contract-consumption-specimen.md +203 -0
  92. package/cabloy-docs/frontend/generated-contract-consumption-verify-playbook.md +189 -0
  93. package/cabloy-docs/frontend/generic-component-guide.md +1 -1
  94. package/cabloy-docs/frontend/introduction.md +38 -5
  95. package/cabloy-docs/frontend/ioc-and-beans.md +6 -0
  96. package/cabloy-docs/frontend/mock-guide.md +1 -0
  97. package/cabloy-docs/frontend/model-architecture.md +288 -39
  98. package/cabloy-docs/frontend/model-resource-best-practices.md +379 -0
  99. package/cabloy-docs/frontend/model-resource-cookbook.md +508 -0
  100. package/cabloy-docs/frontend/model-resource-internals-deep-dive.md +238 -0
  101. package/cabloy-docs/frontend/model-resource-owner-pattern.md +402 -0
  102. package/cabloy-docs/frontend/model-resource-usage-guide.md +334 -0
  103. package/cabloy-docs/frontend/model-state-guide.md +371 -15
  104. package/cabloy-docs/frontend/module-scope.md +8 -8
  105. package/cabloy-docs/frontend/modules-and-suites.md +2 -1
  106. package/cabloy-docs/frontend/navigation-guards-guide.md +7 -0
  107. package/cabloy-docs/frontend/openapi-sdk-guide.md +17 -6
  108. package/cabloy-docs/frontend/page-guide.md +15 -9
  109. package/cabloy-docs/frontend/page-meta-guide.md +466 -0
  110. package/cabloy-docs/frontend/page-params-guide.md +3 -3
  111. package/cabloy-docs/frontend/page-query-guide.md +2 -2
  112. package/cabloy-docs/frontend/page-route-guide.md +6 -0
  113. package/cabloy-docs/frontend/permission-formscene-action-visibility-guide.md +263 -0
  114. package/cabloy-docs/frontend/quickstart.md +18 -2
  115. package/cabloy-docs/frontend/reading-zova-for-vue-developers.md +266 -0
  116. package/cabloy-docs/frontend/resource-entry-page-deep-dive.md +271 -0
  117. package/cabloy-docs/frontend/resource-list-page-deep-dive.md +279 -0
  118. package/cabloy-docs/frontend/rest-resource-source-reading-map.md +522 -0
  119. package/cabloy-docs/frontend/rest-resource-under-the-hood.md +622 -0
  120. package/cabloy-docs/frontend/root-behaviors-guide.md +282 -0
  121. package/cabloy-docs/frontend/route-alias-guide.md +6 -0
  122. package/cabloy-docs/frontend/router-stack-guide.md +229 -0
  123. package/cabloy-docs/frontend/router-tabs-introduction.md +26 -3
  124. package/cabloy-docs/frontend/router-tabs-layout-integration.md +367 -0
  125. package/cabloy-docs/frontend/router-tabs-mechanism.md +6 -0
  126. package/cabloy-docs/frontend/router-tabs-route-meta-cookbook.md +7 -0
  127. package/cabloy-docs/frontend/router-tabs-vs-stack.md +167 -0
  128. package/cabloy-docs/frontend/router-view-hosts-guide.md +450 -0
  129. package/cabloy-docs/frontend/server-data.md +4 -1
  130. package/cabloy-docs/frontend/system-startup-guide.md +2 -2
  131. package/cabloy-docs/frontend/table-action-visibility-permission-flow-guide.md +263 -0
  132. package/cabloy-docs/frontend/table-cell-cookbook.md +568 -0
  133. package/cabloy-docs/frontend/table-guide.md +373 -0
  134. package/cabloy-docs/frontend/table-resource-crud-cookbook.md +496 -0
  135. package/cabloy-docs/frontend/zova-app-guide.md +251 -0
  136. package/cabloy-docs/frontend/zova-form-source-reading-map.md +293 -0
  137. package/cabloy-docs/frontend/zova-form-under-the-hood.md +561 -0
  138. package/cabloy-docs/frontend/zova-reactivity-under-the-hood.md +320 -0
  139. package/cabloy-docs/frontend/zova-router-under-the-hood.md +561 -0
  140. package/cabloy-docs/frontend/zova-source-reading-map.md +421 -0
  141. package/cabloy-docs/frontend/zova-table-controller-render-supplement.md +225 -0
  142. package/cabloy-docs/frontend/zova-table-source-reading-map.md +317 -0
  143. package/cabloy-docs/frontend/zova-table-under-the-hood.md +532 -0
  144. package/cabloy-docs/frontend/zova-vs-vue3-comparison.md +308 -0
  145. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions-debug-checklist.md +245 -0
  146. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions-source-reading-map.md +139 -0
  147. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions-verify-playbook.md +248 -0
  148. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions.md +511 -0
  149. package/cabloy-docs/fullstack/contract-loop-playbook.md +356 -0
  150. package/cabloy-docs/fullstack/edition-collaboration-differences.md +6 -0
  151. package/cabloy-docs/fullstack/frontend-metadata-to-backend.md +199 -23
  152. package/cabloy-docs/fullstack/introduction.md +15 -1
  153. package/cabloy-docs/fullstack/openapi-to-sdk.md +135 -11
  154. package/cabloy-docs/fullstack/suites-and-modules.md +333 -0
  155. package/cabloy-docs/fullstack/tutorial-1-first-module.md +3 -0
  156. package/cabloy-docs/fullstack/tutorial-2-first-crud.md +4 -0
  157. package/cabloy-docs/fullstack/tutorial-3-frontend-metadata-sharing.md +6 -2
  158. package/cabloy-docs/fullstack/tutorial-4-custom-level-renderers.md +60 -23
  159. package/cabloy-docs/fullstack/tutorial-5-backend-contract-sharing.md +14 -7
  160. package/cabloy-docs/fullstack/tutorial-6-one-contract-four-uses.md +6 -0
  161. package/cabloy-docs/fullstack/tutorials-overview.md +17 -4
  162. package/cabloy-docs/reference/bean-scene-boilerplates.md +15 -13
  163. package/cabloy-docs/reference/package-map.md +4 -3
  164. package/package.json +2 -1
  165. package/scripts/init.ts +2 -18
  166. package/scripts/initTestData.ts +25 -0
  167. package/scripts/upgrade.ts +17 -2
  168. package/vona/pnpm-lock.yaml +48 -194
  169. package/vona/src/suite/a-training/modules/training-student/package.json +53 -0
  170. package/vona/src/suite/a-training/modules/training-student/src/.metadata/index.ts +400 -0
  171. package/vona/src/suite/a-training/modules/training-student/src/.metadata/locales.ts +18 -0
  172. package/vona/src/suite/a-training/modules/training-student/src/.metadata/this.ts +2 -0
  173. package/vona/src/suite/a-training/modules/training-student/src/bean/meta.index.ts +12 -0
  174. package/vona/src/suite/a-training/modules/training-student/src/bean/meta.version.ts +21 -0
  175. package/vona/src/suite/a-training/modules/training-student/src/bean/ssrMenu.student.ts +29 -0
  176. package/vona/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +15 -0
  177. package/vona/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +15 -0
  178. package/vona/src/suite/a-training/modules/training-student/src/controller/student.ts +74 -0
  179. package/vona/src/suite/a-training/modules/training-student/src/dto/studentCreate.tsx +28 -0
  180. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectReq.tsx +44 -0
  181. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectRes.tsx +11 -0
  182. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectResItem.tsx +45 -0
  183. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSummary.tsx +42 -0
  184. package/vona/src/suite/a-training/modules/training-student/src/dto/studentUpdate.tsx +28 -0
  185. package/vona/src/suite/a-training/modules/training-student/src/dto/studentView.tsx +25 -0
  186. package/vona/src/suite/a-training/modules/training-student/src/entity/student.tsx +84 -0
  187. package/vona/src/suite/a-training/modules/training-student/src/index.ts +2 -0
  188. package/vona/src/suite/a-training/modules/training-student/src/model/student.ts +10 -0
  189. package/vona/src/suite/a-training/modules/training-student/src/service/student.ts +57 -0
  190. package/vona/src/suite/a-training/modules/training-student/test/student.test.ts +173 -0
  191. package/vona/src/suite/a-training/modules/training-student/tsconfig.build.json +11 -0
  192. package/vona/src/suite/a-training/modules/training-student/tsconfig.json +7 -0
  193. package/vona/src/suite/a-training/package.json +12 -0
  194. package/vona/src/suite/a-training/tsconfig.base.json +4 -0
  195. package/vona/src/suite/a-training/tsconfig.json +10 -0
  196. package/zova/packages-cli/cli/package.json +2 -2
  197. package/zova/packages-cli/cli-set-front/cli/templates/openapi/config/boilerplate/module/openapi.config.ts +6 -1
  198. package/zova/packages-cli/cli-set-front/package.json +1 -1
  199. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.openapi.generate.ts +34 -4
  200. package/zova/packages-zova/zova/package.json +2 -2
  201. package/zova/pnpm-lock.yaml +416 -690
  202. package/zova/src/suite/a-training/modules/training-student/cli/openapi.config.ts +9 -0
  203. package/zova/src/suite/a-training/modules/training-student/package.json +52 -0
  204. package/zova/src/suite/a-training/modules/training-student/src/.metadata/component/formFieldLevel.ts +31 -0
  205. package/zova/src/suite/a-training/modules/training-student/src/.metadata/index.ts +258 -0
  206. package/zova/src/suite/a-training/modules/training-student/src/.metadata/locales.ts +7 -0
  207. package/zova/src/suite/a-training/modules/training-student/src/.metadata/this.ts +2 -0
  208. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/baseURL.ts +5 -0
  209. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/index.ts +3 -0
  210. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/schemas.ts +196 -0
  211. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/types.ts +4146 -0
  212. package/zova/src/suite/a-training/modules/training-student/src/api/trainingStudent.ts +151 -0
  213. package/zova/src/suite/a-training/modules/training-student/src/apiSchema/trainingStudent.ts +43 -0
  214. package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.actionDeleteForce.tsx +51 -0
  215. package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.actionSummary.tsx +56 -0
  216. package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.level.tsx +63 -0
  217. package/zova/src/suite/a-training/modules/training-student/src/component/formFieldLevel/controller.tsx +117 -0
  218. package/zova/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +9 -0
  219. package/zova/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +9 -0
  220. package/zova/src/suite/a-training/modules/training-student/src/index.ts +2 -0
  221. package/zova/src/suite/a-training/modules/training-student/src/model/student.ts +42 -0
  222. package/zova/src/suite/a-training/modules/training-student/tsconfig.build.json +13 -0
  223. package/zova/src/suite/a-training/modules/training-student/tsconfig.json +5 -0
  224. package/zova/src/suite/a-training/package.json +12 -0
  225. package/zova/src/suite/a-training/tsconfig.base.json +4 -0
  226. package/zova/src/suite/a-training/tsconfig.json +4 -0
  227. package/zova/src/suite/cabloy-basic/modules/basic-select/src/component/formFieldSelect/controller.tsx +29 -7
  228. package/zova/src/suite/cabloy-basic/modules/basic-select/src/component/select/controller.tsx +34 -11
  229. package/zova/src/suite-vendor/a-zova/modules/a-table/package.json +1 -1
  230. package/zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx +3 -3
  231. package/zova/src/suite-vendor/a-zova/modules/a-table/src/lib/tableCell.ts +1 -1
  232. package/zova/src/suite-vendor/a-zova/package.json +2 -2
@@ -0,0 +1,421 @@
1
+ # Zova Source Reading Map
2
+
3
+ This page is a practical map for contributors and AI workflows that need to read Zova source code efficiently.
4
+
5
+ It does not try to teach every subsystem from scratch. Instead, it answers a narrower question:
6
+
7
+ > when I need to understand one kind of Zova frontend behavior, which files should I read first, and in what order?
8
+
9
+ Use this page together with the architectural guides:
10
+
11
+ - [Foundation](/frontend/foundation)
12
+ - [Design Principles](/frontend/design-principles)
13
+ - [IoC and Beans](/frontend/ioc-and-beans)
14
+ - [Reading Zova for Vue Developers](/frontend/reading-zova-for-vue-developers)
15
+ - [Frontend Source Reading Roadmap](/frontend/frontend-source-reading-roadmap)
16
+ - [Zova Reactivity Under the Hood](/frontend/zova-reactivity-under-the-hood)
17
+
18
+ ## Why this page exists
19
+
20
+ In a framework-sized codebase, source reading usually becomes slow for one reason:
21
+
22
+ - you can already find _a_ relevant file
23
+ - but you do not yet know the shortest path to the _next_ file
24
+
25
+ Zova especially benefits from a reading map because several layers cooperate at once:
26
+
27
+ - public wrappers and generated surfaces
28
+ - controller or bean authoring surfaces
29
+ - container and lifecycle runtime
30
+ - route or SSR integration
31
+ - module and suite boundaries
32
+
33
+ This page gives a starting sequence for each major topic so readers can move from public surface to runtime layer without drifting.
34
+
35
+ ## How to use this page
36
+
37
+ For each topic below:
38
+
39
+ 1. start with the public guide to refresh the architectural intent
40
+ 2. read the first source file to identify the public surface
41
+ 3. continue into the next runtime file only if you still need the implementation detail
42
+ 4. stop as soon as you have enough information for the task
43
+
44
+ The goal is not to read the entire framework every time. The goal is to choose the shortest accurate path.
45
+
46
+ ## 1. Page controller and page reactivity
47
+
48
+ Use this path when you are asking questions like:
49
+
50
+ - why does a plain page-controller field update the UI?
51
+ - where do `$params` and `$query` come from?
52
+ - how does page render enter the runtime?
53
+
54
+ ### Read the docs first
55
+
56
+ - [Page Guide](/frontend/page-guide)
57
+ - [Reading Zova for Vue Developers](/frontend/reading-zova-for-vue-developers)
58
+ - [Zova Reactivity Under the Hood](/frontend/zova-reactivity-under-the-hood)
59
+
60
+ ### Then read source in this order
61
+
62
+ 1. `zova/src/suite/a-demo/modules/demo-basic/src/page/state/controller.tsx`
63
+ 2. `zova/packages-zova/zova-core/src/composables/useController.ts`
64
+ 3. `zova/packages-zova/zova-core/src/bean/beanContainer.ts`
65
+ 4. `zova/packages-zova/zova-core/src/bean/beanBase.ts`
66
+ 5. `zova/packages-zova/zova-core/src/bean/beanControllerPageBase.ts`
67
+ 6. `zova/packages-zova/zova-core/src/core/context/component.ts`
68
+ 7. `zova/src/suite-vendor/a-zova/modules/a-router/src/monkey.ts`
69
+
70
+ ### What each file clarifies
71
+
72
+ - `controller.tsx` shows the public authoring pattern
73
+ - `useController.ts` shows controller creation and load timing
74
+ - `beanContainer.ts` shows when beans become reactive and context-managed
75
+ - `beanBase.ts` shows helper wrappers such as `$computed` and `$watch`
76
+ - `beanControllerPageBase.ts` shows page-controller data-refresh hooks
77
+ - `component.ts` shows controller-oriented render redirection
78
+ - `a-router/src/monkey.ts` shows how route-aware state is pushed onto the controller
79
+
80
+ ## 2. Component controller and component wrapper behavior
81
+
82
+ Use this path when you are asking questions like:
83
+
84
+ - how do Z-prefixed wrapper components fit into the runtime?
85
+ - how does `controllerRef` expose the controller instance?
86
+ - how do component controllers differ from page controllers?
87
+
88
+ ### Read the docs first
89
+
90
+ - [Component Guide](/frontend/component-guide)
91
+ - [IoC and Beans](/frontend/ioc-and-beans)
92
+ - [Reading Zova for Vue Developers](/frontend/reading-zova-for-vue-developers)
93
+
94
+ ### Then read source in this order
95
+
96
+ 1. a representative component metadata wrapper under `src/.metadata/component/*.ts`
97
+ 2. `zova/packages-zova/zova-core/src/composables/useController.ts`
98
+ 3. `zova/packages-zova/zova-core/src/bean/beanControllerBase.ts`
99
+ 4. `zova/packages-zova/zova-core/src/core/context/component.ts`
100
+ 5. the component controller source you are actually analyzing
101
+
102
+ ### What each file clarifies
103
+
104
+ - metadata wrapper files show how the public component wrapper enters `useController(...)`
105
+ - `useController.ts` shows how component-local controller data is prepared
106
+ - `beanControllerBase.ts` shows component-controller data refresh rules such as props updates
107
+ - `component.ts` shows how render is patched toward controller/render beans
108
+ - the concrete component controller shows the public authoring pattern for the case you care about
109
+
110
+ ## 3. Bean lifecycle, instance scope, and helper APIs
111
+
112
+ Use this path when you are asking questions like:
113
+
114
+ - where should reactive setup happen?
115
+ - what is the role of `__init__` and `__dispose__`?
116
+ - how are helpers such as `$watch`, `$toRef`, or `$customRef` exposed?
117
+
118
+ ### Read the docs first
119
+
120
+ - [IoC and Beans](/frontend/ioc-and-beans)
121
+ - [Design Principles](/frontend/design-principles)
122
+
123
+ ### Then read source in this order
124
+
125
+ 1. `zova/packages-zova/zova-core/src/bean/beanBase.ts`
126
+ 2. `zova/packages-zova/zova-core/src/bean/beanBaseSimple.ts`
127
+ 3. `zova/packages-zova/zova-core/src/bean/beanContainer.ts`
128
+ 4. `zova/packages-zova/zova-core/src/core/context/util.ts`
129
+
130
+ ### What each file clarifies
131
+
132
+ - `beanBase.ts` shows the main helper surface available to beans
133
+ - `beanBaseSimple.ts` shows the lower-level bean identity/base surface
134
+ - `beanContainer.ts` shows init, inject, and dispose flow
135
+ - `context/util.ts` shows how instance scope is applied around framework operations
136
+
137
+ ## 4. Page routing, params, query, and layout-oriented route behavior
138
+
139
+ Use this path when you are asking questions like:
140
+
141
+ - where are typed params/query resolved?
142
+ - how does a route record connect to a page wrapper?
143
+ - where should route-aware page changes be debugged?
144
+
145
+ ### Read the docs first
146
+
147
+ - [Page Route Guide](/frontend/page-route-guide)
148
+ - [A-Router Guide](/frontend/a-router-guide)
149
+ - [Zova Router Under the Hood](/frontend/zova-router-under-the-hood)
150
+ - [Router View Hosts Guide](/frontend/router-view-hosts-guide)
151
+ - [Page Params Guide](/frontend/page-params-guide)
152
+ - [Page Query Guide](/frontend/page-query-guide)
153
+ - [Navigation Guards Guide](/frontend/navigation-guards-guide)
154
+
155
+ ### Then read source in this order
156
+
157
+ 1. the page `routes.ts` file for the module you care about
158
+ 2. `zova/src/suite-vendor/a-zova/modules/a-router/src/monkey.ts`
159
+ 3. `zova/src/suite-vendor/a-zova/modules/a-router/src/lib/utils.ts`
160
+ 4. the relevant route schema metadata or module page schema source
161
+ 5. `zova/packages-zova/zova-core/src/bean/beanControllerPageBase.ts`
162
+
163
+ ### What each file clarifies
164
+
165
+ - route files show the public route declaration surface
166
+ - `monkey.ts` shows controller data prepare/init/update behavior
167
+ - route utils show how current/page route resolution is derived
168
+ - route schema sources show typed parsing behavior for params and query
169
+ - `beanControllerPageBase.ts` shows the page-controller refresh hook surface
170
+
171
+ ### When to continue into routed hosts
172
+
173
+ If your next question becomes any of these:
174
+
175
+ - why this route lands in one shell host rather than another
176
+ - where keep-alive participation is decided after route resolution
177
+ - where `tabKey` / `componentKey` are derived for routed pages
178
+ - how the active layout consumes routed-host state
179
+
180
+ then continue immediately with:
181
+
182
+ - [Router View Hosts Guide](/frontend/router-view-hosts-guide)
183
+ - section 5 on this page for the compact source-reading path
184
+
185
+ ## 5. Router-view hosts, routertabs, and routerstack
186
+
187
+ Use this path when you are asking questions like:
188
+
189
+ - why does one routed page use an empty host while another behaves like a tabbed workbench?
190
+ - where do `tabKey`, `componentKey`, and keep-alive inclusion actually come from?
191
+ - how do `routerViewTabs` and `routerViewStack` differ at runtime?
192
+ - which layout files are the real consumers of routed-host behavior?
193
+
194
+ ### Read the docs first
195
+
196
+ - [Page Route Guide](/frontend/page-route-guide)
197
+ - [Zova Router Under the Hood](/frontend/zova-router-under-the-hood)
198
+ - [Router View Hosts Guide](/frontend/router-view-hosts-guide)
199
+ - [Router Tabs Introduction](/frontend/router-tabs-introduction)
200
+ - [Router Tabs Overview](/frontend/router-tabs-overview)
201
+ - [Router Tabs Mechanism](/frontend/router-tabs-mechanism)
202
+ - [Router Tabs vs Stack](/frontend/router-tabs-vs-stack)
203
+ - [Router Stack Guide](/frontend/router-stack-guide)
204
+
205
+ ### Then read source in this order
206
+
207
+ 1. `zova/src/suite-vendor/a-zova/modules/a-router/src/lib/routerViewBase.tsx`
208
+ 2. `zova/src/suite-vendor/a-zova/modules/a-router/src/component/routerViewEmpty/controller.tsx`
209
+ 3. `zova/src/suite-vendor/a-zova/modules/a-routertabs/src/component/routerViewTabs/controller.tsx`
210
+ 4. `zova/src/suite-vendor/a-zova/modules/a-routertabs/src/model/tabs.ts`
211
+ 5. `zova/src/suite-vendor/a-zova/modules/a-routerstack/src/component/routerViewStack/controller.tsx`
212
+ 6. `zova/src/suite-vendor/a-zova/modules/a-routerstack/src/model/stack.ts`
213
+ 7. the active layout controller/render pair that consumes the host you care about
214
+
215
+ ### What each file clarifies
216
+
217
+ - `routerViewBase.tsx` shows the shared host contract for routed-page render, keep-alive, and host callbacks
218
+ - `routerViewEmpty/controller.tsx` shows the minimal routed host without the richer tabs/stack model
219
+ - `routerViewTabs/controller.tsx` shows the controller-facing tabs host entrypoint
220
+ - `model/tabs.ts` shows workspace grouping, tab-item state, page-meta updates, and keep-alive inclusion
221
+
222
+ If your next question becomes specifically about task-level title, dirty state, or form-scene presentation after the routed item is already open, continue with [Page Meta Guide](/frontend/page-meta-guide).
223
+
224
+ - `routerViewStack/controller.tsx` shows the stack-host entrypoint with a smaller contract than tabs
225
+ - `model/stack.ts` shows the fullPath-based stack identity model and recency-based pruning
226
+ - active layout consumers show how the current shell turns host state into visible Admin or Web behavior
227
+
228
+ ## 6. Model state, cache-oriented state, and broader data ownership
229
+
230
+ Use this path when you are asking questions like:
231
+
232
+ - should this state live in a model bean?
233
+ - how does Zova unify async and sync state categories?
234
+ - where should I debug model-owned state instead of controller-owned state?
235
+
236
+ ### Read the docs first
237
+
238
+ - [Model Architecture](/frontend/model-architecture)
239
+ - [Model State Guide](/frontend/model-state-guide)
240
+ - [Design Principles](/frontend/design-principles)
241
+
242
+ ### Then read source in this order
243
+
244
+ 1. the relevant model bean in the module you are studying
245
+ 2. `zova/src/suite-vendor/a-zova/modules/a-model/src/bean/bean.model/bean.model.useState.ts`
246
+ 3. representative built-in model beans such as router tabs or resource models
247
+ 4. nearby state-owner service/controller code that consumes the model
248
+
249
+ ### What each file clarifies
250
+
251
+ - the local model bean shows the public business-facing ownership pattern
252
+ - `bean.model.useState.ts` shows framework-level state helper behavior
253
+ - built-in model beans show how the architecture is used in nontrivial cases
254
+ - consuming code shows whether the state really belongs in the model or only uses the model result
255
+
256
+ ## 7. Command scene and command-bean invocation
257
+
258
+ Use this path when you are asking questions like:
259
+
260
+ - how does `$performCommand(...)` resolve a command bean?
261
+ - when should an action live in a command bean instead of a page/controller method?
262
+ - where do command names, helper bases, and generated command typing come from?
263
+
264
+ ### Read the docs first
265
+
266
+ - [Command Scene Authoring](/frontend/command-scene-authoring)
267
+ - [IoC and Beans](/frontend/ioc-and-beans)
268
+ - [Frontend CLI](/frontend/cli)
269
+
270
+ ### Then read source in this order
271
+
272
+ 1. `zova/src/suite-vendor/a-zova/modules/a-command/src/lib/command.ts`
273
+ 2. `zova/src/suite-vendor/a-zova/modules/a-command/src/monkey.ts`
274
+ 3. `zova/src/suite-vendor/a-zova/modules/a-command/src/lib/performCommand.ts`
275
+ 4. `zova/src/suite-vendor/a-zova/modules/a-command/src/types/command.ts`
276
+ 5. one generated downstream metadata file such as `zova/src/suite/cabloy-basic/modules/basic-commands/src/.metadata/index.ts`
277
+ 6. representative command beans such as `command.create.tsx`, `command.delete.tsx`, `command.setValue.tsx`, or `command.log.tsx`
278
+
279
+ ### What each file clarifies
280
+
281
+ - `command.ts` shows the public decorator surface and confirms the `sys` container scope
282
+ - `monkey.ts` shows how `$performCommand(...)` is injected onto bean instances and how default `renderContext` data is synthesized from the host bean
283
+ - `performCommand.ts` shows onion-name to bean resolution, sync-first then async bean loading, option merging, and command execution
284
+ - `types/command.ts` shows the command-scene type contract, including `ICommandRecord`, `IDecoratorCommandOptions`, and `SymbolCommandResult`
285
+ - generated downstream metadata shows the real command names and bean full names exposed by consuming modules
286
+ - representative command beans show when to use the plain, bulk, row, or scene-sensitive command shapes
287
+
288
+ ## App-shell root host and `a-app`
289
+
290
+ Use this path when you are asking questions like:
291
+
292
+ - what is the root app host in Zova?
293
+ - where does the routed tree first enter the app controller path?
294
+ - where do app-wide behaviors wrap the routed content?
295
+ - how should I read `a-app` without confusing it with routes, layouts, or SSR orchestration?
296
+
297
+ ### Read the docs first
298
+
299
+ - [Zova App Guide](/frontend/zova-app-guide)
300
+ - [Root Behaviors Guide](/frontend/root-behaviors-guide)
301
+ - [App Startup Guide](/frontend/app-startup-guide)
302
+ - [Page Route Guide](/frontend/page-route-guide)
303
+ - [Behavior Guide](/frontend/behavior-guide)
304
+
305
+ ### Then read source in this order
306
+
307
+ 1. `zova/src/suite-vendor/a-zova/modules/a-app/src/.metadata/this.ts`
308
+ 2. `zova/src/suite-vendor/a-zova/modules/a-app/src/.metadata/index.ts`
309
+ 3. `zova/src/suite-vendor/a-zova/modules/a-app/src/.metadata/component/app.ts`
310
+ 4. `zova/src/suite-vendor/a-zova/modules/a-app/src/component/app/controller.tsx`
311
+ 5. `zova/src/suite-vendor/a-zova/modules/a-app/src/config/config.ts`
312
+
313
+ ### What each file clarifies
314
+
315
+ - `this.ts` shows the module identity quickly
316
+ - `.metadata/index.ts` shows the generated integration surface for controller, component, config, and scope
317
+ - `.metadata/component/app.ts` shows the thin `ZApp` wrapper that mounts `ControllerApp` through `useController(...)`
318
+ - `controller.tsx` shows app-level meta setup, behavior-holder initialization, and behavior-wrapped `RouterView` render
319
+ - `config.ts` shows the root behavior injection point through `scope.config.behaviors`
320
+
321
+ ## 8. Behavior scene and render-time interception
322
+
323
+ Use this path when you are asking questions like:
324
+
325
+ - should this concern be a Behavior, a Component, or a Helper?
326
+ - how do behaviors wrap render targets?
327
+ - where does the behavior pipeline actually compose?
328
+
329
+ ### Read the docs first
330
+
331
+ - [Behavior Guide](/frontend/behavior-guide)
332
+ - [IoC and Beans](/frontend/ioc-and-beans)
333
+
334
+ ### Then read source in this order
335
+
336
+ 1. the public behavior wrapper and controller path referenced in the docs
337
+ 2. the concrete behavior bean you are studying
338
+ 3. the composer/service files used by the behavior scene
339
+ 4. any host-injected controller or bean that the behavior depends on
340
+
341
+ ### What each file clarifies
342
+
343
+ - wrapper/controller files show the public entry into the behavior system
344
+ - concrete behavior beans show authoring-time render interception
345
+ - composer/service files show how behavior chains are normalized and executed
346
+ - host dependencies show why host-scoped injection is part of the behavior design
347
+
348
+ ## 9. SSR runtime and hydration handoff
349
+
350
+ Use this path when you are asking questions like:
351
+
352
+ - is this SSR issue owned by Vona or Zova?
353
+ - where does the frontend SSR runtime begin?
354
+ - where should hydration-sensitive debugging start?
355
+
356
+ ### Read the docs first
357
+
358
+ - [SSR Architecture Overview](/frontend/ssr-architecture-overview)
359
+ - [SSR Overview](/frontend/ssr-overview)
360
+ - [SSR Init Data](/frontend/ssr-init-data)
361
+ - [SSR Troubleshooting Guide](/frontend/ssr-troubleshooting-guide)
362
+
363
+ ### Then read source in this order
364
+
365
+ 1. the frontend SSR site entry or generated SSR bundle entry for the affected app/site
366
+ 2. the SSR-related context/runtime files in `zova-core`
367
+ 3. the relevant page/controller/model code whose output differs between server and client
368
+ 4. if needed, the Vona SSR integration layer for the site entry and request handoff
369
+
370
+ ### What each file clarifies
371
+
372
+ - SSR entry files show where the frontend runtime starts during SSR
373
+ - SSR runtime/context files show how render context and state transfer are assembled
374
+ - page/controller/model files show whether the bug is actually page-level logic
375
+ - the Vona side shows whether the problem happens before the Zova runtime is even entered
376
+
377
+ ## 10. Modules, suites, and architectural placement
378
+
379
+ Use this path when you are asking questions like:
380
+
381
+ - where should new frontend code live?
382
+ - does this belong in an existing module, a new module, or a different suite?
383
+ - which source-tree boundary expresses the intended business architecture?
384
+
385
+ ### Read the docs first
386
+
387
+ - [Modules and Suites](/frontend/modules-and-suites)
388
+ - [Module Scope](/frontend/module-scope)
389
+ - [Frontend Directory Structure](/reference/frontend-directory-structure)
390
+
391
+ ### Then read source in this order
392
+
393
+ 1. the nearby suite/module layout under `zova/src/suite*`
394
+ 2. the target module `package.json` and metadata if relevant
395
+ 3. representative peer modules in the same suite
396
+ 4. only then the exact controller/component/model/service file you intend to change
397
+
398
+ ### What each file clarifies
399
+
400
+ - source-tree layout shows the real architectural neighborhood
401
+ - module metadata shows naming, dependencies, and bundle-related declarations
402
+ - peer modules show current placement conventions
403
+ - the final target file then makes sense inside the correct architectural boundary
404
+
405
+ ## A compact reading strategy
406
+
407
+ When in doubt, use this sequence:
408
+
409
+ 1. public guide
410
+ 2. representative example in app/module code
411
+ 3. public wrapper or controller entrypoint
412
+ 4. bean/container/runtime source
413
+ 5. integration layer such as router, behavior, model, or SSR
414
+
415
+ That order usually gets you to the answer faster than starting from deep runtime files first.
416
+
417
+ ## Final takeaway
418
+
419
+ The fastest way to read Zova source accurately is not to memorize every core file.
420
+
421
+ It is to recognize which architectural topic you are in, then start from the smallest public surface that matches that topic and only descend into runtime files as needed.
@@ -0,0 +1,225 @@
1
+ # Zova Table Controller Render Deep Dive
2
+
3
+ This page is a small lower-level supplement for the Zova Table runtime.
4
+
5
+ Use it when you already understand the broader table architecture and now want to inspect the controller micro-pipeline more precisely:
6
+
7
+ - how `ControllerTable` boots
8
+ - how visible columns and render functions are assembled
9
+ - how `tableCell` render providers are normalized and resolved
10
+ - how cell render preparation and transient-object handoff work
11
+
12
+ ## Why this supplement exists
13
+
14
+ The existing table docs already cover the broad architecture well:
15
+
16
+ - [Table Guide](/frontend/table-guide)
17
+ - [Zova Table Under the Hood](/frontend/zova-table-under-the-hood)
18
+ - [Zova Table Source Reading Map](/frontend/zova-table-source-reading-map)
19
+
20
+ What those pages do not isolate directly is the controller/render micro-pipeline inside `ControllerTable`.
21
+
22
+ That is the only gap this supplement fills.
23
+
24
+ ## The shortest accurate mental model
25
+
26
+ A practical mental model is:
27
+
28
+ 1. `BeanControllerTableBase.$useTable(...)` owns the TanStack bridge at controller level
29
+ 2. `ControllerTable.__init__()` prepares schema properties, metadata, columns, and the table instance
30
+ 3. `_createTableMeta()` decides which properties are visible and which render function each one should use
31
+ 4. `_createColumnRender()` resolves either a `tableCell` bean-backed render path or a general render target
32
+ 5. `cellRenderPrepare()` can preload nested bean-backed renders
33
+ 6. `_cellRender()` / `_cellRenderInner()` hand off row/cell scope, fallback values, and transient `getValue(...)` state into final rendering
34
+
35
+ That means the controller micro-pipeline is where schema, visibility, bean resolution, and render contexts finally converge.
36
+
37
+ ## Source-confirmed reading path
38
+
39
+ When reading this topic, use this order:
40
+
41
+ 1. `zova/src/suite-vendor/a-zova/modules/a-table/src/lib/beanControllerTableBase.ts`
42
+ 2. `zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx`
43
+ 3. `zova/src/suite-vendor/a-zova/modules/a-table/src/types/tableCell.ts`
44
+ 4. `zova/src/suite-vendor/a-zova/modules/a-table/src/types/tableColumn.ts`
45
+ 5. `zova/packages-utils/zova-jsx/src/lib/zovaJsx.ts`
46
+ 6. `zova/src/suite/cabloy-basic/modules/basic-table/src/bean/tableCell.actionOperationsRow.tsx`
47
+
48
+ That order moves from the controller/TanStack bridge, to the main controller runtime, to the render contracts, to the JSX runtime handoff, and finally to a concrete `tableCell` specimen.
49
+
50
+ ## `BeanControllerTableBase.$useTable(...)`
51
+
52
+ The TanStack bridge lives in:
53
+
54
+ ```text
55
+ zova/src/suite-vendor/a-zova/modules/a-table/src/lib/beanControllerTableBase.ts
56
+ ```
57
+
58
+ The key source-confirmed behavior is:
59
+
60
+ - `useVueTable(...)` is called inside `instanceScope(...)`
61
+ - the returned table instance is `markRaw(...)`
62
+
63
+ This is the first important lower-level rule:
64
+
65
+ - the table instance is still controller-owned runtime
66
+ - TanStack is the underlying table engine, but the controller remains the effective Zova runtime owner
67
+
68
+ ## `ControllerTable.__init__()` boot sequence
69
+
70
+ The main runtime file is:
71
+
72
+ ```text
73
+ zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx
74
+ ```
75
+
76
+ The source confirms this boot sequence:
77
+
78
+ 1. register `$$table`
79
+ 2. create the CEL environment and `ZovaJsx` instance
80
+ 3. create schema-driven properties
81
+ 4. refresh metadata
82
+ 5. watch `schema` for meta refresh
83
+ 6. create the TanStack table instance
84
+
85
+ That is the core controller-level assembly path.
86
+
87
+ ## `_createTableMeta()` as visible-column/render assembly point
88
+
89
+ Inside the same controller, `_createTableMeta()` is the clearest metadata-assembly step.
90
+
91
+ It:
92
+
93
+ - iterates schema-derived properties
94
+ - builds column scope
95
+ - builds render context
96
+ - merges top-level column props
97
+ - checks visibility
98
+ - creates per-column render functions
99
+ - stores the surviving visible properties and render map in `tableMeta`
100
+
101
+ This is the most important micro-pipeline rule:
102
+
103
+ - schema properties do not automatically become rendered columns
104
+ - they are filtered and converted through controller-owned metadata assembly first
105
+
106
+ ## `getRenderProvider()` normalization and `_createColumnRender()`
107
+
108
+ The render-resolution path also lives in `ControllerTable`.
109
+
110
+ It decides whether a column render should be treated as:
111
+
112
+ - text fallback
113
+ - a general render target
114
+ - a `tableCell` bean-backed renderer
115
+
116
+ `_createColumnRender()` is the main resolution point where:
117
+
118
+ - render provider is normalized
119
+ - bean-backed providers are resolved
120
+ - decorator options are merged
121
+ - visibility hooks such as `checkVisible(...)` can participate
122
+
123
+ This is the lower-level rule to remember:
124
+
125
+ - render resolution is not only “take whatever the schema says”
126
+ - the controller resolves and normalizes that render contract first
127
+
128
+ ## `cellRenderPrepare()` and nested render preloading
129
+
130
+ `cellRenderPrepare()` is the preloading step for bean-backed renderers.
131
+
132
+ This matters most for nested or action-heavy cells, because it lets the controller prepare the concrete `tableCell` beans before final render.
133
+
134
+ A practical reading rule is:
135
+
136
+ - `cellRenderPrepare()` is part of render readiness, not only a cosmetic helper
137
+
138
+ A good current specimen is:
139
+
140
+ - `basic-table/src/bean/tableCell.actionOperationsRow.tsx`
141
+
142
+ because it prepares the nested row-action render set based on visibility.
143
+
144
+ ## `_cellRender()` / `_cellRenderInner()` and transient value handoff
145
+
146
+ The final cell rendering path uses:
147
+
148
+ - column scope
149
+ - cell scope
150
+ - fallback value
151
+ - actual cell value
152
+ - transient `getValue(...)` handoff through `ZovaJsx`
153
+
154
+ This is where the lower-level scope handoff matters most.
155
+
156
+ The current runtime uses the `ZovaJsx` transient-object path so cell renderers can see the active value context while still staying inside the controller-driven runtime.
157
+
158
+ A practical reading rule is:
159
+
160
+ - the final cell render is not only a plain function call
161
+ - it is a scoped runtime handoff with controller-owned context
162
+
163
+ ## Table-cell contract in types
164
+
165
+ The render contracts live in:
166
+
167
+ - `a-table/src/types/tableCell.ts`
168
+ - `a-table/src/types/tableColumn.ts`
169
+
170
+ These files confirm the lower-level boundary types for:
171
+
172
+ - `ITableCellRender`
173
+ - `checkVisible(...)`
174
+ - column scope vs cell scope
175
+ - render contexts passed into cell renderers
176
+
177
+ That makes them the right files to read when the runtime feels confusing even though the broad table docs are already understood.
178
+
179
+ ## Concrete specimen: operations-row tableCell
180
+
181
+ A good concrete specimen is:
182
+
183
+ ```text
184
+ zova/src/suite/cabloy-basic/modules/basic-table/src/bean/tableCell.actionOperationsRow.tsx
185
+ ```
186
+
187
+ This file is useful because it shows several lower-level pieces in one place:
188
+
189
+ - `checkVisible(...)`
190
+ - permission-based render filtering
191
+ - nested render preparation
192
+ - final action-row rendering through the table cell contract
193
+
194
+ So it is the best small specimen for understanding why the micro-pipeline matters in practice.
195
+
196
+ ## What this page does not re-explain
197
+
198
+ This supplement does **not** fully re-explain:
199
+
200
+ - broad table authoring -> see [Table Guide](/frontend/table-guide)
201
+ - full runtime architecture -> see [Zova Table Under the Hood](/frontend/zova-table-under-the-hood)
202
+ - general file-order map -> see [Zova Table Source Reading Map](/frontend/zova-table-source-reading-map)
203
+ - row/bulk permission semantics -> see [Table Action Visibility and Permission Flow Guide](/frontend/table-action-visibility-permission-flow-guide)
204
+
205
+ Its job is only to explain the controller/render micro-pipeline.
206
+
207
+ ## Where to read next
208
+
209
+ Use these next steps depending on your question:
210
+
211
+ - if you want the broad table runtime again, read [Zova Table Under the Hood](/frontend/zova-table-under-the-hood)
212
+ - if you want the file-order map, read [Zova Table Source Reading Map](/frontend/zova-table-source-reading-map)
213
+ - if you want row/bulk visibility behavior, read [Table Action Visibility and Permission Flow Guide](/frontend/table-action-visibility-permission-flow-guide)
214
+ - if you want the list-page runtime that feeds `ZTable`, read [Resource List Page Deep Dive](/frontend/resource-list-page-deep-dive)
215
+
216
+ ## Final takeaway
217
+
218
+ The most accurate way to read this lower-level table supplement is:
219
+
220
+ - `BeanControllerTableBase` owns the TanStack bridge at controller scope
221
+ - `ControllerTable` owns metadata assembly and render resolution
222
+ - `tableCell` beans participate through explicit controller-managed resolution and scope handoff
223
+ - `cellRenderPrepare()` and `_cellRender()` are part of the real runtime pipeline, not only helper details
224
+
225
+ That is the source-confirmed controller/render micro-pipeline in the current Cabloy Basic table runtime.