Multimesh protocol show nothing in ParaView

I am trying to show my simulation in ParaView. I am using the multimesh protocol as my data is organized hierarchically. However, I can’t see anything ParaView. The dataset I received is completely empty.

My conduit node looks like this, which I think its correct

catalyst: 
  channels: 
    garments: 
      type: "multimesh"
      data: 
        Garments_0_Piece_0: 
          coordsets: 
            coords: 
              type: "explicit"
              values: 
                x: []
                y: []
                z: []
          topologies: 
            mesh: 
              type: "unstructured"
              coordset: "coords"
              elements: 
                shape: "polygonal"
                connectivity: []
                sizes: []
                offsets: []
      assembly: 
        Garments: 
          0: 
            Pieces: 
              0: "Garments_0_Piece_0"
  state: 
    timestep: 223
    time: 0.223000273108482
time: 
  timestep: 
    cycle: 223

I have removed the x,y,z, size, offset and connectivity datasets for clarity

However, in ParaView, I dont receive the assembly or the meshes. I just receive an empty PartionedDataSet.

My python script is supersimple, basically does nothing

# script-version: 2.0
# Catalyst state generated using paraview version 5.12.0-RC2
import paraview
paraview.compatibility.major = 5
paraview.compatibility.minor = 12

#### import the simple module from the paraview
from paraview.simple import *
#### disable automatic camera reset on 'Show'
paraview.simple._DisableFirstRenderCameraReset()

# ----------------------------------------------------------------
# setup views used in the visualization
# ----------------------------------------------------------------


# ----------------------------------------------------------------
# setup view layouts
# ----------------------------------------------------------------

# create a new 'STL Reader'
untitledstl = TrivialProducer(registrationName='garments')

# ----------------------------------------------------------------
# restore active source
SetActiveSource(untitledstl)
# ----------------------------------------------------------------

# ------------------------------------------------------------------------------
# Catalyst options
from paraview import catalyst
options = catalyst.Options()
options.GlobalTrigger = 'Time Step'
options.EnableCatalystLive = 1
options.CatalystLiveURL = 'host.docker.internal:22222'
options.CatalystLiveTrigger = 'Time Step'

# ------------------------------------------------------------------------------
if __name__ == '__main__':
    from paraview.simple import SaveExtractsUsingCatalystOptions
    # Code for non in-situ environments; if executing in post-processing
    # i.e. non-Catalyst mode, let's generate extracts using Catalyst options
    SaveExtractsUsingCatalystOptions(options)

Is there something wrong with this setup? I can’t spot anything wrong…

Also, I have terrible performance when I perform live visualization, even if I can’t actually see anything. A simulation example that takes 1s take more than 5 minutes when I have ParaView connected, is this something normal?

At each timestep I am rewriting the whole conduit structure, as the previous one is discarded, not sure if that can make such a big impact.

I was misunderstanding the protocol. I dont need a data node under the mesh one inside the multimesh. Consider this solved