{"action":"created","issue":{"url":"https://api.github.com/repos/wiremod/wire/issues/1288","repository_url":"https://api.github.com/repos/wiremod/wire","labels_url":"https://api.github.com/repos/wiremod/wire/issues/1288/labels{/name}","comments_url":"https://api.github.com/repos/wiremod/wire/issues/1288/comments","events_url":"https://api.github.com/repos/wiremod/wire/issues/1288/events","html_url":"https://github.com/wiremod/wire/issues/1288","id":195158942,"number":1288,"title":"⌨ Wire Debugger VGUI","user":{"login":"CaptainPRICE","id":9789070,"avatar_url":"https://avatars.githubusercontent.com/u/9789070?v=3","gravatar_id":"","url":"https://api.github.com/users/CaptainPRICE","html_url":"https://github.com/CaptainPRICE","followers_url":"https://api.github.com/users/CaptainPRICE/followers","following_url":"https://api.github.com/users/CaptainPRICE/following{/other_user}","gists_url":"https://api.github.com/users/CaptainPRICE/gists{/gist_id}","starred_url":"https://api.github.com/users/CaptainPRICE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CaptainPRICE/subscriptions","organizations_url":"https://api.github.com/users/CaptainPRICE/orgs","repos_url":"https://api.github.com/users/CaptainPRICE/repos","events_url":"https://api.github.com/users/CaptainPRICE/events{/privacy}","received_events_url":"https://api.github.com/users/CaptainPRICE/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-12-13T04:35:17Z","updated_at":"2016-12-13T06:50:17Z","closed_at":null,"body":"- [ ] Make a nice VGUI for Debugger.\r\n\r\n(I doubt I am the first one to speak about this, but since I could not find any existing issues about it - now there is.)\r\nThe current design sucks for many reasons. Let me point out a few limitations:\r\n- It is not correctly Y-positioned, so sometimes you will also see free space (i.e. if you have hided toolgun help text). Also, text is always in top-left corner of your screen.\r\n- You need to open spawn menu, search, and get Debugger tool every time you want to add/remove/clear component(s).\r\n- Array, table, ranger and such types are very very limited (or completely not supported); Just a few elements are shown inside array/table (and that is troublesome a lot to all users). Elements from an array/table in a table are never shown.\r\n- Once you run out of screen height, you could switch to horizontal display, but despite that you will still run out of width and height at some point. And then you get mess, full screen covered with text.\r\n- It shows all inputs/outputs of component, always, it does not let you filter anything per component (i.e. only show inputs with specific name and outputs of specific type).\r\n\r\nAnd so on (feel free to continue the list in the comments)...\r\n[Link to STool](https://github.com/wiremod/wire/blob/master/lua/weapons/gmod_tool/stools/wire_debugger.lua). [Link to DebuggerLib](https://github.com/wiremod/wire/blob/master/lua/wire/server/debuggerlib.lua).\r\n(I do have my own compact VGUI for Debugger, but unfortunately it is still not that good mainly because it is unfinished..)\r\n\r\nSo, your comments? Are you frustrated by the current Debugger design?"},"comment":{"url":"https://api.github.com/repos/wiremod/wire/issues/comments/266661020","html_url":"https://github.com/wiremod/wire/issues/1288#issuecomment-266661020","issue_url":"https://api.github.com/repos/wiremod/wire/issues/1288","id":266661020,"user":{"login":"CaptainPRICE","id":9789070,"avatar_url":"https://avatars.githubusercontent.com/u/9789070?v=3","gravatar_id":"","url":"https://api.github.com/users/CaptainPRICE","html_url":"https://github.com/CaptainPRICE","followers_url":"https://api.github.com/users/CaptainPRICE/followers","following_url":"https://api.github.com/users/CaptainPRICE/following{/other_user}","gists_url":"https://api.github.com/users/CaptainPRICE/gists{/gist_id}","starred_url":"https://api.github.com/users/CaptainPRICE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CaptainPRICE/subscriptions","organizations_url":"https://api.github.com/users/CaptainPRICE/orgs","repos_url":"https://api.github.com/users/CaptainPRICE/repos","events_url":"https://api.github.com/users/CaptainPRICE/events{/privacy}","received_events_url":"https://api.github.com/users/CaptainPRICE/received_events","type":"User","site_admin":false},"created_at":"2016-12-13T06:50:17Z","updated_at":"2016-12-13T06:50:17Z","body":"> Those can be fixed without a new gui.\r\n\r\nYou are assuming an easy situation.. No they can't. Note they are in no order.\r\n\r\n> It is not correctly Y-positioned\r\n> ... text is always in top-left corner of your screen.\r\n\r\nThese are actually easy to fix.\r\n\r\n> Use gb-radial or a keybind\r\n\r\nOverhauled radial menu, probably good one. Keybind, nice one.\r\nBut, what about (right-click context menu) properties? :)\r\n\r\n> Use printTable\r\n\r\nprintTable?!\r\nIf run on every tick (or even every ~7 seconds) = Console and chat spammed to death (and possibly tick quota), no thank you. **Debugging is a nightmare with all that prints** (because for one, you lose chat, and two, console is spammed with everything else, model/sound file is missing).\r\nNo such function printTable(ranger, matrix*, gtable, etc)... So, even if you manage it this way, then you still must get rid of those calls later on (at least you should). It becomes such a pain in ass (if you used them in couple of places, and are using normal text editor), realized it or not, but it doubles the development time.\r\nWell, see, this is where VGUI comes and takes the place.\r\n\r\n4? I don't understand your 4th point.\r\n\r\n> Input selection could be added.\r\n\r\nHm? Let me just say it twice.\r\nIt is both, input and output filtering (there are 3-radio options: show inputs only, show outputs only, and show inputs and outputs). Also it should allow to filter by their IO name (e.g. if only \"Active\" input is marked, and no outputs, then only \"Active\" should be sent) and type (e.g. if only \"angle\" type is marked, then it should only send inputs/outputs of type \"angle\").\r\nAgain, this actually requires making VGUI."}}
{"actor":{"display_login":"CaptainPRICE"}}