I've been extending John's debugger prototype to support DAP, the debug protocol supported by VS Code and other IDEs. There's an animated gif of what the VS Code interaction looks like, where only the current schema element and data position are relayed, at [1].
Now that we've made these first steps, we wanted the community's advice and opinion about where the related code should live. Here is our initial proposal: * The VS Code extension would live in a separate repository, `daffodil-vscode`. This is a common pattern with other extensions, and would allow the extension to be released independently of daffodil itself. However, I'm not sure what "organization" this would live under; this situation is similar to auxiliary Daffodil repos like https://github.com/DFDLSchemas. * The Daffodil `Debugger` to DAP code *could* exist as a sub-module of the main Daffodil project, say, `daffodil-dap`. We expect a lot of churn for this code as we translate more and more of the Daffodil parsing state into the DAP domain. There are a few new dependencies, like the java-debug project that handles the DAP protocol, and helper code like cats and fs2 (for streaming). That's the basics. We'd love to know if this fits or if you have some better ideas. .. Adam [1] https://github.com/jw3/example-daffodil-debug/discussions/10