@quicktvui/ai 1.0.7 → 1.0.8

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 (204) hide show
  1. package/package.json +1 -1
  2. package/rules/.clinerules +27 -4
  3. package/rules/.cursorrules +27 -4
  4. package/rules/.github/copilot-instructions.md +27 -4
  5. package/rules/.source/hippy/extend_views/CoverFlowHorizontalView.java +203 -0
  6. package/rules/.source/hippy/extend_views/CoverFlowVerticalView.java +203 -0
  7. package/rules/.source/hippy/extend_views/CoverFlowViewController.java +195 -0
  8. package/rules/.source/hippy/extend_views/EngineRootView.java +125 -0
  9. package/rules/.source/hippy/extend_views/ExtendTag.java +83 -0
  10. package/rules/.source/hippy/extend_views/FocusSearchHelper.java +124 -0
  11. package/rules/.source/hippy/extend_views/IRecyclerItemView.java +12 -0
  12. package/rules/.source/hippy/extend_views/JSEventHandleView.java +5 -0
  13. package/rules/.source/hippy/extend_views/MarqueeRelayManager.java +133 -0
  14. package/rules/.source/hippy/extend_views/MarqueeRelayTextView.java +211 -0
  15. package/rules/.source/hippy/extend_views/ProgressBarView.java +83 -0
  16. package/rules/.source/hippy/extend_views/ProgressBarViewController.java +145 -0
  17. package/rules/.source/hippy/extend_views/SeekBarView.java +104 -0
  18. package/rules/.source/hippy/extend_views/SeekBarViewController.java +218 -0
  19. package/rules/.source/hippy/extend_views/StateImageView.java +149 -0
  20. package/rules/.source/hippy/extend_views/StateImageViewController.java +34 -0
  21. package/rules/.source/hippy/extend_views/TVButtonView.java +314 -0
  22. package/rules/.source/hippy/extend_views/TVButtonViewController.java +89 -0
  23. package/rules/.source/hippy/extend_views/TVTextView.java +684 -0
  24. package/rules/.source/hippy/extend_views/TVViewActor.java +811 -0
  25. package/rules/.source/hippy/extend_views/TVViewActorHost.java +6 -0
  26. package/rules/.source/hippy/extend_views/TVViewActor/346/216/245/345/205/245.md +66 -0
  27. package/rules/.source/hippy/extend_views/TemplateUtil.java +336 -0
  28. package/rules/.source/hippy/extend_views/TextButtonNode.java +47 -0
  29. package/rules/.source/hippy/extend_views/TextViewController.java +377 -0
  30. package/rules/.source/hippy/extend_views/fastlist/CenterFlyInAnimator.java +96 -0
  31. package/rules/.source/hippy/extend_views/fastlist/ChildOnScreenScroller.java +548 -0
  32. package/rules/.source/hippy/extend_views/fastlist/ClonedViewTag.java +17 -0
  33. package/rules/.source/hippy/extend_views/fastlist/EventDeliverer.java +55 -0
  34. package/rules/.source/hippy/extend_views/fastlist/FastAdapter.java +4683 -0
  35. package/rules/.source/hippy/extend_views/fastlist/FastAdapterUtil.java +982 -0
  36. package/rules/.source/hippy/extend_views/fastlist/FastFlexNode.java +48 -0
  37. package/rules/.source/hippy/extend_views/fastlist/FastFlexView.java +873 -0
  38. package/rules/.source/hippy/extend_views/fastlist/FastFlexViewController.java +130 -0
  39. package/rules/.source/hippy/extend_views/fastlist/FastItemNode.java +67 -0
  40. package/rules/.source/hippy/extend_views/fastlist/FastItemView.java +306 -0
  41. package/rules/.source/hippy/extend_views/fastlist/FastItemViewController.java +106 -0
  42. package/rules/.source/hippy/extend_views/fastlist/FastListModule.java +95 -0
  43. package/rules/.source/hippy/extend_views/fastlist/FastListNode.java +90 -0
  44. package/rules/.source/hippy/extend_views/fastlist/FastListView.java +2466 -0
  45. package/rules/.source/hippy/extend_views/fastlist/FastListViewController.java +1038 -0
  46. package/rules/.source/hippy/extend_views/fastlist/FastListView/346/270/262/346/237/223/346/265/201/347/250/213/345/233/276.graffle +0 -0
  47. package/rules/.source/hippy/extend_views/fastlist/FastPendingView.java +47 -0
  48. package/rules/.source/hippy/extend_views/fastlist/ItemDecorations.java +71 -0
  49. package/rules/.source/hippy/extend_views/fastlist/ItemStoreNode.java +64 -0
  50. package/rules/.source/hippy/extend_views/fastlist/ItemStoreView.java +13 -0
  51. package/rules/.source/hippy/extend_views/fastlist/ItemStoreViewController.java +45 -0
  52. package/rules/.source/hippy/extend_views/fastlist/ListItemHolder.java +7 -0
  53. package/rules/.source/hippy/extend_views/fastlist/ListViewControlProp.java +41 -0
  54. package/rules/.source/hippy/extend_views/fastlist/MouseRecycleView.java +509 -0
  55. package/rules/.source/hippy/extend_views/fastlist/OnFastItemClickListener.java +12 -0
  56. package/rules/.source/hippy/extend_views/fastlist/OnFastItemFocusChangeListener.java +9 -0
  57. package/rules/.source/hippy/extend_views/fastlist/OnFastScrollStateChangedListener.java +7 -0
  58. package/rules/.source/hippy/extend_views/fastlist/PendingListNode.java +18 -0
  59. package/rules/.source/hippy/extend_views/fastlist/PendingViewController.java +13 -0
  60. package/rules/.source/hippy/extend_views/fastlist/PostHandlerView.java +6 -0
  61. package/rules/.source/hippy/extend_views/fastlist/PostTaskHolder.java +20 -0
  62. package/rules/.source/hippy/extend_views/fastlist/ReplaceChildController.java +105 -0
  63. package/rules/.source/hippy/extend_views/fastlist/ReplaceChildView.java +312 -0
  64. package/rules/.source/hippy/extend_views/fastlist/TVListView.java +3692 -0
  65. package/rules/.source/hippy/extend_views/fastlist/TemplateCodeParser.java +247 -0
  66. package/rules/.source/hippy/extend_views/fastlist/Utils.java +572 -0
  67. package/rules/.source/hippy/extend_views/fastlist/ViewTag.java +317 -0
  68. package/rules/.source/hippy/extend_views/fastlist/VirtualListView.java +8 -0
  69. package/rules/.source/hippy/extend_views/fastlist/diff/FastListDataBindingHelper.java +320 -0
  70. package/rules/.source/hippy/extend_views/fastlist/diff/KeyDiffHelper.java +289 -0
  71. package/rules/.source/hippy/extend_views/fastlist/diff/NoKeyDiffHelper.java +278 -0
  72. package/rules/.source/hippy/extend_views/tag/FontTag.java +53 -0
  73. package/rules/.source/hippy/extend_views/tag/HtmlTag.java +191 -0
  74. package/rules/.source/hippy/extend_views/tag/HtmlTagHandler.java +185 -0
  75. package/rules/.source/hippy/extend_views/tag/SpanTag.java +160 -0
  76. package/rules/.source/hippy/extend_views/tag/TextFontSpan.java +102 -0
  77. package/rules/.source/hippy/extend_views/waterfall/Chunk.java +10 -0
  78. package/rules/.source/hippy/extend_views/waterfall/ChunkGroup.java +5 -0
  79. package/rules/.source/hippy/extend_views/waterfall/Section.java +4 -0
  80. package/rules/.source/hippy/extend_views/waterfall/Tabs.java +5 -0
  81. package/rules/.source/hippy/extend_views/waterfall/WaterfallUtils.java +26 -0
  82. package/rules/.source/hippy/hippy_uimanager/ControllerHolder.java +30 -0
  83. package/rules/.source/hippy/hippy_uimanager/ControllerManager.java +651 -0
  84. package/rules/.source/hippy/hippy_uimanager/ControllerRegistry.java +102 -0
  85. package/rules/.source/hippy/hippy_uimanager/ControllerUpdateManger.java +252 -0
  86. package/rules/.source/hippy/hippy_uimanager/CustomControllerHelper.java +425 -0
  87. package/rules/.source/hippy/hippy_uimanager/DiffUtils.java +526 -0
  88. package/rules/.source/hippy/hippy_uimanager/ExtendViewGroup.java +36 -0
  89. package/rules/.source/hippy/hippy_uimanager/HippyCustomViewCreator.java +29 -0
  90. package/rules/.source/hippy/hippy_uimanager/HippyGroupController.java +83 -0
  91. package/rules/.source/hippy/hippy_uimanager/HippyViewBase.java +27 -0
  92. package/rules/.source/hippy/hippy_uimanager/HippyViewController.java +2189 -0
  93. package/rules/.source/hippy/hippy_uimanager/HippyViewEvent.java +52 -0
  94. package/rules/.source/hippy/hippy_uimanager/IHippyZIndexViewGroup.java +24 -0
  95. package/rules/.source/hippy/hippy_uimanager/InternalExtendViewUtil.java +395 -0
  96. package/rules/.source/hippy/hippy_uimanager/ListItemRenderNode.java +143 -0
  97. package/rules/.source/hippy/hippy_uimanager/ListViewRenderNode.java +44 -0
  98. package/rules/.source/hippy/hippy_uimanager/MatrixUtil.java +470 -0
  99. package/rules/.source/hippy/hippy_uimanager/NativeGestureDispatcher.java +349 -0
  100. package/rules/.source/hippy/hippy_uimanager/NativeGestureProcessor.java +188 -0
  101. package/rules/.source/hippy/hippy_uimanager/PullFooterRenderNode.java +43 -0
  102. package/rules/.source/hippy/hippy_uimanager/PullHeaderRenderNode.java +43 -0
  103. package/rules/.source/hippy/hippy_uimanager/RenderManager.java +304 -0
  104. package/rules/.source/hippy/hippy_uimanager/RenderNode.java +533 -0
  105. package/rules/.source/hippy/hippy_uimanager/StateView.java +17 -0
  106. package/rules/.source/hippy/hippy_uimanager/TransformUtil.java +125 -0
  107. package/rules/.source/hippy/hippy_uimanager/ViewGroupDrawingOrderHelper.java +108 -0
  108. package/rules/.source/hippy/hippy_uimanager/ViewStateProvider.java +10 -0
  109. package/rules/.source/hippy/hippy_views/audioview/AudioPlayManager.java +457 -0
  110. package/rules/.source/hippy/hippy_views/audioview/AudioView.java +225 -0
  111. package/rules/.source/hippy/hippy_views/audioview/AudioViewController.java +135 -0
  112. package/rules/.source/hippy/hippy_views/common/CommonBackgroundDrawable.java +58 -0
  113. package/rules/.source/hippy/hippy_views/common/CommonBorder.java +37 -0
  114. package/rules/.source/hippy/hippy_views/custom/HippyCustomPropsController.java +61 -0
  115. package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerListAdapter.java +399 -0
  116. package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerView.java +378 -0
  117. package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewController.java +187 -0
  118. package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewHolder.java +39 -0
  119. package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewWrapper.java +134 -0
  120. package/rules/.source/hippy/hippy_views/hippylist/NodePositionHelper.java +55 -0
  121. package/rules/.source/hippy/hippy_views/hippylist/PreloadHelper.java +54 -0
  122. package/rules/.source/hippy/hippy_views/hippylist/PullFooterEventHelper.java +61 -0
  123. package/rules/.source/hippy/hippy_views/hippylist/PullHeaderEventHelper.java +127 -0
  124. package/rules/.source/hippy/hippy_views/hippylist/RecyclerViewEventHelper.java +394 -0
  125. package/rules/.source/hippy/hippy_views/image/HippyContentDrawable.java +113 -0
  126. package/rules/.source/hippy/hippy_views/image/HippyImageView.java +1608 -0
  127. package/rules/.source/hippy/hippy_views/image/HippyImageViewController.java +382 -0
  128. package/rules/.source/hippy/hippy_views/image/IImageStateListener.java +7 -0
  129. package/rules/.source/hippy/hippy_views/list/ChildOnScreenScroller.java +255 -0
  130. package/rules/.source/hippy/hippy_views/list/HippyListAdapter.java +647 -0
  131. package/rules/.source/hippy/hippy_views/list/HippyListItemView.java +162 -0
  132. package/rules/.source/hippy/hippy_views/list/HippyListItemViewController.java +45 -0
  133. package/rules/.source/hippy/hippy_views/list/HippyListView.java +915 -0
  134. package/rules/.source/hippy/hippy_views/list/HippyListViewController.java +622 -0
  135. package/rules/.source/hippy/hippy_views/list/HippyRecycler.java +31 -0
  136. package/rules/.source/hippy/hippy_views/list/IRecycleItemTypeChange.java +23 -0
  137. package/rules/.source/hippy/hippy_views/list/ItemDecorations.java +70 -0
  138. package/rules/.source/hippy/hippy_views/list/NegativeLongKeyFlinger.java +156 -0
  139. package/rules/.source/hippy/hippy_views/list/NodeHolder.java +34 -0
  140. package/rules/.source/hippy/hippy_views/list/RecycleViewFlinger.java +126 -0
  141. package/rules/.source/hippy/hippy_views/list/TVRecyclerView.java +2070 -0
  142. package/rules/.source/hippy/hippy_views/list/TVSingleLineListView.java +15 -0
  143. package/rules/.source/hippy/hippy_views/modal/HippyModalHostManager.java +102 -0
  144. package/rules/.source/hippy/hippy_views/modal/HippyModalHostView.java +597 -0
  145. package/rules/.source/hippy/hippy_views/modal/ModalHostHelper.java +46 -0
  146. package/rules/.source/hippy/hippy_views/modal/ModalStyleNode.java +34 -0
  147. package/rules/.source/hippy/hippy_views/modal/RequestCloseEvent.java +32 -0
  148. package/rules/.source/hippy/hippy_views/modal/ShowEvent.java +31 -0
  149. package/rules/.source/hippy/hippy_views/navigator/Navigator.java +126 -0
  150. package/rules/.source/hippy/hippy_views/navigator/NavigatorController.java +120 -0
  151. package/rules/.source/hippy/hippy_views/refresh/HippyPullFooterView.java +47 -0
  152. package/rules/.source/hippy/hippy_views/refresh/HippyPullFooterViewController.java +65 -0
  153. package/rules/.source/hippy/hippy_views/refresh/HippyPullHeaderView.java +39 -0
  154. package/rules/.source/hippy/hippy_views/refresh/HippyPullHeaderViewController.java +104 -0
  155. package/rules/.source/hippy/hippy_views/refresh/RefreshWrapper.java +237 -0
  156. package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperController.java +62 -0
  157. package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperItemController.java +39 -0
  158. package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperItemView.java +26 -0
  159. package/rules/.source/hippy/hippy_views/scroll/HippyHorizontalScrollView.java +500 -0
  160. package/rules/.source/hippy/hippy_views/scroll/HippyOnScrollHelper.java +39 -0
  161. package/rules/.source/hippy/hippy_views/scroll/HippyScrollView.java +46 -0
  162. package/rules/.source/hippy/hippy_views/scroll/HippyScrollViewController.java +178 -0
  163. package/rules/.source/hippy/hippy_views/scroll/HippyScrollViewEventHelper.java +92 -0
  164. package/rules/.source/hippy/hippy_views/scroll/HippyVerticalScrollView.java +522 -0
  165. package/rules/.source/hippy/hippy_views/text/HippyTextView.java +512 -0
  166. package/rules/.source/hippy/hippy_views/text/HippyTextViewController.java +77 -0
  167. package/rules/.source/hippy/hippy_views/textinput/HippyTextInput.java +668 -0
  168. package/rules/.source/hippy/hippy_views/textinput/HippyTextInputController.java +528 -0
  169. package/rules/.source/hippy/hippy_views/textinput/TextInputNode.java +115 -0
  170. package/rules/.source/hippy/hippy_views/videoview/APEZProvider.java +287 -0
  171. package/rules/.source/hippy/hippy_views/videoview/APKExpansionSupport.java +82 -0
  172. package/rules/.source/hippy/hippy_views/videoview/PivotPoint.java +13 -0
  173. package/rules/.source/hippy/hippy_views/videoview/ScalableType.java +34 -0
  174. package/rules/.source/hippy/hippy_views/videoview/ScalableVideoView.java +265 -0
  175. package/rules/.source/hippy/hippy_views/videoview/ScaleManager.java +191 -0
  176. package/rules/.source/hippy/hippy_views/videoview/Size.java +19 -0
  177. package/rules/.source/hippy/hippy_views/videoview/VideoHippyView.java +917 -0
  178. package/rules/.source/hippy/hippy_views/videoview/VideoHippyViewController.java +236 -0
  179. package/rules/.source/hippy/hippy_views/videoview/ZipResourceFile.java +427 -0
  180. package/rules/.source/hippy/hippy_views/view/CardRootView.java +28 -0
  181. package/rules/.source/hippy/hippy_views/view/CustomLayoutView.java +10 -0
  182. package/rules/.source/hippy/hippy_views/view/CustomNodeView.java +5 -0
  183. package/rules/.source/hippy/hippy_views/view/DialogViewGroup.java +113 -0
  184. package/rules/.source/hippy/hippy_views/view/HippyViewGroup.java +2042 -0
  185. package/rules/.source/hippy/hippy_views/view/HippyViewGroupController.java +583 -0
  186. package/rules/.source/hippy/hippy_views/view/WindowRoot.java +5 -0
  187. package/rules/.source/hippy/hippy_views/viewpager/HippyViewPager.java +308 -0
  188. package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerAdapter.java +148 -0
  189. package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerController.java +246 -0
  190. package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerItem.java +27 -0
  191. package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerItemController.java +42 -0
  192. package/rules/.source/hippy/hippy_views/viewpager/ViewPagerPageChangeListener.java +114 -0
  193. package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageItemExposureEvent.java +40 -0
  194. package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageScrollEvent.java +43 -0
  195. package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageScrollStateChangedEvent.java +42 -0
  196. package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageSelectedEvent.java +42 -0
  197. package/rules/.source/hippy/hippy_views/webview/HippyWebView.java +160 -0
  198. package/rules/.source/hippy/hippy_views/webview/HippyWebViewBridge.java +20 -0
  199. package/rules/.source/hippy/hippy_views/webview/HippyWebViewController.java +103 -0
  200. package/rules/.source/hippy/hippy_views/webview/HippyWebViewInner.java +77 -0
  201. package/rules/.windsurfrules +27 -4
  202. package/rules/AGENTS.md +27 -4
  203. package/rules/CLAUDE.md +27 -3
  204. package/rules/GEMINI.md +25 -3
@@ -0,0 +1,77 @@
1
+ /* Tencent is pleased to support the open source community by making Hippy available.
2
+ * Copyright (C) 2018 THL A29 Limited, a Tencent company. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ package com.tencent.mtt.hippy.views.webview;
17
+
18
+ import android.content.Context;
19
+ import android.view.KeyEvent;
20
+ import android.webkit.WebSettings;
21
+ import android.webkit.WebView;
22
+
23
+ @SuppressWarnings({"unused"})
24
+ class HippyWebViewInner extends WebView {
25
+
26
+ public HippyWebViewInner(Context context) {
27
+ super(context);
28
+ // 启用支持javascript
29
+ WebSettings settings = getSettings();
30
+ settings.setJavaScriptEnabled(true);
31
+ settings.setBuiltInZoomControls(true);
32
+ // 不显示webview缩放按钮
33
+ settings.setDisplayZoomControls(false);
34
+ settings.setDomStorageEnabled(true);
35
+ // 支持缩放
36
+ settings.setSupportZoom(true);
37
+ // 设置可以访问文件
38
+ settings.setAllowFileAccess(true);
39
+ //地理位置相关
40
+ settings.setGeolocationEnabled(true);
41
+ settings.setDatabaseEnabled(true);
42
+ settings.setLoadWithOverviewMode(true);
43
+ settings.setUseWideViewPort(true);
44
+ settings.setAppCacheEnabled(false);
45
+ settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
46
+ settings.setSupportMultipleWindows(false);
47
+ settings.setAppCachePath(context.getDir("hwebview_appcache", 0).getPath());
48
+ settings.setDatabasePath(context.getDir("hwebview_databases", 0).getPath());
49
+ settings.setGeolocationDatabasePath(context.getDir("hwebview_geolocation", 0).getPath());
50
+ settings.setLoadsImagesAutomatically(true);
51
+ settings.setAllowContentAccess(false);
52
+ settings.setDatabaseEnabled(true);
53
+ settings.setDomStorageEnabled(true);
54
+ settings.setLoadWithOverviewMode(true);
55
+ settings.setUseWideViewPort(true);
56
+ settings.setBuiltInZoomControls(true);
57
+ settings.setDisplayZoomControls(false);
58
+ settings.setSupportZoom(true);
59
+ settings.setRenderPriority(WebSettings.RenderPriority.HIGH);
60
+ if (android.os.Build.VERSION.SDK_INT >= 26) {
61
+ settings.setSafeBrowsingEnabled(true);
62
+ }
63
+ }
64
+
65
+ // 改写物理按键——返回的逻辑
66
+ @Override
67
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
68
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
69
+ if (canGoBack()) {
70
+ // 返回上一页面
71
+ goBack();
72
+ return true;
73
+ }
74
+ }
75
+ return super.onKeyDown(keyCode, event);
76
+ }
77
+ }
@@ -7,9 +7,18 @@
7
7
  **AI MUST refer to the official documentation and source code below BEFORE generating any code. NEVER hallucinate component names, attribute names, or APIs. These are the ONLY authorities.**
8
8
 
9
9
  1. **Local Docs, Examples & Source (PRIMARY)**: `node_modules/@quicktvui/ai/rules/.docs/` and `node_modules/@quicktvui/ai/rules/.source/` directories.
10
- * **Component Docs**: Detailed definitions of components, APIs, and CSS.
11
- * **Example Code**: `.docs/examples/` are verified best practices.
12
- * **Framework Source Code**: `.source/` directory contains the actual framework implementation. **AI SHOULD refer to the source code to resolve ambiguities in documentation.**
10
+ * **Component Docs**: `.docs/` for component, API, and CSS definitions.
11
+ * **Example Code**: `.docs/examples/` for verified best practices (pagination, focus, etc.).
12
+ * **Framework Source Map**: `.source/` contains the full-stack implementation. AI MUST locate source based on module:
13
+ * `quicktvui/`: Core Vue 3 UI component library implementation.
14
+ * `hippy/`: Android Native implementation (ViewController, UIManager).
15
+ * `ESPlayer*/ESVideoPlayer`: Media playback engines (Video, Audio, ADs).
16
+ * `ESPlayerManager`: High-level player window and playlist management.
17
+ * `ESRouter`: TV-optimized routing and navigation system.
18
+ * `ESCore`: Native module bridge, Storage, Toast, and System APIs.
19
+ * `ESVue*/ESVueStyleParser`: Custom Vue renderer and Style parser logic.
20
+ * `ESAxios`: Platform-optimized network library.
21
+ * `web/`: Polyfills for standard web tags.
13
22
 
14
23
  2. **Official Docs**: https://quicktvui.com
15
24
  3. **Core Library Samples**: https://github.com/quicktvui/quicktvui.git
@@ -403,4 +412,18 @@ export default defineComponent({
403
412
  5. **Pagination & Load More Rules (CRITICAL)**:
404
413
  * **`qt-tabs` (Tabs Waterfall)**: **MUST** use **`@onTabPageLoadData="onTabPageLoadData"`**. Append data via `addPageData`.
405
414
  * **`qt-waterfall` (Single Waterfall)**: **NO native `loadMore` event**. Usually triggered via **`@onItemBind`** on the last section (e.g., a Loading Section) or by listening to **`@onScrollToBottom`** (if supported by parent).
406
- * **`qt-list-view` / `qt-grid-view`**: Support native `@loadMore="loadMoreFn"` with `pageNo` parameter.
415
+ * **`qt-list-view` / `qt-grid-view`**: Support native `@loadMore="loadMoreFn"` with `pageNo` parameter.
416
+
417
+ ### 7. Native Component Mapping & Deprecations
418
+ AI MUST understand the mapping between Vue components and Java Native controllers to avoid using deprecated logic:
419
+
420
+ | Vue Component | Native Name (Hippy) | Java Class (PRIMARY) | Status |
421
+ | :--- | :--- | :--- | :--- |
422
+ | `qt-text` | `TextView` | `com.tencent.extend.views.TextViewController` | **Recommended** |
423
+ | `qt-list-view` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **Recommended** |
424
+ | `qt-waterfall` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **Recommended** |
425
+ | `qt-image` | `Image` | `com.tencent.mtt.hippy.views.image.HippyImageViewController` | **Active** |
426
+ | **(Deprecated)** | `Text` | `com.tencent.mtt.hippy.views.text.HippyTextViewController` | **DEPRECATED** |
427
+ | **(Deprecated)** | `ListView` | `com.tencent.mtt.hippy.views.list.HippyListViewController` | **DEPRECATED** |
428
+
429
+ **Rule**: Always prefer source code in `.source/hippy/extend_views/`. Use `.source/hippy/hippy_views/` only as a secondary fallback.
package/rules/AGENTS.md CHANGED
@@ -7,9 +7,18 @@
7
7
  **AI MUST refer to the official documentation and source code below BEFORE generating any code. NEVER hallucinate component names, attribute names, or APIs. These are the ONLY authorities.**
8
8
 
9
9
  1. **Local Docs, Examples & Source (PRIMARY)**: `node_modules/@quicktvui/ai/rules/.docs/` and `node_modules/@quicktvui/ai/rules/.source/` directories.
10
- * **Component Docs**: Detailed definitions of components, APIs, and CSS.
11
- * **Example Code**: `.docs/examples/` are verified best practices.
12
- * **Framework Source Code**: `.source/` directory contains the actual framework implementation. **AI SHOULD refer to the source code to resolve ambiguities in documentation.**
10
+ * **Component Docs**: `.docs/` for component, API, and CSS definitions.
11
+ * **Example Code**: `.docs/examples/` for verified best practices (pagination, focus, etc.).
12
+ * **Framework Source Map**: `.source/` contains the full-stack implementation. AI MUST locate source based on module:
13
+ * `quicktvui/`: Core Vue 3 UI component library implementation.
14
+ * `hippy/`: Android Native implementation (ViewController, UIManager).
15
+ * `ESPlayer*/ESVideoPlayer`: Media playback engines (Video, Audio, ADs).
16
+ * `ESPlayerManager`: High-level player window and playlist management.
17
+ * `ESRouter`: TV-optimized routing and navigation system.
18
+ * `ESCore`: Native module bridge, Storage, Toast, and System APIs.
19
+ * `ESVue*/ESVueStyleParser`: Custom Vue renderer and Style parser logic.
20
+ * `ESAxios`: Platform-optimized network library.
21
+ * `web/`: Polyfills for standard web tags.
13
22
 
14
23
  2. **Official Docs**: https://quicktvui.com (390+ docs)
15
24
  3. **Core Library Samples**: https://github.com/quicktvui/quicktvui.git (Core library + samples)
@@ -492,4 +501,18 @@ export default defineComponent({
492
501
  5. **Pagination & Load More Rules (CRITICAL)**:
493
502
  * **`qt-tabs` (Tabs Waterfall)**: **MUST** use **`@onTabPageLoadData="onTabPageLoadData"`**. Append data via `addPageData`.
494
503
  * **`qt-waterfall` (Single Waterfall)**: **NO native `loadMore` event**. Usually triggered via **`@onItemBind`** on the last section (e.g., a Loading Section) or by listening to **`@onScrollToBottom`** (if supported by parent).
495
- * **`qt-list-view` / `qt-grid-view`**: Support native `@loadMore="loadMoreFn"` with `pageNo` parameter.
504
+ * **`qt-list-view` / `qt-grid-view`**: Support native `@loadMore="loadMoreFn"` with `pageNo` parameter.
505
+
506
+ ### 7. Native Component Mapping & Deprecations
507
+ AI MUST understand the mapping between Vue components and Java Native controllers to avoid using deprecated logic:
508
+
509
+ | Vue Component | Native Name (Hippy) | Java Class (PRIMARY) | Status |
510
+ | :--- | :--- | :--- | :--- |
511
+ | `qt-text` | `TextView` | `com.tencent.extend.views.TextViewController` | **Recommended** |
512
+ | `qt-list-view` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **Recommended** |
513
+ | `qt-waterfall` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **Recommended** |
514
+ | `qt-image` | `Image` | `com.tencent.mtt.hippy.views.image.HippyImageViewController` | **Active** |
515
+ | **(Deprecated)** | `Text` | `com.tencent.mtt.hippy.views.text.HippyTextViewController` | **DEPRECATED** |
516
+ | **(Deprecated)** | `ListView` | `com.tencent.mtt.hippy.views.list.HippyListViewController` | **DEPRECATED** |
517
+
518
+ **Rule**: Always prefer source code in `.source/hippy/extend_views/`. Use `.source/hippy/hippy_views/` only as a secondary fallback.
package/rules/CLAUDE.md CHANGED
@@ -7,9 +7,18 @@
7
7
  **AI 在生成代码前,必须严格参考以下权威来源,严禁凭空想象任何组件名、属性名或 API。这是所有代码的唯一依据。**
8
8
 
9
9
  1. **本地文档、示例与源码 (PRIMARY)**:`node_modules/@quicktvui/ai/rules/.docs/` 和 `node_modules/@quicktvui/ai/rules/.source/` 目录。
10
- * **组件文档**:提供组件、API 及 CSS 的详细定义。
11
- * **示例代码**:`.docs/examples/` 下的 Vue 文件是经过验证的最佳实践。
12
- * **框架源码**:`.source/` 目录下是框架的真实实现逻辑。**当文档模糊时,AI 必须查阅源码以确保 100% 准确性。**
10
+ * **组件文档**:`.docs/` 提供组件、API 及 CSS 的详细定义。
11
+ * **示例代码**:`.docs/examples/` 是经过验证的最佳实践(分页、焦点等)。
12
+ * **框架源码地图**:`.source/` 包含框架的全栈实现,AI 必须根据模块定位源码:
13
+ * `quicktvui/`: 核心 Vue 3 UI 组件库实现。
14
+ * `hippy/`: Android Native 层实现 (ViewController, UIManager)。
15
+ * `ESPlayer*/ESVideoPlayer`: 视频、音频及广告播放核心引擎。
16
+ * `ESPlayerManager`: 高级播放器窗口管理、列表流转逻辑。
17
+ * `ESRouter`: 适配 TV 端的路由与导航系统。
18
+ * `ESCore`: 原生桥接层、存储、提示及系统级 API。
19
+ * `ESVue*/ESVueStyleParser`: 自定义 Vue 渲染器及样式解析器实现。
20
+ * `ESAxios`: 针对平台优化的网络请求库。
21
+ * `web/`: Web 标准标签适配层。
13
22
 
14
23
  2. **官方文档**:https://quicktvui.com (官网 390+ 篇详细文档)
15
24
  3. **核心库示例**:https://github.com/quicktvui/quicktvui.git (Core library + samples)
@@ -867,3 +876,18 @@ export default defineComponent({
867
876
  }
868
877
  </style>
869
878
  ```
879
+
880
+
881
+ ### 7. Native 组件映射与废弃说明 (Component Mapping & Deprecations)
882
+ AI 必须了解 Vue 组件与 Java Native 层的对应关系,避免查阅已废弃的源码:
883
+
884
+ | Vue 组件 | Native 名称 (Hippy) | 对应 Java 类 (PRIMARY) | 状态 |
885
+ | :--- | :--- | :--- | :--- |
886
+ | `qt-text` | `TextView` | `com.tencent.extend.views.TextViewController` | **推荐** |
887
+ | `qt-list-view` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **推荐** |
888
+ | `qt-waterfall` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **推荐** |
889
+ | `qt-image` | `Image` | `com.tencent.mtt.hippy.views.image.HippyImageViewController` | **常用** |
890
+ | **(已废弃)** | `Text` | `com.tencent.mtt.hippy.views.text.HippyTextViewController` | **废弃** |
891
+ | **(已废弃)** | `ListView` | `com.tencent.mtt.hippy.views.list.HippyListViewController` | **废弃** |
892
+
893
+ **注意**:查阅源码时,优先进入 `.source/hippy/extend_views/` 目录。只有当该目录下没有对应组件时,才查阅 `.source/hippy/hippy_views/`。
package/rules/GEMINI.md CHANGED
@@ -7,9 +7,18 @@
7
7
  **AI 在生成代码前,必须严格参考以下权威来源,严禁凭空想象任何组件名、属性名或 API。这是所有代码的唯一依据。**
8
8
 
9
9
  1. **本地文档、示例与源码 (PRIMARY)**:`node_modules/@quicktvui/ai/rules/.docs/` 和 `node_modules/@quicktvui/ai/rules/.source/` 目录。
10
- * **组件文档**:提供组件、API 及 CSS 的详细定义。
11
- * **示例代码**:`.docs/examples/` 下的 Vue 文件是经过验证的最佳实践。
12
- * **框架源码**:`.source/` 目录下是框架的真实实现逻辑。**当文档模糊时,AI 必须查阅源码以确保 100% 准确性。**
10
+ * **组件文档**:`.docs/` 提供组件、API 及 CSS 的详细定义。
11
+ * **示例代码**:`.docs/examples/` 是经过验证的最佳实践(分页、焦点等)。
12
+ * **框架源码地图**:`.source/` 包含框架的全栈实现,AI 必须根据模块定位源码:
13
+ * `quicktvui/`: 核心 Vue 3 UI 组件库实现。
14
+ * `hippy/`: Android Native 层实现 (ViewController, UIManager)。
15
+ * `ESPlayer*/ESVideoPlayer`: 视频、音频及广告播放核心引擎。
16
+ * `ESPlayerManager`: 高级播放器窗口管理、列表流转逻辑。
17
+ * `ESRouter`: 适配 TV 端的路由与导航系统。
18
+ * `ESCore`: 原生桥接层、存储、提示及系统级 API。
19
+ * `ESVue*/ESVueStyleParser`: 自定义 Vue 渲染器及样式解析器实现。
20
+ * `ESAxios`: 针对平台优化的网络请求库。
21
+ * `web/`: Web 标准标签适配层。
13
22
 
14
23
  2. **官方文档**:https://quicktvui.com (官网 390+ 篇详细文档)
15
24
  3. **核心库示例**:https://github.com/quicktvui/quicktvui.git
@@ -63,6 +72,19 @@ AI 在编写业务逻辑时,必须牢记以下框架特性,防止套用 Web
63
72
  AI 在创建新项目时,必须遵循:`git clone` 官方模板 -> 清理 `.git` -> 修改 `package.json` -> `yarn install`。
64
73
 
65
74
  ---
75
+ ### 7. Native 组件映射与废弃说明 (Component Mapping & Deprecations)
76
+ AI 必须了解 Vue 组件与 Java Native 层的对应关系,避免查阅已废弃的源码:
77
+
78
+ | Vue 组件 | Native 名称 (Hippy) | 对应 Java 类 (PRIMARY) | 状态 |
79
+ | :--- | :--- | :--- | :--- |
80
+ | `qt-text` | `TextView` | `com.tencent.extend.views.TextViewController` | **推荐** |
81
+ | `qt-list-view` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **推荐** |
82
+ | `qt-waterfall` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **推荐** |
83
+ | `qt-image` | `Image` | `com.tencent.mtt.hippy.views.image.HippyImageViewController` | **常用** |
84
+ | **(已废弃)** | `Text` | `com.tencent.mtt.hippy.views.text.HippyTextViewController` | **废弃** |
85
+ | **(已废弃)** | `ListView` | `com.tencent.mtt.hippy.views.list.HippyListViewController` | **废弃** |
86
+
87
+ **注意**:查阅源码时,优先进入 `.source/hippy/extend_views/` 目录。只有当该目录下没有对应组件时,才查阅 `.source/hippy/hippy_views/`。
66
88
 
67
89
  ## 📚 常用组件与 API (速查)
68
90
  * **Back 键**:必须命名为 `onBackPressed`。