Nucleus Overview ================ Introduction ------------ At the core of Omniverse is a set of fundamental services known as |nuc_long| that allow a variety of Omniverse-enabled client applications ( `Apps <../../../apps/front.html>`_, `Connectors <../../../connectors/front.html>`__, and others) to share and modify authoritative representations of virtual worlds. Ultimately, |nuc_short| sits on a network somewhere, with clients connected to it, sharing the same authoritative state of a virtual world. |nuc| allows live syncing. This is a publish/subscribe model, where multiple Clients connected to it in such a manner that once one of those Clients submits a change (*publishes* it), every other Client (*subscriber*) will immediately receive that change. Data Model ---------- |nuc_short| Core represents assets in a hierarchical, tree-like structure. To an end user it looks just like a faimiliar file tree - with directories and files inside them. Files can be uploaded, downloaded, and moved around; directories created, deleted, and listed. |nuc_short| utilizes a single file tree similar to Unix systems, with a "path" to a file being a forward-slash (:code:`/`) separated string of "nodes": * :code:`/Users/awesome_me/` * :code:`/Users/awesome_me/myfile.usd` ... and so on. Though |nuc_short| itself does not care what kind of files are in there (one can upload anything to |nuc_short| as if it was a fileserver), the most common data formats used across Omniverse are ``USD``, ``MDL``, and similar. .. FIXME 4LATER here there be a description of the data types - USD, MDLs, etc.