@dpantani/tdmcp 0.1.0

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 (765) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +413 -0
  3. package/dist/cli/agent.d.ts +466 -0
  4. package/dist/cli/agent.js +1902 -0
  5. package/dist/cli/agent.js.map +1 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.js +4375 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/knowledge/data/glsl.json +1 -0
  10. package/dist/knowledge/data/meta.json +1 -0
  11. package/dist/knowledge/data/operators/ableton_link_chop.json +1322 -0
  12. package/dist/knowledge/data/operators/accumulate_pop.json +912 -0
  13. package/dist/knowledge/data/operators/actor_comp.json +7477 -0
  14. package/dist/knowledge/data/operators/add_sop.json +946 -0
  15. package/dist/knowledge/data/operators/add_top.json +1653 -0
  16. package/dist/knowledge/data/operators/alembic_sop.json +521 -0
  17. package/dist/knowledge/data/operators/align_sop.json +949 -0
  18. package/dist/knowledge/data/operators/ambient_light_comp.json +1698 -0
  19. package/dist/knowledge/data/operators/analyze_chop.json +710 -0
  20. package/dist/knowledge/data/operators/analyze_pop.json +698 -0
  21. package/dist/knowledge/data/operators/analyze_top.json +1276 -0
  22. package/dist/knowledge/data/operators/angle_chop.json +711 -0
  23. package/dist/knowledge/data/operators/animation_comp.json +2448 -0
  24. package/dist/knowledge/data/operators/annotate_comp.json +2913 -0
  25. package/dist/knowledge/data/operators/anti_alias_top.json +1278 -0
  26. package/dist/knowledge/data/operators/arm_sop.json +1747 -0
  27. package/dist/knowledge/data/operators/art-net_dat.json +472 -0
  28. package/dist/knowledge/data/operators/attribute_chop.json +617 -0
  29. package/dist/knowledge/data/operators/attribute_combine_pop.json +596 -0
  30. package/dist/knowledge/data/operators/attribute_convert_pop.json +462 -0
  31. package/dist/knowledge/data/operators/attribute_create_sop.json +191 -0
  32. package/dist/knowledge/data/operators/attribute_pop.json +1078 -0
  33. package/dist/knowledge/data/operators/attribute_sop.json +429 -0
  34. package/dist/knowledge/data/operators/audio_band_eq_chop.json +1228 -0
  35. package/dist/knowledge/data/operators/audio_binaural_chop.json +711 -0
  36. package/dist/knowledge/data/operators/audio_device_in_chop.json +1793 -0
  37. package/dist/knowledge/data/operators/audio_device_out_chop.json +1840 -0
  38. package/dist/knowledge/data/operators/audio_devices_dat.json +616 -0
  39. package/dist/knowledge/data/operators/audio_dynamics_chop.json +1132 -0
  40. package/dist/knowledge/data/operators/audio_file_in_chop.json +1605 -0
  41. package/dist/knowledge/data/operators/audio_file_out_chop.json +945 -0
  42. package/dist/knowledge/data/operators/audio_filter_chop.json +850 -0
  43. package/dist/knowledge/data/operators/audio_movie_chop.json +851 -0
  44. package/dist/knowledge/data/operators/audio_ndi_chop.json +526 -0
  45. package/dist/knowledge/data/operators/audio_oscillator_chop.json +1087 -0
  46. package/dist/knowledge/data/operators/audio_para_eq_chop.json +1276 -0
  47. package/dist/knowledge/data/operators/audio_play_chop.json +1744 -0
  48. package/dist/knowledge/data/operators/audio_render_chop.json +754 -0
  49. package/dist/knowledge/data/operators/audio_spectrum_chop.json +850 -0
  50. package/dist/knowledge/data/operators/audio_stream_in_chop.json +1039 -0
  51. package/dist/knowledge/data/operators/audio_stream_out_chop.json +806 -0
  52. package/dist/knowledge/data/operators/audio_vst_chop.json +1419 -0
  53. package/dist/knowledge/data/operators/audio_web_render_chop.json +523 -0
  54. package/dist/knowledge/data/operators/base_comp.json +1180 -0
  55. package/dist/knowledge/data/operators/basis_sop.json +805 -0
  56. package/dist/knowledge/data/operators/beat_chop.json +1745 -0
  57. package/dist/knowledge/data/operators/bind_chop.json +613 -0
  58. package/dist/knowledge/data/operators/blacktrax_chop.json +1180 -0
  59. package/dist/knowledge/data/operators/blend_chop.json +616 -0
  60. package/dist/knowledge/data/operators/blend_comp.json +3626 -0
  61. package/dist/knowledge/data/operators/blend_pop.json +618 -0
  62. package/dist/knowledge/data/operators/blend_sop.json +477 -0
  63. package/dist/knowledge/data/operators/blob_track_chop.json +1275 -0
  64. package/dist/knowledge/data/operators/blob_track_top.json +1931 -0
  65. package/dist/knowledge/data/operators/bloom_top.json +1370 -0
  66. package/dist/knowledge/data/operators/blur_top.json +1428 -0
  67. package/dist/knowledge/data/operators/body_track_chop.json +1233 -0
  68. package/dist/knowledge/data/operators/bone_comp.json +3672 -0
  69. package/dist/knowledge/data/operators/bone_group_sop.json +148 -0
  70. package/dist/knowledge/data/operators/boolean_sop.json +336 -0
  71. package/dist/knowledge/data/operators/box_pop.json +827 -0
  72. package/dist/knowledge/data/operators/box_sop.json +994 -0
  73. package/dist/knowledge/data/operators/bridge_sop.json +806 -0
  74. package/dist/knowledge/data/operators/bullet_solver_chop.json +898 -0
  75. package/dist/knowledge/data/operators/bullet_solver_comp.json +3720 -0
  76. package/dist/knowledge/data/operators/button_comp.json +6636 -0
  77. package/dist/knowledge/data/operators/cache_blend_pop.json +292 -0
  78. package/dist/knowledge/data/operators/cache_pop.json +412 -0
  79. package/dist/knowledge/data/operators/cache_select_pop.json +280 -0
  80. package/dist/knowledge/data/operators/cache_select_top.json +946 -0
  81. package/dist/knowledge/data/operators/cache_sop.json +478 -0
  82. package/dist/knowledge/data/operators/cache_top.json +1559 -0
  83. package/dist/knowledge/data/operators/camera_blend_comp.json +4847 -0
  84. package/dist/knowledge/data/operators/camera_comp.json +215 -0
  85. package/dist/knowledge/data/operators/cap_sop.json +527 -0
  86. package/dist/knowledge/data/operators/capture_region_sop.json +568 -0
  87. package/dist/knowledge/data/operators/capture_sop.json +619 -0
  88. package/dist/knowledge/data/operators/carve_sop.json +902 -0
  89. package/dist/knowledge/data/operators/channel_mix_top.json +1088 -0
  90. package/dist/knowledge/data/operators/chop_execute_dat.json +1277 -0
  91. package/dist/knowledge/data/operators/chop_to_dat.json +571 -0
  92. package/dist/knowledge/data/operators/chop_to_pop.json +1236 -0
  93. package/dist/knowledge/data/operators/chop_to_sop.json +714 -0
  94. package/dist/knowledge/data/operators/chop_to_top.json +1231 -0
  95. package/dist/knowledge/data/operators/chroma_key_top.json +1653 -0
  96. package/dist/knowledge/data/operators/circle_pop.json +821 -0
  97. package/dist/knowledge/data/operators/circle_sop.json +991 -0
  98. package/dist/knowledge/data/operators/circle_top.json +2307 -0
  99. package/dist/knowledge/data/operators/clay_sop.json +1231 -0
  100. package/dist/knowledge/data/operators/clip_blender_chop.json +1931 -0
  101. package/dist/knowledge/data/operators/clip_chop.json +1366 -0
  102. package/dist/knowledge/data/operators/clip_dat.json +849 -0
  103. package/dist/knowledge/data/operators/clip_sop.json +475 -0
  104. package/dist/knowledge/data/operators/clock_chop.json +1792 -0
  105. package/dist/knowledge/data/operators/composite_chop.json +1414 -0
  106. package/dist/knowledge/data/operators/composite_top.json +2131 -0
  107. package/dist/knowledge/data/operators/connectivity_pop.json +11 -0
  108. package/dist/knowledge/data/operators/constant_chop.json +1238 -0
  109. package/dist/knowledge/data/operators/constant_mat.json +2727 -0
  110. package/dist/knowledge/data/operators/constant_top.json +1323 -0
  111. package/dist/knowledge/data/operators/constraint_comp.json +2076 -0
  112. package/dist/knowledge/data/operators/container_comp.json +6299 -0
  113. package/dist/knowledge/data/operators/convert_dat.json +569 -0
  114. package/dist/knowledge/data/operators/convert_pop.json +322 -0
  115. package/dist/knowledge/data/operators/convert_sop.json +807 -0
  116. package/dist/knowledge/data/operators/convolve_top.json +1041 -0
  117. package/dist/knowledge/data/operators/copy_chop.json +993 -0
  118. package/dist/knowledge/data/operators/copy_pop.json +1799 -0
  119. package/dist/knowledge/data/operators/copy_sop.json +1887 -0
  120. package/dist/knowledge/data/operators/corner_pin_top.json +1512 -0
  121. package/dist/knowledge/data/operators/count_chop.json +1369 -0
  122. package/dist/knowledge/data/operators/cplusplus_chop.json +569 -0
  123. package/dist/knowledge/data/operators/cplusplus_dat.json +477 -0
  124. package/dist/knowledge/data/operators/cplusplus_pop.json +308 -0
  125. package/dist/knowledge/data/operators/cplusplus_sop.json +195 -0
  126. package/dist/knowledge/data/operators/cplusplus_top.json +1276 -0
  127. package/dist/knowledge/data/operators/creep_sop.json +385 -0
  128. package/dist/knowledge/data/operators/crop_top.json +1323 -0
  129. package/dist/knowledge/data/operators/cross_chop.json +478 -0
  130. package/dist/knowledge/data/operators/cross_top.json +1559 -0
  131. package/dist/knowledge/data/operators/cube_map_top.json +946 -0
  132. package/dist/knowledge/data/operators/curve_pop.json +1525 -0
  133. package/dist/knowledge/data/operators/curveclay_sop.json +618 -0
  134. package/dist/knowledge/data/operators/curvesect_sop.json +665 -0
  135. package/dist/knowledge/data/operators/cycle_chop.json +1040 -0
  136. package/dist/knowledge/data/operators/dat_execute_dat.json +1230 -0
  137. package/dist/knowledge/data/operators/dat_to_chop.json +1510 -0
  138. package/dist/knowledge/data/operators/dat_to_pop.json +756 -0
  139. package/dist/knowledge/data/operators/dat_to_sop.json +902 -0
  140. package/dist/knowledge/data/operators/deform_sop.json +291 -0
  141. package/dist/knowledge/data/operators/delay_chop.json +615 -0
  142. package/dist/knowledge/data/operators/delete_chop.json +1556 -0
  143. package/dist/knowledge/data/operators/delete_pop.json +1422 -0
  144. package/dist/knowledge/data/operators/delete_sop.json +1230 -0
  145. package/dist/knowledge/data/operators/depth_mat.json +1933 -0
  146. package/dist/knowledge/data/operators/depth_top.json +1322 -0
  147. package/dist/knowledge/data/operators/difference_top.json +1647 -0
  148. package/dist/knowledge/data/operators/dimension_pop.json +280 -0
  149. package/dist/knowledge/data/operators/direct_display_out_top.json +997 -0
  150. package/dist/knowledge/data/operators/directx_in_top.json +901 -0
  151. package/dist/knowledge/data/operators/directx_out_top.json +948 -0
  152. package/dist/knowledge/data/operators/displace_top.json +1322 -0
  153. package/dist/knowledge/data/operators/divide_sop.json +713 -0
  154. package/dist/knowledge/data/operators/dmx_fixture_pop.json +772 -0
  155. package/dist/knowledge/data/operators/dmx_in_chop.json +1420 -0
  156. package/dist/knowledge/data/operators/dmx_map_dat.json +11 -0
  157. package/dist/knowledge/data/operators/dmx_out_chop.json +1843 -0
  158. package/dist/knowledge/data/operators/dmx_out_pop.json +668 -0
  159. package/dist/knowledge/data/operators/edge_top.json +1370 -0
  160. package/dist/knowledge/data/operators/emboss_top.json +1275 -0
  161. package/dist/knowledge/data/operators/engine_comp.json +2685 -0
  162. package/dist/knowledge/data/operators/envelope_chop.json +946 -0
  163. package/dist/knowledge/data/operators/environment_light_comp.json +2121 -0
  164. package/dist/knowledge/data/operators/error_dat.json +949 -0
  165. package/dist/knowledge/data/operators/etherdream_dat.json +472 -0
  166. package/dist/knowledge/data/operators/evaluate_dat.json +1650 -0
  167. package/dist/knowledge/data/operators/event_chop.json +1653 -0
  168. package/dist/knowledge/data/operators/examine_dat.json +1182 -0
  169. package/dist/knowledge/data/operators/execute_dat.json +1184 -0
  170. package/dist/knowledge/data/operators/experimental +0 -0
  171. package/dist/knowledge/data/operators/expression_chop.json +617 -0
  172. package/dist/knowledge/data/operators/extend_chop.json +617 -0
  173. package/dist/knowledge/data/operators/extrude_pop.json +316 -0
  174. package/dist/knowledge/data/operators/extrude_sop.json +1081 -0
  175. package/dist/knowledge/data/operators/face_track_chop.json +998 -0
  176. package/dist/knowledge/data/operators/face_track_sop.json +244 -0
  177. package/dist/knowledge/data/operators/facet_pop.json +480 -0
  178. package/dist/knowledge/data/operators/facet_sop.json +619 -0
  179. package/dist/knowledge/data/operators/fan_chop.json +804 -0
  180. package/dist/knowledge/data/operators/fbx_comp.json +4942 -0
  181. package/dist/knowledge/data/operators/feedback_chop.json +664 -0
  182. package/dist/knowledge/data/operators/feedback_pop.json +368 -0
  183. package/dist/knowledge/data/operators/feedback_top.json +191 -0
  184. package/dist/knowledge/data/operators/field_pop.json +2304 -0
  185. package/dist/knowledge/data/operators/fifo_dat.json +711 -0
  186. package/dist/knowledge/data/operators/file_in_chop.json +1181 -0
  187. package/dist/knowledge/data/operators/file_in_dat.json +527 -0
  188. package/dist/knowledge/data/operators/file_in_pop.json +298 -0
  189. package/dist/knowledge/data/operators/file_in_sop.json +289 -0
  190. package/dist/knowledge/data/operators/file_out_chop.json +618 -0
  191. package/dist/knowledge/data/operators/file_out_dat.json +524 -0
  192. package/dist/knowledge/data/operators/fillet_sop.json +949 -0
  193. package/dist/knowledge/data/operators/filter_chop.json +1134 -0
  194. package/dist/knowledge/data/operators/fit_sop.json +1087 -0
  195. package/dist/knowledge/data/operators/fit_top.json +1559 -0
  196. package/dist/knowledge/data/operators/flip_top.json +1040 -0
  197. package/dist/knowledge/data/operators/folder_dat.json +1888 -0
  198. package/dist/knowledge/data/operators/force_comp.json +1701 -0
  199. package/dist/knowledge/data/operators/force_pop.json +878 -0
  200. package/dist/knowledge/data/operators/force_sop.json +429 -0
  201. package/dist/knowledge/data/operators/fractal_sop.json +479 -0
  202. package/dist/knowledge/data/operators/freed_in_chop.json +808 -0
  203. package/dist/knowledge/data/operators/freed_out_chop.json +714 -0
  204. package/dist/knowledge/data/operators/function_chop.json +1086 -0
  205. package/dist/knowledge/data/operators/function_top.json +1558 -0
  206. package/dist/knowledge/data/operators/geo_text_comp.json +7338 -0
  207. package/dist/knowledge/data/operators/geometry_comp.json +199 -0
  208. package/dist/knowledge/data/operators/gesture_chop.json +1133 -0
  209. package/dist/knowledge/data/operators/glsl_advanced_pop.json +3539 -0
  210. package/dist/knowledge/data/operators/glsl_comp.json +6962 -0
  211. package/dist/knowledge/data/operators/glsl_copy_pop.json +2128 -0
  212. package/dist/knowledge/data/operators/glsl_mat.json +3720 -0
  213. package/dist/knowledge/data/operators/glsl_multi_top.json +2922 -0
  214. package/dist/knowledge/data/operators/glsl_pop.json +2317 -0
  215. package/dist/knowledge/data/operators/glsl_select_pop.json +280 -0
  216. package/dist/knowledge/data/operators/glsl_top.json +2922 -0
  217. package/dist/knowledge/data/operators/grid_pop.json +1029 -0
  218. package/dist/knowledge/data/operators/grid_sop.json +1041 -0
  219. package/dist/knowledge/data/operators/group_pop.json +1423 -0
  220. package/dist/knowledge/data/operators/group_sop.json +2075 -0
  221. package/dist/knowledge/data/operators/handle_chop.json +712 -0
  222. package/dist/knowledge/data/operators/handle_comp.json +2171 -0
  223. package/dist/knowledge/data/operators/histogram_pop.json +533 -0
  224. package/dist/knowledge/data/operators/hog_chop.json +620 -0
  225. package/dist/knowledge/data/operators/hokuyo_chop.json +941 -0
  226. package/dist/knowledge/data/operators/hold_chop.json +664 -0
  227. package/dist/knowledge/data/operators/hole_sop.json +291 -0
  228. package/dist/knowledge/data/operators/hsv_adjust_top.json +1370 -0
  229. package/dist/knowledge/data/operators/hsv_to_rgb_top.json +847 -0
  230. package/dist/knowledge/data/operators/import_select_chop.json +1838 -0
  231. package/dist/knowledge/data/operators/import_select_pop.json +808 -0
  232. package/dist/knowledge/data/operators/import_select_sop.json +1463 -0
  233. package/dist/knowledge/data/operators/import_select_top.json +993 -0
  234. package/dist/knowledge/data/operators/impulse_force_comp.json +1415 -0
  235. package/dist/knowledge/data/operators/in_chop.json +572 -0
  236. package/dist/knowledge/data/operators/in_dat.json +386 -0
  237. package/dist/knowledge/data/operators/in_mat.json +1559 -0
  238. package/dist/knowledge/data/operators/in_pop.json +280 -0
  239. package/dist/knowledge/data/operators/in_sop.json +102 -0
  240. package/dist/knowledge/data/operators/in_top.json +903 -0
  241. package/dist/knowledge/data/operators/index.json +1 -0
  242. package/dist/knowledge/data/operators/indices_dat.json +526 -0
  243. package/dist/knowledge/data/operators/info_chop.json +757 -0
  244. package/dist/knowledge/data/operators/info_dat.json +430 -0
  245. package/dist/knowledge/data/operators/insert_dat.json +896 -0
  246. package/dist/knowledge/data/operators/inside_top.json +1652 -0
  247. package/dist/knowledge/data/operators/interpolate_chop.json +711 -0
  248. package/dist/knowledge/data/operators/inverse_curve_chop.json +898 -0
  249. package/dist/knowledge/data/operators/inverse_curve_sop.json +97 -0
  250. package/dist/knowledge/data/operators/inverse_kin_chop.json +850 -0
  251. package/dist/knowledge/data/operators/iso_surface_sop.json +337 -0
  252. package/dist/knowledge/data/operators/join_chop.json +1368 -0
  253. package/dist/knowledge/data/operators/join_sop.json +667 -0
  254. package/dist/knowledge/data/operators/joint_sop.json +573 -0
  255. package/dist/knowledge/data/operators/joystick_chop.json +1558 -0
  256. package/dist/knowledge/data/operators/json_dat.json +619 -0
  257. package/dist/knowledge/data/operators/keyboard_in_chop.json +1041 -0
  258. package/dist/knowledge/data/operators/keyboard_in_dat.json +950 -0
  259. package/dist/knowledge/data/operators/keyframe_chop.json +711 -0
  260. package/dist/knowledge/data/operators/kinect_azure_chop.json +1092 -0
  261. package/dist/knowledge/data/operators/kinect_azure_select_top.json +1187 -0
  262. package/dist/knowledge/data/operators/kinect_azure_top.json +2737 -0
  263. package/dist/knowledge/data/operators/kinect_chop.json +1700 -0
  264. package/dist/knowledge/data/operators/kinect_sop.json +379 -0
  265. package/dist/knowledge/data/operators/kinect_top.json +1700 -0
  266. package/dist/knowledge/data/operators/lag_chop.json +1040 -0
  267. package/dist/knowledge/data/operators/laser_chop.json +1746 -0
  268. package/dist/knowledge/data/operators/laser_device_chop.json +1228 -0
  269. package/dist/knowledge/data/operators/lattice_sop.json +432 -0
  270. package/dist/knowledge/data/operators/layout_top.json +1936 -0
  271. package/dist/knowledge/data/operators/leap_motion_chop.json +1699 -0
  272. package/dist/knowledge/data/operators/leap_motion_top.json +1323 -0
  273. package/dist/knowledge/data/operators/lens_distort_top.json +2262 -0
  274. package/dist/knowledge/data/operators/leuze_rod4_chop.json +1371 -0
  275. package/dist/knowledge/data/operators/level_top.json +2273 -0
  276. package/dist/knowledge/data/operators/lfo_chop.json +1088 -0
  277. package/dist/knowledge/data/operators/light_comp.json +5410 -0
  278. package/dist/knowledge/data/operators/limit_chop.json +1133 -0
  279. package/dist/knowledge/data/operators/limit_pop.json +1243 -0
  280. package/dist/knowledge/data/operators/limit_sop.json +2075 -0
  281. package/dist/knowledge/data/operators/limit_top.json +1557 -0
  282. package/dist/knowledge/data/operators/line_break_pop.json +447 -0
  283. package/dist/knowledge/data/operators/line_divide_pop.json +688 -0
  284. package/dist/knowledge/data/operators/line_mat.json +5551 -0
  285. package/dist/knowledge/data/operators/line_metrics_pop.json +548 -0
  286. package/dist/knowledge/data/operators/line_pop.json +1343 -0
  287. package/dist/knowledge/data/operators/line_smooth_pop.json +1028 -0
  288. package/dist/knowledge/data/operators/line_sop.json +330 -0
  289. package/dist/knowledge/data/operators/line_thick_sop.json +478 -0
  290. package/dist/knowledge/data/operators/list_comp.json +6729 -0
  291. package/dist/knowledge/data/operators/lod_sop.json +431 -0
  292. package/dist/knowledge/data/operators/logic_chop.json +946 -0
  293. package/dist/knowledge/data/operators/lookup_attribute_pop.json +684 -0
  294. package/dist/knowledge/data/operators/lookup_channel_pop.json +1140 -0
  295. package/dist/knowledge/data/operators/lookup_chop.json +992 -0
  296. package/dist/knowledge/data/operators/lookup_dat.json +664 -0
  297. package/dist/knowledge/data/operators/lookup_texture_pop.json +1494 -0
  298. package/dist/knowledge/data/operators/lookup_top.json +1510 -0
  299. package/dist/knowledge/data/operators/lsystem_sop.json +1699 -0
  300. package/dist/knowledge/data/operators/ltc_in_chop.json +760 -0
  301. package/dist/knowledge/data/operators/ltc_out_chop.json +1512 -0
  302. package/dist/knowledge/data/operators/luma_blur_top.json +1316 -0
  303. package/dist/knowledge/data/operators/luma_level_top.json +1746 -0
  304. package/dist/knowledge/data/operators/magnet_sop.json +759 -0
  305. package/dist/knowledge/data/operators/material_sop.json +98 -0
  306. package/dist/knowledge/data/operators/math_chop.json +1193 -0
  307. package/dist/knowledge/data/operators/math_combine_pop.json +4283 -0
  308. package/dist/knowledge/data/operators/math_mix_pop.json +2641 -0
  309. package/dist/knowledge/data/operators/math_pop.json +2163 -0
  310. package/dist/knowledge/data/operators/math_top.json +1885 -0
  311. package/dist/knowledge/data/operators/matte_top.json +994 -0
  312. package/dist/knowledge/data/operators/media_file_info_dat.json +571 -0
  313. package/dist/knowledge/data/operators/merge_chop.json +627 -0
  314. package/dist/knowledge/data/operators/merge_dat.json +620 -0
  315. package/dist/knowledge/data/operators/merge_pop.json +764 -0
  316. package/dist/knowledge/data/operators/merge_sop.json +100 -0
  317. package/dist/knowledge/data/operators/metaball_sop.json +476 -0
  318. package/dist/knowledge/data/operators/midi_event_dat.json +1135 -0
  319. package/dist/knowledge/data/operators/midi_in_chop.json +3297 -0
  320. package/dist/knowledge/data/operators/midi_in_dat.json +1183 -0
  321. package/dist/knowledge/data/operators/midi_in_map_chop.json +946 -0
  322. package/dist/knowledge/data/operators/midi_out_chop.json +1793 -0
  323. package/dist/knowledge/data/operators/mirror_top.json +1271 -0
  324. package/dist/knowledge/data/operators/model_sop.json +52 -0
  325. package/dist/knowledge/data/operators/monitors_dat.json +617 -0
  326. package/dist/knowledge/data/operators/monochrome_top.json +1041 -0
  327. package/dist/knowledge/data/operators/mosys_chop.json +804 -0
  328. package/dist/knowledge/data/operators/mosys_top.json +896 -0
  329. package/dist/knowledge/data/operators/mouse_in_chop.json +1275 -0
  330. package/dist/knowledge/data/operators/mouse_out_chop.json +711 -0
  331. package/dist/knowledge/data/operators/movie_file_in_top.json +3546 -0
  332. package/dist/knowledge/data/operators/movie_file_out_top.json +3390 -0
  333. package/dist/knowledge/data/operators/mpcdi_dat.json +711 -0
  334. package/dist/knowledge/data/operators/mpcdi_top.json +1369 -0
  335. package/dist/knowledge/data/operators/mqtt_client_dat.json +1229 -0
  336. package/dist/knowledge/data/operators/multi_touch_in_dat.json +1185 -0
  337. package/dist/knowledge/data/operators/multiply_top.json +1647 -0
  338. package/dist/knowledge/data/operators/ncam_chop.json +1039 -0
  339. package/dist/knowledge/data/operators/ncam_top.json +1039 -0
  340. package/dist/knowledge/data/operators/ndi_dat.json +478 -0
  341. package/dist/knowledge/data/operators/ndi_in_top.json +1326 -0
  342. package/dist/knowledge/data/operators/ndi_out_top.json +1420 -0
  343. package/dist/knowledge/data/operators/neighbor_pop.json +534 -0
  344. package/dist/knowledge/data/operators/noise_chop.json +2230 -0
  345. package/dist/knowledge/data/operators/noise_pop.json +2107 -0
  346. package/dist/knowledge/data/operators/noise_sop.json +1136 -0
  347. package/dist/knowledge/data/operators/noise_top.json +2356 -0
  348. package/dist/knowledge/data/operators/normal_map_top.json +1182 -0
  349. package/dist/knowledge/data/operators/normal_pop.json +1488 -0
  350. package/dist/knowledge/data/operators/normalize_pop.json +1298 -0
  351. package/dist/knowledge/data/operators/notch_top.json +1511 -0
  352. package/dist/knowledge/data/operators/null_chop.json +673 -0
  353. package/dist/knowledge/data/operators/null_comp.json +2921 -0
  354. package/dist/knowledge/data/operators/null_dat.json +344 -0
  355. package/dist/knowledge/data/operators/null_mat.json +1511 -0
  356. package/dist/knowledge/data/operators/null_pop.json +18 -0
  357. package/dist/knowledge/data/operators/null_sop.json +100 -0
  358. package/dist/knowledge/data/operators/null_top.json +862 -0
  359. package/dist/knowledge/data/operators/nvidia_background_top.json +996 -0
  360. package/dist/knowledge/data/operators/nvidia_denoise_top.json +1089 -0
  361. package/dist/knowledge/data/operators/nvidia_flex_solver_comp.json +5367 -0
  362. package/dist/knowledge/data/operators/nvidia_flex_top.json +995 -0
  363. package/dist/knowledge/data/operators/nvidia_flow_emitter_comp.json +7812 -0
  364. package/dist/knowledge/data/operators/nvidia_flow_top.json +3675 -0
  365. package/dist/knowledge/data/operators/nvidia_upscaler_top.json +1089 -0
  366. package/dist/knowledge/data/operators/oak_device_chop.json +1372 -0
  367. package/dist/knowledge/data/operators/oak_select_chop.json +947 -0
  368. package/dist/knowledge/data/operators/oak_select_top.json +1323 -0
  369. package/dist/knowledge/data/operators/object_chop.json +2356 -0
  370. package/dist/knowledge/data/operators/object_merge_sop.json +194 -0
  371. package/dist/knowledge/data/operators/oculus_audio_chop.json +1371 -0
  372. package/dist/knowledge/data/operators/oculus_rift_chop.json +901 -0
  373. package/dist/knowledge/data/operators/oculus_rift_sop.json +147 -0
  374. package/dist/knowledge/data/operators/oculus_rift_top.json +995 -0
  375. package/dist/knowledge/data/operators/op_execute_dat.json +1463 -0
  376. package/dist/knowledge/data/operators/op_find_dat.json +2827 -0
  377. package/dist/knowledge/data/operators/op_viewer_comp.json +6586 -0
  378. package/dist/knowledge/data/operators/op_viewer_top.json +993 -0
  379. package/dist/knowledge/data/operators/opencolorio_top.json +1980 -0
  380. package/dist/knowledge/data/operators/openvr_chop.json +1135 -0
  381. package/dist/knowledge/data/operators/openvr_sop.json +99 -0
  382. package/dist/knowledge/data/operators/openvr_top.json +900 -0
  383. package/dist/knowledge/data/operators/optical_flow_top.json +1230 -0
  384. package/dist/knowledge/data/operators/optitrack_in_chop.json +854 -0
  385. package/dist/knowledge/data/operators/orbbec_select_top.json +1042 -0
  386. package/dist/knowledge/data/operators/orbbec_top.json +1558 -0
  387. package/dist/knowledge/data/operators/osc_in_chop.json +1371 -0
  388. package/dist/knowledge/data/operators/osc_in_dat.json +1280 -0
  389. package/dist/knowledge/data/operators/osc_out_chop.json +1138 -0
  390. package/dist/knowledge/data/operators/osc_out_dat.json +1280 -0
  391. package/dist/knowledge/data/operators/ouster_select_top.json +1228 -0
  392. package/dist/knowledge/data/operators/ouster_top.json +2404 -0
  393. package/dist/knowledge/data/operators/out_chop.json +476 -0
  394. package/dist/knowledge/data/operators/out_dat.json +386 -0
  395. package/dist/knowledge/data/operators/out_mat.json +1982 -0
  396. package/dist/knowledge/data/operators/out_pop.json +286 -0
  397. package/dist/knowledge/data/operators/out_sop.json +93 -0
  398. package/dist/knowledge/data/operators/out_top.json +903 -0
  399. package/dist/knowledge/data/operators/outside_top.json +1651 -0
  400. package/dist/knowledge/data/operators/over_top.json +1651 -0
  401. package/dist/knowledge/data/operators/override_chop.json +663 -0
  402. package/dist/knowledge/data/operators/pack_top.json +946 -0
  403. package/dist/knowledge/data/operators/pan_tilt_chop.json +11 -0
  404. package/dist/knowledge/data/operators/panel_chop.json +663 -0
  405. package/dist/knowledge/data/operators/panel_execute_dat.json +1182 -0
  406. package/dist/knowledge/data/operators/pangolin_chop.json +1135 -0
  407. package/dist/knowledge/data/operators/parameter_chop.json +803 -0
  408. package/dist/knowledge/data/operators/parameter_comp.json +6962 -0
  409. package/dist/knowledge/data/operators/parameter_dat.json +1698 -0
  410. package/dist/knowledge/data/operators/parameter_execute_dat.json +1371 -0
  411. package/dist/knowledge/data/operators/pargroup_execute_dat.json +1271 -0
  412. package/dist/knowledge/data/operators/particle_pop.json +1130 -0
  413. package/dist/knowledge/data/operators/particle_sop.json +2214 -0
  414. package/dist/knowledge/data/operators/pattern_chop.json +1697 -0
  415. package/dist/knowledge/data/operators/pattern_pop.json +1767 -0
  416. package/dist/knowledge/data/operators/pbr_mat.json +4990 -0
  417. package/dist/knowledge/data/operators/perform_chop.json +1651 -0
  418. package/dist/knowledge/data/operators/perform_dat.json +1184 -0
  419. package/dist/knowledge/data/operators/phaser_chop.json +618 -0
  420. package/dist/knowledge/data/operators/phaser_pop.json +1043 -0
  421. package/dist/knowledge/data/operators/phong_mat.json +5458 -0
  422. package/dist/knowledge/data/operators/photoshop_in_top.json +1418 -0
  423. package/dist/knowledge/data/operators/pipe_in_chop.json +1323 -0
  424. package/dist/knowledge/data/operators/pipe_out_chop.json +1182 -0
  425. package/dist/knowledge/data/operators/point_file_in_pop.json +1246 -0
  426. package/dist/knowledge/data/operators/point_file_in_top.json +3343 -0
  427. package/dist/knowledge/data/operators/point_file_select_top.json +1086 -0
  428. package/dist/knowledge/data/operators/point_generator_pop.json +1407 -0
  429. package/dist/knowledge/data/operators/point_pop.json +752 -0
  430. package/dist/knowledge/data/operators/point_sop.json +2171 -0
  431. package/dist/knowledge/data/operators/point_sprite_mat.json +2920 -0
  432. package/dist/knowledge/data/operators/point_transform_top.json +2779 -0
  433. package/dist/knowledge/data/operators/polygonize_pop.json +386 -0
  434. package/dist/knowledge/data/operators/polyloft_sop.json +759 -0
  435. package/dist/knowledge/data/operators/polypatch_sop.json +761 -0
  436. package/dist/knowledge/data/operators/polyreduce_sop.json +806 -0
  437. package/dist/knowledge/data/operators/polyspline_sop.json +667 -0
  438. package/dist/knowledge/data/operators/polystitch_sop.json +336 -0
  439. package/dist/knowledge/data/operators/pop_to_chop.json +11 -0
  440. package/dist/knowledge/data/operators/pop_to_dat.json +11 -0
  441. package/dist/knowledge/data/operators/pop_to_sop.json +11 -0
  442. package/dist/knowledge/data/operators/pop_to_top.json +11 -0
  443. package/dist/knowledge/data/operators/posistagenet_chop.json +900 -0
  444. package/dist/knowledge/data/operators/prefilter_map_top.json +947 -0
  445. package/dist/knowledge/data/operators/primitive_pop.json +1254 -0
  446. package/dist/knowledge/data/operators/primitive_sop.json +2075 -0
  447. package/dist/knowledge/data/operators/profile_sop.json +756 -0
  448. package/dist/knowledge/data/operators/project_sop.json +1276 -0
  449. package/dist/knowledge/data/operators/projection_pop.json +1060 -0
  450. package/dist/knowledge/data/operators/projection_top.json +1135 -0
  451. package/dist/knowledge/data/operators/proximity_pop.json +505 -0
  452. package/dist/knowledge/data/operators/pulse_chop.json +1744 -0
  453. package/dist/knowledge/data/operators/quantize_pop.json +1052 -0
  454. package/dist/knowledge/data/operators/rails_sop.json +853 -0
  455. package/dist/knowledge/data/operators/ramp_top.json +1899 -0
  456. package/dist/knowledge/data/operators/random_pop.json +1219 -0
  457. package/dist/knowledge/data/operators/raster_sop.json +291 -0
  458. package/dist/knowledge/data/operators/ray_pop.json +497 -0
  459. package/dist/knowledge/data/operators/ray_sop.json +856 -0
  460. package/dist/knowledge/data/operators/realsense_top.json +1608 -0
  461. package/dist/knowledge/data/operators/record_chop.json +1040 -0
  462. package/dist/knowledge/data/operators/rectangle_pop.json +800 -0
  463. package/dist/knowledge/data/operators/rectangle_sop.json +758 -0
  464. package/dist/knowledge/data/operators/rectangle_top.json +2259 -0
  465. package/dist/knowledge/data/operators/refine_sop.json +667 -0
  466. package/dist/knowledge/data/operators/remap_top.json +1182 -0
  467. package/dist/knowledge/data/operators/rename_chop.json +522 -0
  468. package/dist/knowledge/data/operators/render_pass_top.json +3108 -0
  469. package/dist/knowledge/data/operators/render_pick_chop.json +2119 -0
  470. package/dist/knowledge/data/operators/render_pick_dat.json +1840 -0
  471. package/dist/knowledge/data/operators/render_select_top.json +1086 -0
  472. package/dist/knowledge/data/operators/render_top.json +218 -0
  473. package/dist/knowledge/data/operators/renderstream_in_chop.json +617 -0
  474. package/dist/knowledge/data/operators/renderstream_in_top.json +950 -0
  475. package/dist/knowledge/data/operators/renderstream_out_top.json +997 -0
  476. package/dist/knowledge/data/operators/reorder_chop.json +946 -0
  477. package/dist/knowledge/data/operators/reorder_dat.json +711 -0
  478. package/dist/knowledge/data/operators/reorder_top.json +1229 -0
  479. package/dist/knowledge/data/operators/replace_chop.json +568 -0
  480. package/dist/knowledge/data/operators/replicator_comp.json +2208 -0
  481. package/dist/knowledge/data/operators/rerange_pop.json +892 -0
  482. package/dist/knowledge/data/operators/resample_chop.json +1134 -0
  483. package/dist/knowledge/data/operators/resample_sop.json +619 -0
  484. package/dist/knowledge/data/operators/resolution_top.json +892 -0
  485. package/dist/knowledge/data/operators/revolve_pop.json +607 -0
  486. package/dist/knowledge/data/operators/revolve_sop.json +714 -0
  487. package/dist/knowledge/data/operators/rgb_key_top.json +1654 -0
  488. package/dist/knowledge/data/operators/rgb_to_hsv_top.json +853 -0
  489. package/dist/knowledge/data/operators/s_curve_chop.json +1176 -0
  490. package/dist/knowledge/data/operators/scalable_display_top.json +1042 -0
  491. package/dist/knowledge/data/operators/screen_grab_top.json +1465 -0
  492. package/dist/knowledge/data/operators/screen_top.json +1652 -0
  493. package/dist/knowledge/data/operators/script_chop.json +520 -0
  494. package/dist/knowledge/data/operators/script_dat.json +429 -0
  495. package/dist/knowledge/data/operators/script_sop.json +146 -0
  496. package/dist/knowledge/data/operators/script_top.json +947 -0
  497. package/dist/knowledge/data/operators/select_chop.json +899 -0
  498. package/dist/knowledge/data/operators/select_comp.json +5645 -0
  499. package/dist/knowledge/data/operators/select_dat.json +1371 -0
  500. package/dist/knowledge/data/operators/select_mat.json +1977 -0
  501. package/dist/knowledge/data/operators/select_pop.json +347 -0
  502. package/dist/knowledge/data/operators/select_sop.json +100 -0
  503. package/dist/knowledge/data/operators/select_top.json +901 -0
  504. package/dist/knowledge/data/operators/sequence_blend_sop.json +336 -0
  505. package/dist/knowledge/data/operators/serial_chop.json +1182 -0
  506. package/dist/knowledge/data/operators/serial_dat.json +1418 -0
  507. package/dist/knowledge/data/operators/shared_mem_in_chop.json +620 -0
  508. package/dist/knowledge/data/operators/shared_mem_in_comp.json +1323 -0
  509. package/dist/knowledge/data/operators/shared_mem_in_top.json +994 -0
  510. package/dist/knowledge/data/operators/shared_mem_out_chop.json +620 -0
  511. package/dist/knowledge/data/operators/shared_mem_out_comp.json +1372 -0
  512. package/dist/knowledge/data/operators/shared_mem_out_top.json +1137 -0
  513. package/dist/knowledge/data/operators/shift_chop.json +899 -0
  514. package/dist/knowledge/data/operators/shuffle_chop.json +612 -0
  515. package/dist/knowledge/data/operators/sick_top.json +1322 -0
  516. package/dist/knowledge/data/operators/skin_deform_pop.json +972 -0
  517. package/dist/knowledge/data/operators/skin_pop.json +330 -0
  518. package/dist/knowledge/data/operators/skin_sop.json +711 -0
  519. package/dist/knowledge/data/operators/slider_comp.json +6918 -0
  520. package/dist/knowledge/data/operators/slope_chop.json +661 -0
  521. package/dist/knowledge/data/operators/slope_top.json +1370 -0
  522. package/dist/knowledge/data/operators/socketio_dat.json +945 -0
  523. package/dist/knowledge/data/operators/sop_to_chop.json +1137 -0
  524. package/dist/knowledge/data/operators/sop_to_dat.json +622 -0
  525. package/dist/knowledge/data/operators/sop_to_pop.json +409 -0
  526. package/dist/knowledge/data/operators/sort_chop.json +805 -0
  527. package/dist/knowledge/data/operators/sort_dat.json +894 -0
  528. package/dist/knowledge/data/operators/sort_pop.json +1023 -0
  529. package/dist/knowledge/data/operators/sort_sop.json +569 -0
  530. package/dist/knowledge/data/operators/spectrum_top.json +1182 -0
  531. package/dist/knowledge/data/operators/speed_chop.json +1180 -0
  532. package/dist/knowledge/data/operators/sphere_pop.json +1141 -0
  533. package/dist/knowledge/data/operators/sphere_sop.json +1370 -0
  534. package/dist/knowledge/data/operators/splice_chop.json +1226 -0
  535. package/dist/knowledge/data/operators/spring_chop.json +899 -0
  536. package/dist/knowledge/data/operators/spring_sop.json +1463 -0
  537. package/dist/knowledge/data/operators/sprinkle_pop.json +420 -0
  538. package/dist/knowledge/data/operators/sprinkle_sop.json +337 -0
  539. package/dist/knowledge/data/operators/sprite_sop.json +571 -0
  540. package/dist/knowledge/data/operators/ssao_top.json +1510 -0
  541. package/dist/knowledge/data/operators/st2110_device_chop.json +11 -0
  542. package/dist/knowledge/data/operators/stitch_sop.json +807 -0
  543. package/dist/knowledge/data/operators/stretch_chop.json +945 -0
  544. package/dist/knowledge/data/operators/stype_in_chop.json +756 -0
  545. package/dist/knowledge/data/operators/stype_out_chop.json +852 -0
  546. package/dist/knowledge/data/operators/stype_top.json +943 -0
  547. package/dist/knowledge/data/operators/subdivide_pop.json +292 -0
  548. package/dist/knowledge/data/operators/subdivide_sop.json +618 -0
  549. package/dist/knowledge/data/operators/substance_select_top.json +945 -0
  550. package/dist/knowledge/data/operators/substance_top.json +1182 -0
  551. package/dist/knowledge/data/operators/substitute_dat.json +1605 -0
  552. package/dist/knowledge/data/operators/subtract_top.json +1650 -0
  553. package/dist/knowledge/data/operators/superquad_sop.json +1135 -0
  554. package/dist/knowledge/data/operators/surfsect_sop.json +853 -0
  555. package/dist/knowledge/data/operators/sweep_sop.json +947 -0
  556. package/dist/knowledge/data/operators/switch_chop.json +523 -0
  557. package/dist/knowledge/data/operators/switch_dat.json +383 -0
  558. package/dist/knowledge/data/operators/switch_mat.json +1553 -0
  559. package/dist/knowledge/data/operators/switch_pop.json +496 -0
  560. package/dist/knowledge/data/operators/switch_sop.json +101 -0
  561. package/dist/knowledge/data/operators/switch_top.json +959 -0
  562. package/dist/knowledge/data/operators/sync_in_chop.json +617 -0
  563. package/dist/knowledge/data/operators/sync_out_chop.json +993 -0
  564. package/dist/knowledge/data/operators/syphon_spout_in_top.json +946 -0
  565. package/dist/knowledge/data/operators/syphon_spout_out_top.json +948 -0
  566. package/dist/knowledge/data/operators/table_comp.json +7009 -0
  567. package/dist/knowledge/data/operators/table_dat.json +1080 -0
  568. package/dist/knowledge/data/operators/tablet_chop.json +1367 -0
  569. package/dist/knowledge/data/operators/text_comp.json +8981 -0
  570. package/dist/knowledge/data/operators/text_dat.json +675 -0
  571. package/dist/knowledge/data/operators/text_sop.json +1512 -0
  572. package/dist/knowledge/data/operators/text_top.json +4236 -0
  573. package/dist/knowledge/data/operators/texture_3d_top.json +1417 -0
  574. package/dist/knowledge/data/operators/texture_map_pop.json +1744 -0
  575. package/dist/knowledge/data/operators/texture_sop.json +992 -0
  576. package/dist/knowledge/data/operators/threshold_top.json +1227 -0
  577. package/dist/knowledge/data/operators/tile_top.json +1840 -0
  578. package/dist/knowledge/data/operators/time_comp.json +1745 -0
  579. package/dist/knowledge/data/operators/time_machine_top.json +1041 -0
  580. package/dist/knowledge/data/operators/time_slice_chop.json +568 -0
  581. package/dist/knowledge/data/operators/timecode_chop.json +1981 -0
  582. package/dist/knowledge/data/operators/timeline_chop.json +1038 -0
  583. package/dist/knowledge/data/operators/timer_chop.json +4236 -0
  584. package/dist/knowledge/data/operators/top_to_chop.json +2077 -0
  585. package/dist/knowledge/data/operators/top_to_pop.json +2144 -0
  586. package/dist/knowledge/data/operators/topology_pop.json +1526 -0
  587. package/dist/knowledge/data/operators/torus_pop.json +901 -0
  588. package/dist/knowledge/data/operators/torus_sop.json +1368 -0
  589. package/dist/knowledge/data/operators/touch_in_chop.json +1182 -0
  590. package/dist/knowledge/data/operators/touch_in_dat.json +618 -0
  591. package/dist/knowledge/data/operators/touch_in_top.json +1182 -0
  592. package/dist/knowledge/data/operators/touch_out_chop.json +947 -0
  593. package/dist/knowledge/data/operators/touch_out_dat.json +712 -0
  594. package/dist/knowledge/data/operators/touch_out_top.json +1134 -0
  595. package/dist/knowledge/data/operators/trace_sop.json +759 -0
  596. package/dist/knowledge/data/operators/trail_chop.json +901 -0
  597. package/dist/knowledge/data/operators/trail_pop.json +827 -0
  598. package/dist/knowledge/data/operators/trail_sop.json +616 -0
  599. package/dist/knowledge/data/operators/transform_chop.json +2168 -0
  600. package/dist/knowledge/data/operators/transform_pop.json +2659 -0
  601. package/dist/knowledge/data/operators/transform_sop.json +1466 -0
  602. package/dist/knowledge/data/operators/transform_top.json +1803 -0
  603. package/dist/knowledge/data/operators/transform_xyz_chop.json +1369 -0
  604. package/dist/knowledge/data/operators/transpose_dat.json +334 -0
  605. package/dist/knowledge/data/operators/trig_pop.json +1135 -0
  606. package/dist/knowledge/data/operators/trigger_chop.json +2214 -0
  607. package/dist/knowledge/data/operators/trim_chop.json +805 -0
  608. package/dist/knowledge/data/operators/trim_sop.json +336 -0
  609. package/dist/knowledge/data/operators/tristrip_sop.json +194 -0
  610. package/dist/knowledge/data/operators/tube_pop.json +861 -0
  611. package/dist/knowledge/data/operators/tube_sop.json +1323 -0
  612. package/dist/knowledge/data/operators/tuio_in_dat.json +806 -0
  613. package/dist/knowledge/data/operators/twist_pop.json +1127 -0
  614. package/dist/knowledge/data/operators/twist_sop.json +533 -0
  615. package/dist/knowledge/data/operators/udp_in_dat.json +1090 -0
  616. package/dist/knowledge/data/operators/udp_out_dat.json +1280 -0
  617. package/dist/knowledge/data/operators/under_top.json +1652 -0
  618. package/dist/knowledge/data/operators/usd_comp.json +4800 -0
  619. package/dist/knowledge/data/operators/vertex_sop.json +667 -0
  620. package/dist/knowledge/data/operators/video_device_in_top.json +3062 -0
  621. package/dist/knowledge/data/operators/video_device_out_top.json +1936 -0
  622. package/dist/knowledge/data/operators/video_devices_dat.json +616 -0
  623. package/dist/knowledge/data/operators/video_stream_in_top.json +1842 -0
  624. package/dist/knowledge/data/operators/video_stream_out_top.json +2548 -0
  625. package/dist/knowledge/data/operators/vioso_top.json +943 -0
  626. package/dist/knowledge/data/operators/warp_chop.json +570 -0
  627. package/dist/knowledge/data/operators/wave_chop.json +1510 -0
  628. package/dist/knowledge/data/operators/web_client_dat.json +1514 -0
  629. package/dist/knowledge/data/operators/web_render_top.json +1749 -0
  630. package/dist/knowledge/data/operators/web_server_dat.json +714 -0
  631. package/dist/knowledge/data/operators/webrtc_dat.json +851 -0
  632. package/dist/knowledge/data/operators/websocket_dat.json +901 -0
  633. package/dist/knowledge/data/operators/widget_comp.json +6299 -0
  634. package/dist/knowledge/data/operators/window_comp.json +3061 -0
  635. package/dist/knowledge/data/operators/wireframe_mat.json +2165 -0
  636. package/dist/knowledge/data/operators/wireframe_sop.json +338 -0
  637. package/dist/knowledge/data/operators/wrnchai_chop.json +1084 -0
  638. package/dist/knowledge/data/operators/xml_dat.json +1230 -0
  639. package/dist/knowledge/data/operators/zed_chop.json +1840 -0
  640. package/dist/knowledge/data/operators/zed_sop.json +712 -0
  641. package/dist/knowledge/data/operators/zed_top.json +1981 -0
  642. package/dist/knowledge/data/patterns.json +1 -0
  643. package/dist/knowledge/data/python-api/App.json +78 -0
  644. package/dist/knowledge/data/python-api/Attribute.json +43 -0
  645. package/dist/knowledge/data/python-api/Attributes.json +41 -0
  646. package/dist/knowledge/data/python-api/Bounds.json +10 -0
  647. package/dist/knowledge/data/python-api/CHOP.json +683 -0
  648. package/dist/knowledge/data/python-api/COMP.json +1019 -0
  649. package/dist/knowledge/data/python-api/Cell.json +80 -0
  650. package/dist/knowledge/data/python-api/Channel.json +100 -0
  651. package/dist/knowledge/data/python-api/Connector.json +43 -0
  652. package/dist/knowledge/data/python-api/DAT.json +1289 -0
  653. package/dist/knowledge/data/python-api/Dependency.json +10 -0
  654. package/dist/knowledge/data/python-api/Error_DAT.json +9 -0
  655. package/dist/knowledge/data/python-api/Group.json +54 -0
  656. package/dist/knowledge/data/python-api/License.json +25 -0
  657. package/dist/knowledge/data/python-api/MAT.json +621 -0
  658. package/dist/knowledge/data/python-api/MOD.json +83 -0
  659. package/dist/knowledge/data/python-api/Matrix.json +556 -0
  660. package/dist/knowledge/data/python-api/Monitor.json +25 -0
  661. package/dist/knowledge/data/python-api/Network.json +10 -0
  662. package/dist/knowledge/data/python-api/NetworkEditor.json +154 -0
  663. package/dist/knowledge/data/python-api/Node.json +10 -0
  664. package/dist/knowledge/data/python-api/OP.json +621 -0
  665. package/dist/knowledge/data/python-api/OP_Viewer_COMP.json +9 -0
  666. package/dist/knowledge/data/python-api/ObjectCOMP.json +1150 -0
  667. package/dist/knowledge/data/python-api/Page.json +797 -0
  668. package/dist/knowledge/data/python-api/Pane.json +62 -0
  669. package/dist/knowledge/data/python-api/Panel.json +25 -0
  670. package/dist/knowledge/data/python-api/PanelCOMP.json +1167 -0
  671. package/dist/knowledge/data/python-api/PanelValue.json +25 -0
  672. package/dist/knowledge/data/python-api/Par.json +115 -0
  673. package/dist/knowledge/data/python-api/ParGroup.json +101 -0
  674. package/dist/knowledge/data/python-api/Parameter.json +10 -0
  675. package/dist/knowledge/data/python-api/Parent.json +10 -0
  676. package/dist/knowledge/data/python-api/Pattern_CHOP.json +9 -0
  677. package/dist/knowledge/data/python-api/Peer.json +85 -0
  678. package/dist/knowledge/data/python-api/Point.json +32 -0
  679. package/dist/knowledge/data/python-api/Position.json +92 -0
  680. package/dist/knowledge/data/python-api/Prim.json +63 -0
  681. package/dist/knowledge/data/python-api/Project.json +118 -0
  682. package/dist/knowledge/data/python-api/PythonOp.json +140 -0
  683. package/dist/knowledge/data/python-api/Quaternion.json +24 -0
  684. package/dist/knowledge/data/python-api/Replicator_COMP.json +9 -0
  685. package/dist/knowledge/data/python-api/Run.json +32 -0
  686. package/dist/knowledge/data/python-api/Runs.json +10 -0
  687. package/dist/knowledge/data/python-api/SOP.json +642 -0
  688. package/dist/knowledge/data/python-api/ScriptOp.json +119 -0
  689. package/dist/knowledge/data/python-api/Segment.json +25 -0
  690. package/dist/knowledge/data/python-api/Sequence.json +48 -0
  691. package/dist/knowledge/data/python-api/Stype.json +9 -0
  692. package/dist/knowledge/data/python-api/SysInfo.json +25 -0
  693. package/dist/knowledge/data/python-api/TOP.json +724 -0
  694. package/dist/knowledge/data/python-api/Timecode.json +200 -0
  695. package/dist/knowledge/data/python-api/UI.json +73 -0
  696. package/dist/knowledge/data/python-api/Vertex.json +25 -0
  697. package/dist/knowledge/data/python-api/baseCOMP.json +1019 -0
  698. package/dist/knowledge/data/python-api/evaluateDAT.json +1289 -0
  699. package/dist/knowledge/data/python-api/examineDAT.json +1289 -0
  700. package/dist/knowledge/data/python-api/glslTOP.json +724 -0
  701. package/dist/knowledge/data/python-api/index.json +1 -0
  702. package/dist/knowledge/data/python-api/listCOMP.json +1516 -0
  703. package/dist/knowledge/data/python-api/midiinDAT.json +1328 -0
  704. package/dist/knowledge/data/python-api/scriptCHOP.json +24 -0
  705. package/dist/knowledge/data/python-api/scriptDAT.json +1335 -0
  706. package/dist/knowledge/data/python-api/scriptSOP.json +24 -0
  707. package/dist/knowledge/data/python-api/scriptTOP.json +24 -0
  708. package/dist/knowledge/data/python-api/serialDAT.json +1323 -0
  709. package/dist/knowledge/data/python-api/tcpipDAT.json +1357 -0
  710. package/dist/knowledge/data/python-api/td.json +646 -0
  711. package/dist/knowledge/data/python-api/td_Module.json +24 -0
  712. package/dist/knowledge/data/tutorials/anatomy_of_a_chop.json +275 -0
  713. package/dist/knowledge/data/tutorials/build_a_list_comp.json +268 -0
  714. package/dist/knowledge/data/tutorials/index.json +1 -0
  715. package/dist/knowledge/data/tutorials/introduction_to_python_tutorial.json +1598 -0
  716. package/dist/knowledge/data/tutorials/tdbitwig_user_guide.json +1986 -0
  717. package/dist/knowledge/data/tutorials/touchdesigner_video_server_specification_guide.json +555 -0
  718. package/dist/knowledge/data/tutorials/video_streaming_user_guide.json +653 -0
  719. package/dist/knowledge/data/tutorials/write_a_cplusplus_chop.json +139 -0
  720. package/dist/knowledge/data/tutorials/write_a_cplusplus_plugin.json +796 -0
  721. package/dist/knowledge/data/tutorials/write_a_cplusplus_top.json +104 -0
  722. package/dist/knowledge/data/tutorials/write_a_cuda_dll.json +259 -0
  723. package/dist/knowledge/data/tutorials/write_a_glsl_material.json +2353 -0
  724. package/dist/knowledge/data/tutorials/write_a_glsl_top.json +818 -0
  725. package/dist/knowledge/data/tutorials/write_a_shared_memory_chop.json +261 -0
  726. package/dist/knowledge/data/tutorials/write_a_shared_memory_top.json +193 -0
  727. package/dist/recipes/audio_spectrum_bars.json +26 -0
  728. package/dist/recipes/data_sonification.json +37 -0
  729. package/dist/recipes/feedback_tunnel.json +73 -0
  730. package/dist/recipes/kinect_silhouette.json +45 -0
  731. package/dist/recipes/led_strip_mapper.json +32 -0
  732. package/dist/recipes/noise_landscape.json +76 -0
  733. package/dist/recipes/particle_galaxy.json +52 -0
  734. package/dist/recipes/projection_mapping.json +25 -0
  735. package/dist/recipes/reaction_diffusion.json +90 -0
  736. package/dist/recipes/webcam_glitch.json +40 -0
  737. package/package.json +74 -0
  738. package/recipes/audio_spectrum_bars.json +26 -0
  739. package/recipes/data_sonification.json +37 -0
  740. package/recipes/feedback_tunnel.json +73 -0
  741. package/recipes/kinect_silhouette.json +45 -0
  742. package/recipes/led_strip_mapper.json +32 -0
  743. package/recipes/noise_landscape.json +76 -0
  744. package/recipes/particle_galaxy.json +52 -0
  745. package/recipes/projection_mapping.json +25 -0
  746. package/recipes/reaction_diffusion.json +90 -0
  747. package/recipes/webcam_glitch.json +40 -0
  748. package/td/README.md +160 -0
  749. package/td/bootstrap.py +73 -0
  750. package/td/modules/mcp/__init__.py +1 -0
  751. package/td/modules/mcp/controllers/__init__.py +1 -0
  752. package/td/modules/mcp/controllers/api_controller.py +240 -0
  753. package/td/modules/mcp/dev.py +40 -0
  754. package/td/modules/mcp/events.py +25 -0
  755. package/td/modules/mcp/install.py +155 -0
  756. package/td/modules/mcp/services/__init__.py +1 -0
  757. package/td/modules/mcp/services/analysis_service.py +64 -0
  758. package/td/modules/mcp/services/api_service.py +195 -0
  759. package/td/modules/mcp/services/batch_service.py +49 -0
  760. package/td/modules/mcp/services/preview_service.py +40 -0
  761. package/td/modules/utils/__init__.py +1 -0
  762. package/td/modules/utils/version.py +3 -0
  763. package/td/startup.py +34 -0
  764. package/td/templates/webserver_callbacks.py +50 -0
  765. package/td/tests/test_api_controller.py +242 -0
@@ -0,0 +1,275 @@
1
+ {
2
+ "id": "anatomy_of_a_chop",
3
+ "name": "Anatomy of a CHOP",
4
+ "displayName": "Anatomy of a CHOP",
5
+ "category": "TUTORIAL",
6
+ "subcategory": "CHOP Tutorial",
7
+ "type": "tutorial",
8
+ "description": "Parameters of SOPs, TOPs and objects (components) are able to get values from CHOP channels with expressions like the following:",
9
+ "summary": "Parameters of SOPs, TOPs and objects (components) are able to get values from CHOP channels with expressions like the following: However, exporting is preferred where possible. It is faster and involves less typing.",
10
+ "content": {
11
+ "sections": [
12
+ {
13
+ "title": "Inside a CHOP",
14
+ "level": 2,
15
+ "content": [
16
+ {
17
+ "type": "unordered-list",
18
+ "items": [
19
+ "A CHOP contains a set of channels defined over a start-end interval.",
20
+ "The channels of a CHOP can represent motion, MIDI, audio, color maps, rolloff curves or lookup tables.",
21
+ "Each channel is one array of raw samples, which is simply a list of numbers.",
22
+ "Each channel of a CHOP has a channel name that can be set by the user.",
23
+ "The group of CHOP channels is known as a clip.",
24
+ "A CHOP contains a clip plus control parameters, a sample rate, some on/off flags, and a start/end interval.",
25
+ "The CHOP can have any start/end indexes. All channels in a CHOP share the same start-end interval.",
26
+ "The interval goes from the start position to the end position.",
27
+ "The interval of a CHOP is not restricted to be the length of the animation.",
28
+ "Each CHOP has a sample rate, used if the CHOP contains time-dependent motion or audio data.",
29
+ "Audio has a high sample rates when compared to animated motion."
30
+ ]
31
+ }
32
+ ]
33
+ },
34
+ {
35
+ "title": "CHOP Inputs, Parameters and Outputs",
36
+ "level": 2,
37
+ "content": [
38
+ {
39
+ "type": "unordered-list",
40
+ "items": [
41
+ "CHOPs have \"parameters\" used to define the data, plus the data channels, which are input/output from the CHOP as its data stream.",
42
+ "The CHOP parameters are usually constant-valued, but can be time-dependent expressions.",
43
+ "Each CHOP receives channels at its inputs. When the CHOP cooks, the channels of the inputs are combined. The CHOP outputs the resulting channels to other CHOPs.",
44
+ "CHOPs output their data channels as arrays of numbers, not interpolated segments. Some CHOPs retain interpolated segments internally, but all CHOPs always output their data as raw samples.",
45
+ "If the CHOP's inputs are not changing and the control parameters are not time-dependent, the CHOP will be non-time-dependent and it will not cook every time the animation frame advances.",
46
+ "Some CHOPs have Local Variables: $I (the array index within the CHOP), $C (the channel number within the CHOP)",
47
+ "Some CHOPs output or use CHOP attributes, such as channels grouped as quaternion rotation channels."
48
+ ]
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "title": "Parts of a CHOP",
54
+ "level": 2,
55
+ "content": [
56
+ {
57
+ "type": "unordered-list",
58
+ "items": [
59
+ "Each CHOP has a set of parameters.",
60
+ "CHOPs' parameters can be expressed in different units: samples (indexes), frames or seconds. These units are selected by the user in a menu to the right of such parameters.",
61
+ "Each CHOP has flags: The Graph flag marks the CHOP to be displayed in the Graph of the CHOP Editor. The Export flag causes the CHOP channels to override channels of objects, SOps. The Lock flag causes the CHOP can be locked and hand-edited. The Channel Editor is the interactive editor of parameter channels in CHOPs. The Bypass flag is a convenient way for a CHOP's effect to be disabled.",
62
+ "The Graph flag marks the CHOP to be displayed in the Graph of the CHOP Editor.",
63
+ "The Export flag causes the CHOP channels to override channels of objects, SOps.",
64
+ "The Lock flag causes the CHOP can be locked and hand-edited. The Channel Editor is the interactive editor of parameter channels in CHOPs.",
65
+ "The Bypass flag is a convenient way for a CHOP's effect to be disabled.",
66
+ "Each CHOP has an info pop-up menu accessible by middle-mouse clicking on the CHOP. This lists channel names and values, sample rate and interval.",
67
+ "Each CHOP has a comment field."
68
+ ]
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "title": "CHOP Networks",
74
+ "level": 2,
75
+ "content": [
76
+ {
77
+ "type": "unordered-list",
78
+ "items": [
79
+ "CHOPs are arranged in OP networks in components, where CHOP outputs are connected to the inputs of other CHOPs."
80
+ ]
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "title": "Importing / Exporting CHOP Channels",
86
+ "level": 2,
87
+ "content": [
88
+ {
89
+ "type": "subsection",
90
+ "title": "Object, SOP and COP Channels Imported from CHOPs",
91
+ "level": 3
92
+ },
93
+ {
94
+ "type": "paragraph",
95
+ "text": "Parameters of SOPs, TOPs and objects (components) are able to get values from CHOP channels with expressions like the following:"
96
+ },
97
+ {
98
+ "type": "code",
99
+ "text": "chop(CHOPchannelpath)\n chopi(CHOPchannelpath, index",
100
+ "language": "python"
101
+ },
102
+ {
103
+ "type": "paragraph",
104
+ "text": "However, exporting is preferred where possible. It is faster and involves less typing."
105
+ },
106
+ {
107
+ "type": "subsection",
108
+ "title": "CHOPs Exported to Component, SOP and TOP Channels",
109
+ "level": 3
110
+ },
111
+ {
112
+ "type": "unordered-list",
113
+ "items": [
114
+ "CHOP data channels are exported to Components, SOPs, etc. to drive their parameters. CHOPs can be exported to any TouchDesigner parameter.",
115
+ "Each CHOP has an Export flag (and an Export Prefix, infrequently used), causing the CHOP to attach its channels to Components, SOPs, TOPs and so on.",
116
+ "The Export flag and Export Prefix are used to connect channels of an object or SOP directly to a CHOP. It uses automatic matching of channels names. For example, a CHOP \"tx\" channel could map to an Geometry Component's tx parameter.",
117
+ "When a CHOP exports to an object, SOP or TOP, the latters' channels are said to be overridden. An OP's Override menu lists what is overridden."
118
+ ]
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "title": "Channel Index and Value",
124
+ "level": 2,
125
+ "content": [
126
+ {
127
+ "type": "unordered-list",
128
+ "items": [
129
+ "The horizontal axis is called the i-axis or the index-axis.",
130
+ "The vertical axis is called the v-axis or the value-axis.",
131
+ "An index is a point along the i-axis,denoted by i.",
132
+ "A value is a point along the v-axis, denoted by v.",
133
+ "A sample is an index-value pair (i,v). i.e. the value of a channel at a certain index.",
134
+ "A sample is made of a sample index and a sample value.",
135
+ "An interval is an index range, which goes from a start index to an end index.",
136
+ "A value range goes from a start value to an end value.",
137
+ "The index duration is the end index minus the start index + 1.",
138
+ "CHOP data channels are arrays of raw samples, in 32-bit floating point format.",
139
+ "Channels in a CHOP may be control (parameter) channels or data channels. CHOPs manupulate the data channels.",
140
+ "CHOPs can be evaluated at integer and non-integer indexes.",
141
+ "Frame is used when the index corresponds to time.",
142
+ "When speaking of animation frames, you can refer to start frame, end frame and frame range."
143
+ ]
144
+ }
145
+ ]
146
+ },
147
+ {
148
+ "title": "CHOPs for Audio",
149
+ "level": 2,
150
+ "content": [
151
+ {
152
+ "type": "unordered-list",
153
+ "items": [
154
+ "Audio File In CHOP",
155
+ "Audio Movie CHOP",
156
+ "Audio Play CHOP",
157
+ "Audio Device In CHOP",
158
+ "Audio Device Out CHOP"
159
+ ]
160
+ }
161
+ ]
162
+ }
163
+ ],
164
+ "tableOfContents": [
165
+ {
166
+ "number": "1",
167
+ "text": "Inside a CHOP",
168
+ "href": "#Inside_a_CHOP"
169
+ },
170
+ {
171
+ "number": "2",
172
+ "text": "CHOP Inputs, Parameters and Outputs",
173
+ "href": "#CHOP_Inputs,_Parameters_and_Outputs"
174
+ },
175
+ {
176
+ "number": "3",
177
+ "text": "Parts of a CHOP",
178
+ "href": "#Parts_of_a_CHOP"
179
+ },
180
+ {
181
+ "number": "4",
182
+ "text": "CHOP Networks",
183
+ "href": "#CHOP_Networks"
184
+ },
185
+ {
186
+ "number": "5",
187
+ "text": "Importing / Exporting CHOP Channels",
188
+ "href": "#Importing_/_Exporting_CHOP_Channels"
189
+ },
190
+ {
191
+ "number": "5.1",
192
+ "text": "Object, SOP and COP Channels Imported from CHOPs",
193
+ "href": "#Object,_SOP_and_COP_Channels_Imported_from_CHOPs"
194
+ },
195
+ {
196
+ "number": "5.2",
197
+ "text": "CHOPs Exported to Component, SOP and TOP Channels",
198
+ "href": "#CHOPs_Exported_to_Component,_SOP_and_TOP_Channels"
199
+ },
200
+ {
201
+ "number": "6",
202
+ "text": "Channel Index and Value",
203
+ "href": "#Channel_Index_and_Value"
204
+ },
205
+ {
206
+ "number": "7",
207
+ "text": "CHOPs for Audio",
208
+ "href": "#CHOPs_for_Audio"
209
+ }
210
+ ],
211
+ "relatedLinks": [
212
+ {
213
+ "text": "Audio File In CHOP",
214
+ "href": "Audio_File_In_CHOP.htm"
215
+ },
216
+ {
217
+ "text": "Audio Movie CHOP",
218
+ "href": "Audio_Movie_CHOP.htm"
219
+ },
220
+ {
221
+ "text": "Audio Play CHOP",
222
+ "href": "Audio_Play_CHOP.htm"
223
+ },
224
+ {
225
+ "text": "Audio Device In CHOP",
226
+ "href": "Audio_Device_In_CHOP.htm"
227
+ },
228
+ {
229
+ "text": "Audio Device Out CHOP",
230
+ "href": "Audio_Device_Out_CHOP.htm"
231
+ }
232
+ ],
233
+ "images": [
234
+ {
235
+ "src": "./images/2/2b/ChannelsInfo2.gif",
236
+ "alt": "ChannelsInfo2.gif",
237
+ "caption": ""
238
+ }
239
+ ]
240
+ },
241
+ "keywords": [
242
+ "anatomy",
243
+ "chop",
244
+ "inside",
245
+ "inputs,",
246
+ "parameters",
247
+ "outputs",
248
+ "parts",
249
+ "networks",
250
+ "importing",
251
+ "exporting",
252
+ "channels",
253
+ "channel",
254
+ "index",
255
+ "value",
256
+ "chops",
257
+ "audio",
258
+ "top",
259
+ "sop",
260
+ "comp",
261
+ "parameter",
262
+ "component",
263
+ "export"
264
+ ],
265
+ "tags": [
266
+ "Tutorial",
267
+ "TouchDesigner",
268
+ "Anatomy of a CHOP"
269
+ ],
270
+ "searchWeight": 2,
271
+ "lastUpdated": "2025-08-08T03:32:33.567Z",
272
+ "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Anatomy_of_a_CHOP.htm",
273
+ "isValid": true,
274
+ "validationErrors": []
275
+ }
@@ -0,0 +1,268 @@
1
+ {
2
+ "id": "build_a_list_comp",
3
+ "name": "Build a List COMP",
4
+ "displayName": "Build a List COMP",
5
+ "category": "TUTORIAL",
6
+ "subcategory": "COMP Tutorial",
7
+ "type": "tutorial",
8
+ "description": "This document explains the finer points of building a List COMP. It is assumed the reader already has an understanding of the Python language. The official Python documentation can be found at this address.",
9
+ "summary": "This document explains the finer points of building a List COMP. It is assumed the reader already has an understanding of the Python language. The official Python documentation can be found at this address. The List COMP runs its init callbacks when the Reset parameter is pulsed or on load. These init functions are in place to let the user assign Table, Row, Col or Cell specific attributes which determine the layout and look of the List. The four init functions are called in this order: Once initialized the following callback functions are run on specific events:",
10
+ "content": {
11
+ "sections": [
12
+ {
13
+ "title": "Overview",
14
+ "level": 2,
15
+ "content": [
16
+ {
17
+ "type": "paragraph",
18
+ "text": "This document explains the finer points of building a List COMP. It is assumed the reader already has an understanding of the Python language. The official Python documentation can be found at this address."
19
+ }
20
+ ]
21
+ },
22
+ {
23
+ "title": "Callbacks Stages",
24
+ "level": 2,
25
+ "content": [
26
+ {
27
+ "type": "paragraph",
28
+ "text": "The List COMP runs its init callbacks when the Reset parameter is pulsed or on load. These init functions are in place to let the user assign Table, Row, Col or Cell specific attributes which determine the layout and look of the List. The four init functions are called in this order:"
29
+ },
30
+ {
31
+ "type": "unordered-list",
32
+ "items": [
33
+ "onInitTable(comp, attribs)",
34
+ "onInitCol(comp, col, attribs)",
35
+ "onInitRow(comp, row, attribs)",
36
+ "onInitCell(comp, row, col, attribs)"
37
+ ]
38
+ },
39
+ {
40
+ "type": "paragraph",
41
+ "text": "Once initialized the following callback functions are run on specific events:"
42
+ },
43
+ {
44
+ "type": "unordered-list",
45
+ "items": [
46
+ "onRollover(comp, row, col, coords, prevRow, prevCol, prevCoords) is called when a mouse rolls over a cell",
47
+ "onSelect(comp, startRow, startCol, startCoords, endRow, endCol, endCoords, start, end) is called when a mouse is clicked while over a cell",
48
+ "onRadio(comp, row, col, prevRow, prevCol)",
49
+ "onFocus(comp, row, col, prevRow, prevCol)",
50
+ "onEdit(comp, row, col, val)"
51
+ ]
52
+ }
53
+ ]
54
+ },
55
+ {
56
+ "title": "Building a simple List COMP with a Folder DAT as content source",
57
+ "level": 2,
58
+ "content": [
59
+ {
60
+ "type": "paragraph",
61
+ "text": "Lets assume you want to display the content of a Folder DAT with the ability to highlight rows you are rolling over. Lets also assume that clicking on a row will change the rows layout as well and run a custom script which takes the row and column as an argument. As a requirement, the first row should act as a header row with a different layout then the rest. For this example it is assumed that the Folder DAT is 5 columns wide and located parallel to the List COMP."
62
+ },
63
+ {
64
+ "type": "paragraph",
65
+ "text": "When dealing with the List COMP you have to be aware of the fact that its flexibility comes with a responsibility of the creator to manage states as well. This means that while List COMP is running callbacks as mentioned earlier, you will have to make sure that you save the Lists current state in appropriate ways. For example when a row changes its layout on rollover, the callbacks will have to make sure to change the layout back to its default look once the mouse leaves the row. Its proven very useful to save the required states in Python lists or dictionaries as Storage"
66
+ },
67
+ {
68
+ "type": "paragraph",
69
+ "text": "In the List COMP parameters on the List page, change the Rows and Columns parameter to reflect the Folder DAT size and enable the Lock First Row parameter. On the Layout parameter page, change the Width parameter to 900."
70
+ },
71
+ {
72
+ "type": "paragraph",
73
+ "text": "Enter the List COMP and start editing the callbacks Text DAT. For the initRow function enter this to specify each rows bgColor and hit the List COMP Reset parameter to see the changes:"
74
+ },
75
+ {
76
+ "type": "code",
77
+ "text": "def onInitRow(comp, row, attribs):\n\t# if this is the first row make the background slightly red, otherwise keep it grey\n\tif row == 0:\n\t\tbgColor = [0.4,0.2,0.2,1]\n\telse:\n\t\tbgColor = [0.2,0.2,0.2,1]\n\n\t# assign the bgColor to the rows attributes\n\tattribs.bgColor = bgColor\n\n\treturn",
78
+ "language": "text"
79
+ },
80
+ {
81
+ "type": "paragraph",
82
+ "text": "Now in the initCell function we will specify each cells content and hit the List COMP Reset parameter to see the changes:"
83
+ },
84
+ {
85
+ "type": "code",
86
+ "text": "def onInitCell(comp, row, col, attribs):\n\t# grab the cell content from the Folder DAT\n\tcellContent = op('../folder1')[row,col].val\n\n\t# assign the text from the Folder DAT to the cell attribute\n\tattribs.text = cellContent\n\n\treturn",
87
+ "language": "python"
88
+ },
89
+ {
90
+ "type": "paragraph",
91
+ "text": "Right away we see the need to appropriately size the column width which we can do in the initCol function. Additionally we'll set the first column to be able to stretch, so that when we increase the List COMP width, the first column will adjust to that size while the rest of the columns stay the same. The initial width given to the stretchy column serves as it's minimal width. After editing hit the List COMP Reset parameter to see the changes."
92
+ },
93
+ {
94
+ "type": "code",
95
+ "text": "def onInitCol(comp, col, attribs):\n\t# specify each columns width in a list\n\tcolWidth = [150,150,250,90,90]\n\n\t# specify which column is stretchable in a list\n\tstretch = [1,0,0,0,0]\n\n\t# assign the width and stretch to the column attributes\n\tattribs.colWidth = colWidth[col]\n\tattribs.colStretch = stretch[col]\n\n\treturn",
96
+ "language": "text"
97
+ },
98
+ {
99
+ "type": "paragraph",
100
+ "text": "We can add further formatting to the List COMP in a general way via the initTable function and hit the List COMP Reset parameter to see the changes:"
101
+ },
102
+ {
103
+ "type": "code",
104
+ "text": "def onInitTable(comp, attribs):\n\t# set every cells justify to be center left\n\tattribs.textJustify = JustifyType.CENTERLEFT\n\n\t# set every cells bottom border to a slight blue\n\tattribs.bottomBorderOutColor = [0.2,0.2,0.6,1]\n\n\treturn",
105
+ "language": "text"
106
+ },
107
+ {
108
+ "type": "paragraph",
109
+ "text": "To change the look of a row when rolling over, edit the rollover callback function. The rollover callback function is called on and while your mouse is moving over a cell. Therefor when changing the layout of a row we should in this case compare the previous with the current rollover row and only change the bgColor when they are different. When rolling out of or into a List COMP the arguments for row, col, prevrow and prevcol will be -1 respectively."
110
+ },
111
+ {
112
+ "type": "code",
113
+ "text": "def onRollover(comp, row, col, coords, prevRow, prevCol, prevCoords):\n\t# make sure to only change the layout if row and prevRow are different\n\tif row != prevRow:\n\n\t\t# we don't want to change the header row so test for row being larger then 0\n\t\t# this also takes care of when rolling out of the List where row would return -1\n\t\tif row > 0:\n\t\t\trowAttribs = comp.rowAttribs[row]\n\t\t\trowAttribs.bgColor = [0.2,0.4,0.2,1]\n\n\t\t# same as before, we check that prevRow is not the header row and\n\t\t# we are not entering the List from the outside\n\t\tif prevRow > 0:\n\t\t\trowAttribs = comp.rowAttribs[prevRow]\n\t\t\trowAttribs.bgColor = [0.2,0.2,0.2,1]\n\n\treturn",
114
+ "language": "text"
115
+ },
116
+ {
117
+ "type": "paragraph",
118
+ "text": "To achieve a momentary click layout change on the List COMP we can use the select callback in a similar way as we used the rollover callback. The select callback additionally receives a start and end argument with start being True on mouse down and end being True on mouse up. As your mouse can move around the List COMP while the mouse is down, you also receive start and end row/col information. As we have no information on which row was previously selected, we will have to save the selected row in storage:"
119
+ },
120
+ {
121
+ "type": "code",
122
+ "text": "def onSelect(comp, startRow, startCol, startCoords, endRow, endCol, endCoords, start, end):\n\t# execute this on mouse down\n\tif start and startRow > 0:\n\t\t# get the row attributes for the clicked on row\n\t\t# and change the bgColor\n\t\trowAttribs = comp.rowAttribs[startRow]\n\t\trowAttribs.bgColor = [0.2,0.6,0.4,1]\n\n\t\t# save the startRow in storage so we can revert the layout changes on mouse up\n\t\tcomp.store('prevSelect',startRow)\n\n\t\t# run a script and pass row and column as an argument\n\t\top('../myScript').run(startRow, startCol)\n\t\n\t# execute this on mouse up\n\telif end:\n\t\t# get the previous selected row from storage\n\t\tprevSelRow = comp.fetch('prevSelect',None)\n\n\t\t# if there is a previously selected row change the layout back to default\n\t\tif prevSelRow:\n\t\t\trowAttribs = comp.rowAttribs[prevSelRow]\n\n\t\t\t# if my mouse is still over the previously selected row, change it's layout to the rollover bg\n\t\t\t# else change it to the default look\n\t\t\tif startRow == endRow:\n\t\t\t\tbgColor = [0.2,0.4,0.2,1]\n\t\t\telse:\n\t\t\t\tbgColor = [0.2,0.2,0.2,1]\n\n\t\t\t# assign the color to the rows bgColor attribute\n\t\t\trowAttribs.bgColor = bgColor\n\n\t\t# remove the previously selected row from storage\n\t\tcomp.unstore('prevSelect')\n\n\treturn",
123
+ "language": "python"
124
+ }
125
+ ]
126
+ },
127
+ {
128
+ "title": "Using a Python Dictionary as content for the List COMP",
129
+ "level": 2,
130
+ "content": [
131
+ {
132
+ "type": "paragraph",
133
+ "text": "With the cell text content being assigned via the text attribute, we can also get data from structures like Lists or Dictionaries. For this example we will assume that our content dictionary has following structure:"
134
+ },
135
+ {
136
+ "type": "code",
137
+ "text": "myDict = {\n\t'header':[\n\t\t{'id':'name','label':'Name'},\n\t\t{'id':'extension','label':'Extension'},\n\t\t{'id':'type','label':'Type'},\n\t\t{'id':'size','label':'Size'}\n\t],\n\t'content':[\n\t\t{'name':'MyList.toe','extension':'toe','type':'TouchDesigner File','size':184666},\n\t\t{'name':'MyImage.jpg','extension':'jpg','type':'Image File','size':184326},\n\t\t{'name':'MyList1.toe','extension':'toe','type':'TouchDesigner File','size':184632},\n\t\t{'name':'MyList2.toe','extension':'toe','type':'TouchDesigner File','size':184536}\n\t]\n}",
138
+ "language": "text"
139
+ },
140
+ {
141
+ "type": "paragraph",
142
+ "text": "The header key holds the information for the first row while the content key holds all other rows text. In order to gain access to the dictionary from the List COMP we will store this dictionary as an Dependency Class object to the List COMP."
143
+ },
144
+ {
145
+ "type": "code",
146
+ "text": "myListCOMP = op('/project1/myListCOMP')\nmyListCOMP.store('contentDict',tdu.Dependency(myDict))",
147
+ "language": "python"
148
+ },
149
+ {
150
+ "type": "paragraph",
151
+ "text": "To display as many Rows as there are items in the stored Dictionary, we'll change the List COMPs Row parameter to:"
152
+ },
153
+ {
154
+ "type": "code",
155
+ "text": "len(me.fetch('contentDict',{'content':[]}))+1",
156
+ "language": "text"
157
+ },
158
+ {
159
+ "type": "paragraph",
160
+ "text": "Similarly for the Columns we will look at the size of the header dictionary:"
161
+ },
162
+ {
163
+ "type": "code",
164
+ "text": "len(me.fetch('contentDict',{'header':[]}))",
165
+ "language": "text"
166
+ },
167
+ {
168
+ "type": "paragraph",
169
+ "text": "The second argument to the fetch Method is the default which will be returned in case the stored item is not found."
170
+ },
171
+ {
172
+ "type": "paragraph",
173
+ "text": "For the cells to display the correct content, we will need to fetch the stored dictionary in the initCell callback function and depending on row and column fetch the right entry from the content dictionary:"
174
+ },
175
+ {
176
+ "type": "code",
177
+ "text": "def onInitCell(comp, row, col, attribs):\n\tcontentDict = comp.fetch('contentDict',None)\n\tif contentDict:\n\t\theader = contentDict['header'][col]\n\t\tif row == 0:\n\t\t\tattribs.text = header['Label']\n\t\telse:\n\t\t\tid = header['id']\n\t\t\trowContent = contentDict[row-1]\n\t\t\tattribs.text = rowContent[id]\n\n\treturn",
178
+ "language": "text"
179
+ },
180
+ {
181
+ "type": "paragraph",
182
+ "text": "As we are using a Dependency Class object, with every update we make to the dictionary, the change will also be shown in the List COMP"
183
+ },
184
+ {
185
+ "type": "code",
186
+ "text": "myListCOMP = op('/project1/myListCOMP')\ncontentDict = myListCOMP.fetch('contentDict',None)\nnewItem = {'name':'someFile.toe','extension':'toe','type':'TouchDesigner File','size':932753}\ncontentDict['content'].append(newItem)",
187
+ "language": "python"
188
+ }
189
+ ]
190
+ }
191
+ ],
192
+ "tableOfContents": [
193
+ {
194
+ "number": "1",
195
+ "text": "Overview",
196
+ "href": "#Overview"
197
+ },
198
+ {
199
+ "number": "2",
200
+ "text": "Callbacks Stages",
201
+ "href": "#Callbacks_Stages"
202
+ },
203
+ {
204
+ "number": "3",
205
+ "text": "Building a simple List COMP with a Folder DAT as content source",
206
+ "href": "#Building_a_simple_List_COMP_with_a_Folder_DAT_as_content_source"
207
+ },
208
+ {
209
+ "number": "4",
210
+ "text": "Using a Python Dictionary as content for the List COMP",
211
+ "href": "#Using_a_Python_Dictionary_as_content_for_the_List_COMP"
212
+ }
213
+ ],
214
+ "relatedLinks": [
215
+ {
216
+ "text": "List COMP",
217
+ "href": "List_COMP.htm"
218
+ },
219
+ {
220
+ "text": "Folder DAT",
221
+ "href": "Folder_DAT.htm"
222
+ },
223
+ {
224
+ "text": "Text DAT",
225
+ "href": "Text_DAT.htm"
226
+ },
227
+ {
228
+ "text": "Dependency Class",
229
+ "href": "Dependency_Class.htm"
230
+ },
231
+ {
232
+ "text": "List COMPs",
233
+ "href": "List_COMP.htm"
234
+ }
235
+ ],
236
+ "images": []
237
+ },
238
+ "keywords": [
239
+ "build",
240
+ "list",
241
+ "comp",
242
+ "overview",
243
+ "callbacks",
244
+ "stages",
245
+ "building",
246
+ "simple",
247
+ "with",
248
+ "folder",
249
+ "content",
250
+ "source",
251
+ "using",
252
+ "python",
253
+ "dictionary",
254
+ "parameter",
255
+ "dat",
256
+ "mat"
257
+ ],
258
+ "tags": [
259
+ "Tutorial",
260
+ "TouchDesigner",
261
+ "Build a List COMP"
262
+ ],
263
+ "searchWeight": 2,
264
+ "lastUpdated": "2025-08-08T03:32:33.652Z",
265
+ "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Build_a_List_COMP.htm",
266
+ "isValid": true,
267
+ "validationErrors": []
268
+ }
@@ -0,0 +1 @@
1
+ [{"id":"anatomy_of_a_chop","name":"Anatomy of a CHOP","category":"TUTORIAL","summary":"Parameters of SOPs, TOPs and objects (components) are able to get values from CHOP channels with expressions like the following: However, exporting is preferred where possible. It is faster and involves less typing."},{"id":"build_a_list_comp","name":"Build a List COMP","category":"TUTORIAL","summary":"This document explains the finer points of building a List COMP. It is assumed the reader already has an understanding of the Python language. The official Python documentation can be found at this address. The List COMP runs its init callbacks when the Reset parameter is pulsed or on load. These init functions are in place to let the user assign Table, Row, Col or Cell specific attributes which determine the layout and look of the List. The four init functions are called in this order: Once initialized the following callback functions are run on specific events:"},{"id":"introduction_to_python_tutorial","name":"Introduction to Python Tutorial","category":"TUTORIAL","summary":"This tutorial is a general introduction to using Python in TouchDesigner. It doesn't require previous knowledge of Python, but it also doesn't go into \"how to program\". Resources for learning Python i..."},{"id":"tdbitwig_user_guide","name":"TDBitwig User Guide","category":"TUTORIAL","summary":"TDBitwig is a set of TouchDesigner components that enables bi-directional communication between Bitwig Studio and TouchDesigner. The TDBitwig functionality enables users to create custom audio-visual ..."},{"id":"touchdesigner_video_server_specification_guide","name":"TouchDesigner Video Server Specification Guide","category":"TUTORIAL","summary":"Windows 10 is the suggested windows operating system."},{"id":"video_streaming_user_guide","name":"Video Streaming User Guide","category":"TUTORIAL","summary":"This guide will cover the supported protocols and services that are now available to TouchDesigner users for audio video streaming over the Internet."},{"id":"write_a_cplusplus_chop","name":"Write a CPlusPlus CHOP","category":"TUTORIAL","summary":"Make sure you've read through Write a CPlusPlus Plugin first for general information about writing a plugin for a CPlusPlus CHOP. The CPlusPlus CHOP allows you to manipulate CHOP data using custom code, or bring in/output CHOP data to and from external sources or file formats. You can use one of the CHOP's inputs to determine the number of channels, channel names, sample rate etc. of the output, or you can specify them in code (in getOutputInfo())."},{"id":"write_a_cplusplus_plugin","name":"Write a C++ Plugin","category":"TUTORIAL","summary":"The CPlusPlus OPs (CPlusPlus CHOP, CPlusPlus TOP, CPlusPlus SOP and CPlusPlus DAT) allow you to load your own C++ code that has been compiled into a plugin. You can use this node to create custom filt..."},{"id":"write_a_cplusplus_top","name":"Write a CPlusPlus TOP","category":"TUTORIAL","summary":"Make sure you've read through Write a CPlusPlus Plugin first for general information about writing a plugin for a CPlusPlus TOP. The CPlusPlus TOP allows you to write C++ code to create a TOP that can output multiple textures. Currently you can create your output by filling a CPU memory buffer (TOP_ExecuteMode::CPUMem) or by filling a cudaArray buffer (TOP_ExecuteMode::CUDA). Most of the documentation is held in the header files for the C++ API. The samples also contain a lot of comments about the workflow."},{"id":"write_a_cuda_dll","name":"Write a CUDA DLL","category":"TUTORIAL","summary":"CUDA is a programming language developed by NVIDIA to allow developers to use the power of GPUs in a way much more general than using them only for graphics. More details about CUDA can be found at th..."},{"id":"write_a_glsl_material","name":"Write a GLSL Material","category":"TUTORIAL","summary":"This document explains the finer points of writing a GLSL Material in TouchDesigner. It is assumed the reader already has an understanding of the GLSL language. The official GLSL documentation can be ..."},{"id":"write_a_glsl_top","name":"Write a GLSL TOP","category":"TUTORIAL","summary":"The official GLSL documentation can be found at this address. TouchDesigner's main supported version of GLSL is 4.60. Support for versions of GLSL 3.30 and earlier have been removed due to the switch to Vulkan. A shader written for 3.30 should work fine when targeting newer GLSL though. A shader written for the GLSL TOP is generally a image based operation. It does essentially no geometry based work. For users who are familiar with writing 3D GLSL shaders, a GLSL TOP is simply a shader applied to a single quad that is drawn to cover up the entire viewport (also known as a full-screen-aligned quad). To simplify the subject, this guide will avoid the extra complexities involved in 3D rendering, and present the topic of writing a GLSL shader in a 2D world only, dealing only with pixels."},{"id":"write_a_shared_memory_chop","name":"Write a Shared Memory CHOP","category":"TUTORIAL","summary":"This article refers to how to write external applications to interface with Shared Mem Out CHOP and Shared Mem In CHOP. In the TouchDesigner installation directory, under /touch/SharedMem/CHOP there is the header defined in CHOP_SharedMemHeader.h that needs to be filled in at the start of the shared memory buffer. The memory buffer should have this header, followed by the channel data and optionally the channel data. NOTE: The 'Shared Mem Type' parameter in the CHOP must be set to 'Local' for your app to be able interface with it"},{"id":"write_a_shared_memory_top","name":"Write a Shared Memory TOP","category":"TUTORIAL","summary":"In the TouchDesigner installation directory, under Samples/SharedMem/TOP there is the header defined in TOP_SharedMemHeader.h that needs to be filled in at the start of the shared memory buffer. The memory buffer should have this header, followed by the image data. NOTE: The 'Shared Mem Type' parameter in the TOP must be set to 'Local' for your app to be able interface with it. Refer to the article Using Shared Memory in TouchDesigner to learn how to create a shared memory buffer. If you are the sender, you need to create a buffer whose size will accommodate both the header, and the image data. Get the size of the header simply with"}]