A .tox plugin for TouchDesigner to allow for WakaTime tracking.
A .tox plugin for TouchDesigner to allow for WakaTime tracking.
Iāve expanded upon the features most requested in previous feedback to allow for a better user experience. The plugin is able to initialize the wakatimeCLI correctly and error handling has been improved substantially. The plugin now has a proper display to better understand itās current state (first time touchdesigner helped rather than hampered). Hopefully this tool inspires some more projects in the touchdesigner ecosystem now that tracking is accessible, especially now that the tool has been improved.
š„ cskartikey marked your project as well cooked! As a prize for your nicely cooked project, look out for a bonus prize in the mail :)
Added the errors panel to display when an error is hit and made the readme more actionable. Hopefully the pipeline of the demo gif serves as usage instructions.
Iāve baked in a lot of error handling and messages that the troubleshooting shouldnāt really occur as much as the messages serve as indicators of what needs to be done.
Log in to leave a comment
This update mostly focuses on QoL and the overall feel of the plugin. So the status bar now shows initialization progress and there were tweaks to the wakatime download after v2 release tweaked how the internal/normal config saved cli_version. The wakatime_cli should now properly download and extract on most architectures and removed cases of redownloading the same version of semantic versioning. Internal config is now parsed and appended with the proper versioning and checked with a tuple to verify which version is the latest in semantic versioning.
Goals:
status change [ā]
errors panel []
Log in to leave a comment
Main extension script had been modified to better handle errors and display logic had been added to give the extension a nicer visual and alert the user when the script catches an error. Still you canāt catch what you donāt know so Iāll add some troubleshooting steps and better guides to the repo. Big shoutout to all the feedback Iāve been given as the major pain point seemed to be the tool was under explained and when it didnāt work you were lost. Hopefully the display and modified readme will help to lower that barrier a bit.
One small issue Iāve seen but been unable to recreate is a delay of a couple of minutes before the project is recognized on hackatime, unsure if this is intended behavior and may be a can of beans to open later 
Changelog:
Log in to leave a comment
Created a WakaTime plugin for TouchDesigner. Iāve recently gone into the deep end with this tool and wanted to build something for it. I noticed that the wakatime coverage didnāt really have a good fit for it and decided to make something myself. Because TouchDesigner functions as itās own programming language it seemed fit for something close to the implementations of the VSCode plugin. I relied a lot on the documentation for Wakatime and previous implements such as super godot by Budzio because it had hack clubās stamp of approval. The most challenging portion of this project was finding proper documentation for TouchDesigner. Iāve discovered the platform is not really suitable for direct plugins and most of the documentation is outdated and unmaintained. So many class name and functions are defunct so I ended up having to make custom ones to support it instead.
I hope to allow for greater coverage across environment platforms, happy to make any adjustments to better suit testing/debugging.
Happy Sailingš“āā ļø!
The logic was reviewed and corrected to better fit the logic control as stated in the WakaTime documentation for plugins. It now correctly logs the correct flags and pushes according to the states isWrite flag flow. Iāve kept the python file in even though the .tox component no longer references it to allow for easier version control and editing as well as more direct access to viewable components. This project has collected a lot of dust and Iāve put of really working on it due to a difficult schedule and lacking drive to allow for all system architectures. Now that I have more time on my hands if thereās any bugs or system incompatibilities please leave a comment here or open an issue on the github page so I can readily patch new versions.
One feature Iām already thinking of is adding some visual to the component to spice things up, feel free to put some suggestions into my head mind-control style!
Log in to leave a comment

Created popDialog for prompting api key when missing from config. My plans for next session are going to be balancing how itās displayed a little as currently it appears in the top-right corner which is not the best. The logic for sending heartbeats needs to be tweaked to activate flags on edit actions and write on save. Iāll also check if additional info like os attributes and plugin name are being sent properly.
Log in to leave a comment
Merging hackatime projects, unfortunately still missing time from initially setting up TD but what can you do.
Quite ironic that the best example for the usefulness of this project is itself.![]()
Fixed the path for entity and started the ui components for the input window if missing an api key.
Feat:
Log in to leave a comment
Finally got a heartbeat to be sent so figured Iād need to get logging, I always feel weird writing a devlog before anything works preliminarily.
Almost gave up on this project before this first devlog 
There was EXTREME issues with having the base comp recognize and promote the extension dat. There is a lot of very niche and specific hierarchy that needs to be implemented to have Touchdesigner recognize the functions that is not very well documented. Many hours spent on obscure docs and videos to get a slapstick method going to have the extension called as a module.
Checkpoint commits:
Log in to leave a comment