tiled icon indicating copy to clipboard operation
tiled copied to clipboard

JSON export changed behaviour in 1.11.0

Open smjnab opened this issue 1 year ago • 4 comments

In 1.11.0 when exporting to JSON all properties are included in the export. Previously only those with a modified value would be included. Not sure if this is intended or by mistake. In my case it creates issues as objects have values now that normally would be undefined and get their default values for specific cases.

An easy example would be that I use the layer tint to set the tint of all objects in that layer, unless an object have a value in the gfx class with a color property. This no longer works as all objects in a layer will have a #ffffff value etc.

json_diff JSON diff for export in 1.11.0 compared to old behaviour.

Expected behavior If intended, a feature request instead to have option in export settings for old behaviour.

Specifications:

  • OS: Linux (KDE Neon)
  • Tiled Version: 1.11.0

smjnab avatar Aug 22 '24 07:08 smjnab

Can you confirm that in Edit > Preferences > General, you have 'Resolve object types and properties' off?

dogboydog avatar Aug 22 '24 14:08 dogboydog

This definitely sounds like a side-effect of fixing #3411. Do you actually need types and top-level properties to be resolved but not class members? If not you can disable the export option as @dogboydog suggested.

bjorn avatar Aug 23 '24 07:08 bjorn

Ah, yes the 'Resolve object types and properties' has changed its behaviour. I needed it to be on, as with the old behaviour I would get the top-level stuff.

For example: If turning it off, all predefined objects placed in an object layer now have an empty Class (type in export) field as their value is grey from the default setting.

If this is a difficult fix and I'm the only one that dug this hole for myself, then I can definetly stay with the previous Tiled version. I'm more than 50% into the project so don't need any more features :)

smjnab avatar Aug 23 '24 07:08 smjnab

If this is a difficult fix and I'm the only one that dug this hole for myself, then I can definetly stay with the previous Tiled version. I'm more than 50% into the project so don't need any more features :)

Well, you might not be the only person in this situation. The option to resolve class members could be separated from the existing option, I just hoped this wouldn't be necessary.

bjorn avatar Aug 23 '24 07:08 bjorn