How to replace the existing model by a new model in a scene

Do I remove the asset from GLCADPAss and then create a new asset with the new model and add it to the GLCADPAss?

or is there a better way?

The way the engine works, is very very similar to how the browser renders the DOM. You build a DOM tree, adding various types of nodes, and the browser renders it. The DOM is a simple tree much like our scene tree.

You can read more about the DOM analogy here.

https://docs.zea.live/zea-engine/#/arch-overview?id=dom-analogy

So you should never need to directly manipulate the renderer or any of the passes. Instead, by simply adding to the tree, and removing items from the tree, the renderer will automatically updated.

e.g.

scene.getRoot().addChild(asset)

Simply removing the item from the tree, the CADPass will see it being removed, and clean up.

scene.getRoot().removeChildByHandle(asset)

Here are the docs for that particular function:
https://docs.zea.live/zea-engine/#/api/SceneTree/TreeItem?id=removechildbyhandle