@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,261 @@
1
+ {
2
+ "id": "write_a_shared_memory_chop",
3
+ "name": "Write a Shared Memory CHOP",
4
+ "displayName": "Write a Shared Memory CHOP",
5
+ "category": "TUTORIAL",
6
+ "subcategory": "CHOP Tutorial",
7
+ "type": "tutorial",
8
+ "description": "This article refers to how to write external applications to interface with Shared Mem Out CHOP and Shared Mem In CHOP.",
9
+ "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",
10
+ "content": {
11
+ "sections": [
12
+ {
13
+ "title": "Introduction",
14
+ "level": 2,
15
+ "content": [
16
+ {
17
+ "type": "paragraph",
18
+ "text": "This article refers to how to write external applications to interface with Shared Mem Out CHOP and Shared Mem In CHOP."
19
+ },
20
+ {
21
+ "type": "paragraph",
22
+ "text": "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."
23
+ },
24
+ {
25
+ "type": "paragraph",
26
+ "text": "NOTE: The 'Shared Mem Type' parameter in the CHOP must be set to 'Local' for your app to be able interface with it"
27
+ }
28
+ ]
29
+ },
30
+ {
31
+ "title": "Creating a Shared Memory Buffer",
32
+ "level": 2,
33
+ "content": [
34
+ {
35
+ "type": "paragraph",
36
+ "text": "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 who's size will accommodate both the header, the channel data and the channel names (if you are sending them). Get the size of the header simply with"
37
+ },
38
+ {
39
+ "type": "code",
40
+ "text": "sizeof(CHOP_SharedMemHeader)",
41
+ "language": "text"
42
+ },
43
+ {
44
+ "type": "paragraph",
45
+ "text": "The size of the channel data is"
46
+ },
47
+ {
48
+ "type": "code",
49
+ "text": "number of channels * channel length * 4",
50
+ "language": "text"
51
+ },
52
+ {
53
+ "type": "paragraph",
54
+ "text": "4 because that's the number of bytes in a float."
55
+ },
56
+ {
57
+ "type": "paragraph",
58
+ "text": "The size of the channel names is the length of each channel name + 1 extra byte per channel to accommodate the null character at the end of each channel name. For example if you have 2 channels named cha1 and cha2 the required size would be"
59
+ },
60
+ {
61
+ "type": "code",
62
+ "text": "4 + 4 + 2 = 10\n where the terms are: (length of cha1) + (length of cha2) + (number of channels, for the null characters)",
63
+ "language": "text"
64
+ },
65
+ {
66
+ "type": "paragraph",
67
+ "text": "Following the same example, if the channel length was 5 samples long, then you'd need to allocate a memory buffer that has the size in bytes of at least:"
68
+ },
69
+ {
70
+ "type": "code",
71
+ "text": "sizeof(CHOP_SharedMemHeader) + 10 + (2 * 5 * 4)",
72
+ "language": "text"
73
+ },
74
+ {
75
+ "type": "paragraph",
76
+ "text": "Once you have a pointer to the memory, you can do the next step."
77
+ }
78
+ ]
79
+ },
80
+ {
81
+ "title": "Writing/Reading the Header",
82
+ "level": 2,
83
+ "content": [
84
+ {
85
+ "type": "paragraph",
86
+ "text": "You can get the header file used to describe the data that is sent through a Shared Mem CHOP in Touch/SharedMem/CHOP (Under the directory where Touch is installed). The file is called CHOP_SharedMemHeader.h."
87
+ },
88
+ {
89
+ "type": "paragraph",
90
+ "text": "The header is the first thing that appears in the shared memory. So you can cast the pointer you get from UT_SharedMem to CHOP_SharedMemHeader."
91
+ },
92
+ {
93
+ "type": "code",
94
+ "text": "CHOP_SharedMemHeader *header = (CHOP_SharedMemHeader*)shm->getMemory();",
95
+ "language": "text"
96
+ },
97
+ {
98
+ "type": "paragraph",
99
+ "text": "If you are the sender, fill in all of the fields in this header. Refer to the header for more details one each field you need to fill in."
100
+ },
101
+ {
102
+ "type": "paragraph",
103
+ "text": "If you are the sender, make sure you fill in all required fields in the header, otherwise the receiver won't know where the data is"
104
+ },
105
+ {
106
+ "type": "paragraph",
107
+ "text": "Most of the members of the header are self-explanatory. Typical usage would be like this"
108
+ },
109
+ {
110
+ "type": "code",
111
+ "text": "header->magicNumber = CHOP_SHM_MAGIC_NUMBER; // Must be set to this\n header->version = CHOP_SHM_VERSION; // Must be set to this\n header->size = sharedMemSize; // As calculated when you created the shared memory\n header->numChans = numOfChannelsToSend;\n header->length = lengthOfEachChannel; // Number of samples\n header->sampleRate = theSampleRate;\n header->namesSent = amISendingNames; // 1 if you are sending channel names, 0 otherwise\n header->channelDataOffset = sizeof(CHOP_SharedMemHeader);\n header->nameDataOffset = header->channelDataOffset + (header->numChans * header->length * 4);",
112
+ "language": "text"
113
+ },
114
+ {
115
+ "type": "paragraph",
116
+ "text": "If you are the receiver, use the the information from the header however you see fit."
117
+ }
118
+ ]
119
+ },
120
+ {
121
+ "title": "Reading/Writing the channel data",
122
+ "level": 2,
123
+ "content": [
124
+ {
125
+ "type": "paragraph",
126
+ "text": "Get a pointer to where you should read/write the channel data by simply using the getChannelData() call in the header"
127
+ },
128
+ {
129
+ "type": "code",
130
+ "text": "float *data = header->getChannelData();",
131
+ "language": "text"
132
+ },
133
+ {
134
+ "type": "paragraph",
135
+ "text": "The channel data is tightly packed, one channel at a time. So the first channel's samples appear first, follow immediately by the second channel's samples."
136
+ },
137
+ {
138
+ "type": "paragraph",
139
+ "text": "A typical loop to read/write the channel data would look like this"
140
+ },
141
+ {
142
+ "type": "code",
143
+ "text": "float *data = header->getChannelData(); \n for (int i = 0; i < header->numChans; i++)\n {\n // data points to the channel data of the i'th channel\n for (int j = 0; j < header->length; j++)\n {\n // data[j] is the j'th sample in the current channel\n float sample = data[j];\n // do something with the data\n // or if you are writing data to the shared mem, you'd assign something to data[j]\n }\n // Move the data pointer forward so that it now points to the data for\n // the next channel\n data += header->length;\n }",
144
+ "language": "text"
145
+ }
146
+ ]
147
+ },
148
+ {
149
+ "title": "Reading/Writing the channel names",
150
+ "level": 2,
151
+ "content": [
152
+ {
153
+ "type": "paragraph",
154
+ "text": "If you are writing channel names, make sure you set the namesSent field of the header to 1, otherwise the names will be ignored. If you don't send names, then the channels will keep their previous names, or use incremental names starting at 'chan1' if they don't have a previous name."
155
+ },
156
+ {
157
+ "type": "paragraph",
158
+ "text": "If you are reading channel names, make sure the namesSent field of the header is 1, otherwise you will be reading garbabe data."
159
+ },
160
+ {
161
+ "type": "paragraph",
162
+ "text": "Get a pointer to where you should read/write the channel names by simply using the getNameData() call in the header"
163
+ },
164
+ {
165
+ "type": "code",
166
+ "text": "char *names = header->getNameData();",
167
+ "language": "text"
168
+ },
169
+ {
170
+ "type": "paragraph",
171
+ "text": "The channel names are tightly packed with the data containing a channel name, followed by a null character, followed immediately by the next channel name."
172
+ },
173
+ {
174
+ "type": "paragraph",
175
+ "text": "A typical loop to read the channel names would be:"
176
+ },
177
+ {
178
+ "type": "code",
179
+ "text": "char *names = header->getNameData(); \n for (int i = 0; i < header->numChans; i++)\n {\n // names pointer to the name of the i'th channel, so you can do whatever you normally can with a string it\n // such as\n cout << names << endl;\n \n // Now move the pointer forward to the next channel name\n // add the number of character in the name, plus the null character to the pointer\n names += strlen(names) + 1;\n }",
180
+ "language": "text"
181
+ },
182
+ {
183
+ "type": "paragraph",
184
+ "text": "A typical loop to write the channel names would be:"
185
+ },
186
+ {
187
+ "type": "code",
188
+ "text": "// This example assumes you have an array of char*s called myNames that contain the channel names.\n char *names = header->getNameData(); \n for (int i = 0; i < header->numChans; i++)\n {\n // names pointer to the name of the i'th channel, so copy the channel name to it, make sure you include the\n // null character at the end of the string (the + 1 in the size of the memcpy)\n memcpy(names, myNames[i], strlen(myNames[i]) + 1);\n \n // Now move the pointer forward to the next channel name\n // add the number of character in the name, plus the null character to the pointer\n names += strlen(myNames[i]) + 1;\n }",
189
+ "language": "text"
190
+ }
191
+ ]
192
+ }
193
+ ],
194
+ "tableOfContents": [
195
+ {
196
+ "number": "1",
197
+ "text": "Creating a Shared Memory Buffer",
198
+ "href": "#Creating_a_Shared_Memory_Buffer"
199
+ },
200
+ {
201
+ "number": "2",
202
+ "text": "Writing/Reading the Header",
203
+ "href": "#Writing/Reading_the_Header"
204
+ },
205
+ {
206
+ "number": "3",
207
+ "text": "Reading/Writing the channel data",
208
+ "href": "#Reading/Writing_the_channel_data"
209
+ },
210
+ {
211
+ "number": "4",
212
+ "text": "Reading/Writing the channel names",
213
+ "href": "#Reading/Writing_the_channel_names"
214
+ }
215
+ ],
216
+ "relatedLinks": [
217
+ {
218
+ "text": "Shared Mem Out CHOP",
219
+ "href": "Shared_Mem_Out_CHOP.htm"
220
+ },
221
+ {
222
+ "text": "Shared Mem In CHOP",
223
+ "href": "Shared_Mem_In_CHOP.htm"
224
+ },
225
+ {
226
+ "text": "Using Shared Memory in TouchDesigner",
227
+ "href": "Using_Shared_Memory_in_TouchDesigner.htm"
228
+ }
229
+ ],
230
+ "images": []
231
+ },
232
+ "keywords": [
233
+ "write",
234
+ "shared",
235
+ "memory",
236
+ "chop",
237
+ "introduction",
238
+ "creating",
239
+ "buffer",
240
+ "writing/reading",
241
+ "header",
242
+ "reading/writing",
243
+ "channel",
244
+ "data",
245
+ "names",
246
+ "dat",
247
+ "parameter",
248
+ "sample",
249
+ "mat"
250
+ ],
251
+ "tags": [
252
+ "Tutorial",
253
+ "TouchDesigner",
254
+ "Write a Shared Memory CHOP"
255
+ ],
256
+ "searchWeight": 2,
257
+ "lastUpdated": "2025-08-08T03:32:33.824Z",
258
+ "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Write_a_Shared_Memory_CHOP.htm",
259
+ "isValid": true,
260
+ "validationErrors": []
261
+ }
@@ -0,0 +1,193 @@
1
+ {
2
+ "id": "write_a_shared_memory_top",
3
+ "name": "Write a Shared Memory TOP",
4
+ "displayName": "Write a Shared Memory TOP",
5
+ "category": "TUTORIAL",
6
+ "subcategory": "TOP Tutorial",
7
+ "type": "tutorial",
8
+ "description": "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.",
9
+ "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",
10
+ "content": {
11
+ "sections": [
12
+ {
13
+ "title": "Introduction",
14
+ "level": 2,
15
+ "content": [
16
+ {
17
+ "type": "paragraph",
18
+ "text": "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."
19
+ },
20
+ {
21
+ "type": "paragraph",
22
+ "text": "NOTE: The 'Shared Mem Type' parameter in the TOP must be set to 'Local' for your app to be able interface with it."
23
+ }
24
+ ]
25
+ },
26
+ {
27
+ "title": "Creating a Shared Memory Buffer",
28
+ "level": 2,
29
+ "content": [
30
+ {
31
+ "type": "paragraph",
32
+ "text": "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"
33
+ },
34
+ {
35
+ "type": "code",
36
+ "text": "sizeof(TOP_SharedMemHeader)",
37
+ "language": "text"
38
+ },
39
+ {
40
+ "type": "paragraph",
41
+ "text": "The size of the image data depends on the number of channels, the resolution and the dataType. In general it's"
42
+ },
43
+ {
44
+ "type": "code",
45
+ "text": "width * height * number of channels * number_of_bytes_per_channel",
46
+ "language": "text"
47
+ },
48
+ {
49
+ "type": "paragraph",
50
+ "text": "Where number_of_bytes_per_channel is 1 for dataType GL_UNSIGNED_BYTE and 4 for GL_FLOAT."
51
+ },
52
+ {
53
+ "type": "paragraph",
54
+ "text": "Once you have a pointer to the memory, you can do the next step."
55
+ }
56
+ ]
57
+ },
58
+ {
59
+ "title": "Writing/Reading the Header",
60
+ "level": 2,
61
+ "content": [
62
+ {
63
+ "type": "paragraph",
64
+ "text": "You can get the header file used to describe the data that is sent through a Shared Mem TOP in touch/SharedMem/TOP (Under the directory where TouchDesigner is installed). The file is called TOP_SharedMemHeader.h."
65
+ },
66
+ {
67
+ "type": "paragraph",
68
+ "text": "The header is the first thing that appears in the shared memory. So you can cast the pointer you get from UT_SharedMem to TOP_SharedMemHeader."
69
+ },
70
+ {
71
+ "type": "code",
72
+ "text": "TOP_SharedMemHeader *header = (TOP_SharedMemHeader*)shm->getMemory();",
73
+ "language": "text"
74
+ },
75
+ {
76
+ "type": "paragraph",
77
+ "text": "If you are the sender, fill in all of the fields in this header. Refer to the header for more details one each field you need to fill in."
78
+ },
79
+ {
80
+ "type": "paragraph",
81
+ "text": "If you are the sender, make sure you do this, otherwise the receiver won't know where the image is."
82
+ },
83
+ {
84
+ "type": "code",
85
+ "text": "header->dataOffset = sizeof(TOP_SharedMemHeader);",
86
+ "language": "text"
87
+ },
88
+ {
89
+ "type": "paragraph",
90
+ "text": "Most of the members of the header are self-explanatory, except for dataFormat, dataType and pixelFormat. The valid values for these are listed at the top of TOP_SharedMemHeader.h. The values are OpenGL constants but I'll provide their actual values (in hexadecimal) in case you aren't using OpenGL at all in your app."
91
+ },
92
+ {
93
+ "type": "paragraph",
94
+ "text": "dataFormat: This is the format of your image in memory. For example if you don't have an alpha channel and your image data's pixel format is RGB, you specify GL_RGB."
95
+ },
96
+ {
97
+ "type": "paragraph",
98
+ "text": "dataType: This is the data type of your image data. If it's stored an unsigned char's use GL_UNSIGNED_BYTE (8-bits per channel), if it's stored as floats use GL_FLOAT (32-bits per channel)."
99
+ },
100
+ {
101
+ "type": "paragraph",
102
+ "text": "pixelFormat: This is the format of the texture you want to be created in the Shared Mem In TOP. The pixelFormat doesn't need to match the dataType. For example you can create a GL_RGBA16F_ARB (16 bit float) texture from 8-bits unsigned char data, or vice versa, if you want. Don't confuse the RGBA here with a dataFormat as above, the RGBA doesn't imply that's the channel order, it just implies that's the channels present, they could be ordered BGRA if you want."
103
+ },
104
+ {
105
+ "type": "paragraph",
106
+ "text": "If you are the receiver, use the the information from the header however you see fit."
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ "title": "Reading/Writing the Image",
112
+ "level": 2,
113
+ "content": [
114
+ {
115
+ "type": "paragraph",
116
+ "text": "Get a pointer to where you should read/write the image by simply using the getImage() call in the header:"
117
+ },
118
+ {
119
+ "type": "code",
120
+ "text": "unsigned char *image = (unsigned char*)header->getImage(); // For 8-bit",
121
+ "language": "text"
122
+ },
123
+ {
124
+ "type": "paragraph",
125
+ "text": "or"
126
+ },
127
+ {
128
+ "type": "code",
129
+ "text": "float *image = (float*)header->getImage(); // For floating point data",
130
+ "language": "text"
131
+ },
132
+ {
133
+ "type": "paragraph",
134
+ "text": "Now read/write the image data depending on the format."
135
+ }
136
+ ]
137
+ }
138
+ ],
139
+ "tableOfContents": [
140
+ {
141
+ "number": "1",
142
+ "text": "Creating a Shared Memory Buffer",
143
+ "href": "#Creating_a_Shared_Memory_Buffer"
144
+ },
145
+ {
146
+ "number": "2",
147
+ "text": "Writing/Reading the Header",
148
+ "href": "#Writing/Reading_the_Header"
149
+ },
150
+ {
151
+ "number": "3",
152
+ "text": "Reading/Writing the Image",
153
+ "href": "#Reading/Writing_the_Image"
154
+ }
155
+ ],
156
+ "relatedLinks": [
157
+ {
158
+ "text": "Using Shared Memory in TouchDesigner",
159
+ "href": "Using_Shared_Memory_in_TouchDesigner.htm"
160
+ }
161
+ ],
162
+ "images": []
163
+ },
164
+ "keywords": [
165
+ "write",
166
+ "shared",
167
+ "memory",
168
+ "introduction",
169
+ "creating",
170
+ "buffer",
171
+ "writing/reading",
172
+ "header",
173
+ "reading/writing",
174
+ "image",
175
+ "top",
176
+ "dat",
177
+ "sample",
178
+ "parameter",
179
+ "channel",
180
+ "mat",
181
+ "texture"
182
+ ],
183
+ "tags": [
184
+ "Tutorial",
185
+ "TouchDesigner",
186
+ "Write a Shared Memory TOP"
187
+ ],
188
+ "searchWeight": 2,
189
+ "lastUpdated": "2025-08-08T03:32:33.852Z",
190
+ "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Write_a_Shared_Memory_TOP.htm",
191
+ "isValid": true,
192
+ "validationErrors": []
193
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "id": "audio_spectrum_bars",
3
+ "name": "Audio Spectrum Bars",
4
+ "description": "Classic spectrum analyzer: live audio is analyzed into a frequency spectrum and drawn as colored bars in a GLSL TOP.",
5
+ "tags": ["audio-reactive", "spectrum", "bars", "music"],
6
+ "difficulty": "beginner",
7
+ "td_version_min": "2022",
8
+ "nodes": [
9
+ { "name": "audioin", "type": "audiodeviceinCHOP", "comment": "Live audio input" },
10
+ { "name": "spectrum", "type": "audiospectrumCHOP", "comment": "FFT spectrum" },
11
+ { "name": "audio_tex", "type": "choptoTOP", "comment": "Spectrum as a 1-row texture" },
12
+ { "name": "bars", "type": "glslTOP", "comment": "Draws the bars from the spectrum texture" },
13
+ { "name": "out1", "type": "nullTOP" }
14
+ ],
15
+ "connections": [
16
+ { "from": "audioin", "to": "spectrum" },
17
+ { "from": "spectrum", "to": "audio_tex" },
18
+ { "from": "audio_tex", "to": "bars" },
19
+ { "from": "bars", "to": "out1" }
20
+ ],
21
+ "parameters": [],
22
+ "glsl_code": {
23
+ "bars": "out vec4 fragColor;\nvoid main(){\n vec2 uv = vUV.st;\n float amp = texture(sTD2DInputs[0], vec2(uv.x, 0.5)).r;\n float bar = step(uv.y, clamp(amp, 0.0, 1.0));\n vec3 col = mix(vec3(0.02,0.0,0.08), vec3(0.1,0.9,1.0), uv.x) * bar;\n fragColor = TDOutputSwizzle(vec4(col, 1.0));\n}\n"
24
+ },
25
+ "preview_description": "A row of glowing cyan-to-magenta bars rising and falling with the music."
26
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "id": "data_sonification",
3
+ "name": "Data Sonification",
4
+ "description": "Drives both audio and a visual from a data table: values are read into CHOPs, smoothed, and mapped to an oscillator and a color ramp.",
5
+ "tags": ["data", "sonification", "audio", "visualization"],
6
+ "difficulty": "intermediate",
7
+ "td_version_min": "2022",
8
+ "nodes": [
9
+ { "name": "data", "type": "tableDAT", "comment": "Source data (rows of numbers)" },
10
+ { "name": "datto", "type": "dattoCHOP", "comment": "Data table → channels" },
11
+ { "name": "smooth", "type": "filterCHOP", "parameters": { "width": 0.2 } },
12
+ { "name": "osc", "type": "audiooscillatorCHOP", "comment": "Maps a channel to pitch" },
13
+ { "name": "audioout", "type": "audiodeviceoutCHOP" },
14
+ { "name": "viz", "type": "choptoTOP", "comment": "Channels as a texture" },
15
+ { "name": "out1", "type": "nullTOP" }
16
+ ],
17
+ "connections": [
18
+ { "from": "data", "to": "datto" },
19
+ { "from": "datto", "to": "smooth" },
20
+ { "from": "smooth", "to": "osc" },
21
+ { "from": "osc", "to": "audioout" },
22
+ { "from": "smooth", "to": "viz" },
23
+ { "from": "viz", "to": "out1" }
24
+ ],
25
+ "parameters": [
26
+ {
27
+ "name": "smoothing",
28
+ "node": "smooth",
29
+ "param": "width",
30
+ "value": 0.2,
31
+ "min": 0,
32
+ "max": 1,
33
+ "label": "Smoothing"
34
+ }
35
+ ],
36
+ "preview_description": "A shifting band of colors tracking the data, accompanied by an evolving tone."
37
+ }
@@ -0,0 +1,73 @@
1
+ {
2
+ "id": "feedback_tunnel",
3
+ "name": "Feedback Tunnel",
4
+ "description": "A hypnotic tunnel created by feeding a transformed, blurred frame back into itself over a noise seed.",
5
+ "tags": ["feedback", "generative", "tunnel", "abstract", "noise"],
6
+ "difficulty": "beginner",
7
+ "td_version_min": "2022",
8
+ "nodes": [
9
+ {
10
+ "name": "noise1",
11
+ "type": "noiseTOP",
12
+ "parameters": { "period": 3, "monochrome": 1 },
13
+ "comment": "Seed texture that feeds the loop"
14
+ },
15
+ { "name": "feedback1", "type": "feedbackTOP", "comment": "Holds the previous frame" },
16
+ {
17
+ "name": "comp1",
18
+ "type": "compositeTOP",
19
+ "comment": "Combines the seed with the fed-back frame (default Over)"
20
+ },
21
+ {
22
+ "name": "transform1",
23
+ "type": "transformTOP",
24
+ "parameters": { "scalex": 1.03, "scaley": 1.03, "rotate": 1.5 },
25
+ "comment": "Zoom + rotate each frame to create the tunnel motion"
26
+ },
27
+ { "name": "blur1", "type": "blurTOP", "parameters": { "size": 2 } },
28
+ {
29
+ "name": "level1",
30
+ "type": "levelTOP",
31
+ "parameters": { "gain": 0.96 },
32
+ "comment": "Decay / feedback gain"
33
+ },
34
+ { "name": "out1", "type": "nullTOP", "comment": "Output of the system" }
35
+ ],
36
+ "connections": [
37
+ { "from": "noise1", "to": "feedback1" },
38
+ { "from": "noise1", "to": "comp1", "to_input": 0 },
39
+ { "from": "feedback1", "to": "comp1", "to_input": 1 },
40
+ { "from": "comp1", "to": "transform1" },
41
+ { "from": "transform1", "to": "blur1" },
42
+ { "from": "blur1", "to": "level1" },
43
+ { "from": "level1", "to": "out1" }
44
+ ],
45
+ "parameters": [
46
+ {
47
+ "name": "feedback_target",
48
+ "node": "feedback1",
49
+ "param": "top",
50
+ "value": "level1",
51
+ "description": "feedbackTOP samples the loop output (level1). Value resolves to the created node path."
52
+ },
53
+ {
54
+ "name": "feedback_gain",
55
+ "node": "level1",
56
+ "param": "gain",
57
+ "value": 0.96,
58
+ "min": 0,
59
+ "max": 1,
60
+ "label": "Feedback Gain"
61
+ },
62
+ {
63
+ "name": "zoom",
64
+ "node": "transform1",
65
+ "param": "scalex",
66
+ "value": 1.03,
67
+ "min": 1,
68
+ "max": 1.2,
69
+ "label": "Tunnel Zoom"
70
+ }
71
+ ],
72
+ "preview_description": "An endless rotating tunnel of evolving colored noise that folds into its own center."
73
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "id": "kinect_silhouette",
3
+ "name": "Kinect Silhouette",
4
+ "description": "Uses a Kinect Azure depth feed to isolate a body silhouette and drive a glowing outline. Requires Kinect Azure hardware.",
5
+ "tags": ["kinect", "depth", "interactive", "installation"],
6
+ "difficulty": "advanced",
7
+ "td_version_min": "2022",
8
+ "nodes": [
9
+ {
10
+ "name": "kinect",
11
+ "type": "kinectazureTOP",
12
+ "comment": "Depth / player index (requires hardware)"
13
+ },
14
+ {
15
+ "name": "threshold",
16
+ "type": "thresholdTOP",
17
+ "parameters": { "threshold": 0.5 },
18
+ "comment": "Isolate the body from the background"
19
+ },
20
+ { "name": "edge", "type": "edgeTOP", "comment": "Silhouette outline" },
21
+ { "name": "glow", "type": "blurTOP", "parameters": { "size": 6 } },
22
+ { "name": "comp1", "type": "compositeTOP", "comment": "Combine outline + glow" },
23
+ { "name": "out1", "type": "nullTOP" }
24
+ ],
25
+ "connections": [
26
+ { "from": "kinect", "to": "threshold" },
27
+ { "from": "threshold", "to": "edge" },
28
+ { "from": "edge", "to": "comp1", "to_input": 0 },
29
+ { "from": "edge", "to": "glow" },
30
+ { "from": "glow", "to": "comp1", "to_input": 1 },
31
+ { "from": "comp1", "to": "out1" }
32
+ ],
33
+ "parameters": [
34
+ {
35
+ "name": "depth_threshold",
36
+ "node": "threshold",
37
+ "param": "threshold",
38
+ "value": 0.5,
39
+ "min": 0,
40
+ "max": 1,
41
+ "label": "Depth Threshold"
42
+ }
43
+ ],
44
+ "preview_description": "A glowing neon outline of a person moving in front of the sensor against a black background."
45
+ }