Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow modules and module groups to be excluded from debug output #160

Open
serin-delaunay opened this issue Jul 31, 2017 · 0 comments
Open
Labels

Comments

@serin-delaunay
Copy link
Collaborator

serin-delaunay commented Jul 31, 2017

Debug tileset output requires a lot of graphics textures simultaneously (one per module per corner), and some graphics cards don't have enough memory for that, which leads to crashes. These crashes could be avoided by allowing users to make debug tilesets for only a subset of the component modules.

I see three ways to do this:

  1. Add fields to the module group JSON schema, specifying which modules should generate debug tilesets. This could be default-on or default-off with a list of exceptions:
{
  "defaultoutputmodule":"OUTPUT",
  "DefaultDebugTilesetGeneration":"true",
  "IncludeDebugTilesets":["OUTPUT"],
  "ExcludeDebugTilesets":["null"],
  "modules":{
    "OUTPUT":{
      "type":"TranslatePoint",
      "Translation":[1.1,2.2,3.3],
      "SourceModule":["null"]
    },
    "null":{
      "type":"Const",
      "ConstValue":0
    }
}
  1. Add a field to all module schemas, specifying whether the module should generate a debug tileset. This would be more robust when changing names in a module group, but may also reduce compatibility with RESTnoise. Modules are already decoded twice (once for source module names by NoiseSourcesCodec, once for individual attributes); this system could be extended to indicate debug modules.
{
  "defaultoutputmodule":"OUTPUT",
  "modules":{
    "OUTPUT":{
      "type":"TranslatePoint",
      "Translation":[1.1,2.2,3.3],
      "SourceModule":["null"],
      "DebugTileset":true
    },
    "null":{
      "type":"Const",
      "ConstValue":0,
      "DebugTileset":false
    }
}
  1. Specify debug modules through the interface. I think this would be far too laborious for the command line interface, but it could be done through a GUI. However, the GUI should probably do this just by editing the options.

I favour option 2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants