In previous releases "part_visibility" accepted molang but now that it was removed and placed inside "geometry" as "bone_visibility" it no longer supports molang and only accepts boolean values.
"minecraft:geometry": {
"identifier": "geometry.custom_block",
"bone_visibility": { // does not have Molang support
"gate": true, //"q.block_property('furnace:gate') == 0",
"open_gate": false //"q.block_property('furnace:gate') == 1"
}
} ...
If you try to use a molang value, the block will simply fail and not load into the game.
[Json][error]-block_definitions | C:/Users/Minec/AppData/Local/Packages/Microsoft.MinecraftUWP_8wekyb3d8bbwe/LocalState/games/com.mojang/development_behavior_packs/experimental | blocks/custom_block.json | upgrade blocks/custom_block.json | -> minecraft:block -> components -> minecraft:geometry -> bone_visibility: *invalid value*
I created a world with a custom block with which the player interacting with the block should open a gate, that is, a block state changes from 0 to 1 and the first 3d model is hidden and the second is shown.
To replicate the problem, simply change the boolean values to the commented molang values.
Attachments
Comments 7

Additional context: it is not handled as a versioned change and breaks prior version blocks, as well.
From what I can tell, any block declaring any version that utilizes Molang in at least Components and/or Permutations, (possibly Events, too? I haven't had a chance to check), will not evaluate.
Under bone_visibility (possibly other components?), the block doesn't load and logs error(s).
Under, for ex. a material_instances permutation with Molang utilized to define a condition, the condition doesn't evaluate.
this is so stupid because i bet this doesn't even effect marketplace creators because there making Mojang/Microsoft money, its bad enough that you still can't make blocks with large models.