{
  // The "in-game" name of the level. Should be lower case, with dashes (GOAL symbol name)
  // the name of this file, and the folder this file is in must have the same name.
  "long_name": "test-zone",
  // The file name, should be upper case and 8 characters or less.
  "iso_name": "TESTZONE",
  // The nickname, should be exactly 3 characters
  "nickname": "tsz", // 3 char name, all lowercase
  // Background mesh file.
  // Must have vertex colors. Use the blender cycles renderer, bake, diffuse, uncheck color,
  // and bake to vertex colors. For now, only the first vertex color group is used, so make sure you
  // only have 1.
  "gltf_file": "custom_assets/jak2/levels/test-zone/test-zone2.glb",

  // automatically set wall vs. ground based on angle. Useful if you don't want to assign this yourself
  "automatic_wall_detection": true,
  "automatic_wall_angle": 45.0,

  // if your mesh has triangles with incorrect orientation, set this to make all collision mesh triangles double sided
  // this makes collision 2x slower and bigger, so only use if really needed
  "double_sided_collide": false,

  // available res-lump tag types:
  // integer types: int32, uint32, enum-int32, enum-uint32
  // float types: float, meters (1 meter = 4096.0 units), degrees (65536.0 = 360°)
  // vector types: vector (normal floats), vector4m (meters), vector3m (meters with w set to 1.0), vector-vol (normal floats with w in meters), movie-pos (meters with w in degrees)
  // special types: symbol, type, string, eco-info, cell-info, buzzer-info, water-height
  //
  // examples:
  //
  // adds a float tag 'spring-height' with value of 200 meters (1 meter = 4096.0 units):
  // "spring-height": ["meters", 200.0]
  //
  // adds a degrees tag 'rotoffset':
  // "rotoffset": ["degrees", -45.0]
  //
  // adds a movie-pos tag:
  // "movie-pos": ["movie-pos", [100.22, -25.3, 99.5, 180.0]]
  //
  // adds an enum tag 'options':
  // "options": ["enum-int32", "(fact-options large)"]
  //
  // adds a water-height tag:
  // "water-height": ["water-height", 25.0, 0.5, 2.0, "(water-flags can-swim can-wade)"]
  //
  // adds an eco-info tag:
  // "eco-info": ["eco-info", "(pickup-type health)", 2]
  //
  // adds a 'type' tag (using the "symbol" and "string" lump types works the same way):
  // "spawn-types": ["type", "spyder", "juicer"]

  // The base actor id for your custom level. If you have multiple levels, this should be unique!
  "base_id": 100,

  // All art groups you want to use in your custom level. Will add their models and corresponding textures to the FR3 file.
  // Removed so that the release builds don't have to double-decompile the game
  // "art_groups": ["prsn-torture-ag"],

  // If you have any custom models in the "custom_assets/jak2/models/custom_levels" folder that you want to use in your level, add them to this list.
  // Note: Like with art groups, these should also be added to your level's .gd file.
  "custom_models": ["test-actor"],

  // Any textures you want to include in your custom level.
  // This is mainly useful for textures which are not in the common level files and have no art group associated with them.
  // To get a list of all the textures, you can extract all of the game's textures
  // by setting "save_texture_pngs" to true in the decompiler config.
  // The format is ["tpage-name", "texture-name1", "texture-name2", ...].
  // If you want all textures from a tpage, you can just do ["tpage-name"].
  "textures": [],

  "actors": [
    {
      "trans": [-15.2818, 15.2461, 17.136], // translation
      "etype": "crate", // actor type
      "game_task": 0, // associated game task (for powercells, etc)
      "kill_mask": 0,
      "quat": [0, 0, 0, 1], // quaternion
      "bsphere": [-15.2818, 15.2461, 17.136, 10], // bounding sphere
      "lump": {
        "name": "test-crate",
        "eco-info": ["eco-info", "(pickup-type health)", 2]
      }
    },

    {
      "trans": [-5.463, 17.4553, 1.6169], // translation
      "etype": "eco-yellow", // actor type
      "game_task": "(game-task none)", // associated game task (for powercells, etc)
      "kill_mask": 0,
      "quat": [0, 0, 0, 1], // quaternion
      "bsphere": [-5.463, 17.4553, 1.6169, 10], // bounding sphere
      "lump": {
        "name": "test-eco"
      }
    },

    {
      "trans": [-7.41, 13.5, 28.42], // translation
      "etype": "prsn-torture", // actor type
      "game_task": "(game-task none)", // associated game task (for powercells, etc)
      "quat": [0, 0, 0, 1], // quaternion
      "bsphere": [-7.41, 13.5, 28.42, 10], // bounding sphere
      "lump": {
        "name": "test-torture"
      }
    },

    {
      "trans": [5.41, 3.5, 28.42], // translation
      "etype": "test-actor", // actor type
      "game_task": 0, // associated game task (for powercells, etc)
      "quat": [0, 0, 0, 1], // quaternion
      "bsphere": [5.41, 3.5, 28.42, 10], // bounding sphere
      "lump": {
        "name": "test-actor"
      }
    }
  ]
}
