(this is a question I got by email, copying here to continue the discussion).
I cannot see in the cityJSON documentation how material, texture and semantic are assigned to geometry template surfaces. Having these attributes on geometry instance level requires to know internal structure of geometry template and this sounds problematic. Having them on geometry template will link from template to cityJSON.appearance.
Maybe "geometry-templates" object should have own appearances like "vertices-templates"?
Or other solution?
(this is a question I got by email, copying here to continue the discussion).