This page is a WIP. There is likely to be incomplete and or missing information while the page is being built.
The DSON Importer for Poser adds the ability to easily load content in the DSON file format, to Poser 9/Pro 2012 with Service Release 3 (or later) installed. For the end user, interaction with DSON based content is intended to be nearly identical to that of native Poser content, except where additional functionality is provided by the add-on (i.e. SubDivision, Geo-Grafting, Smart Polygon Hiding, UV swapping, etc).
Content that has been built for compatibility with the DSON Importer makes use of what are referred to as “Companion Files” in order to provide a seamless experience to the end user - whereby the user browses for and loads DSON based content directly within the Poser Library, just as they do for native Poser content. To achieve this seamless experience, a fairly sparse Poser format file bearing one of the native file extensions (i.e. CR2, PP2, PZ2, etc), is placed at a content creator defined path within a mapped runtime library. A PNG image file, named identically to the native file, is placed next to the native file and serves as the icon that the user sees within the Poser Library for that asset. A PoserPython script (i.e. PY) file, referenced by the native file, is named identically to the native file and placed next to it within the library. Lastly, a [copy of the] DSON User File (i.e. DUF), named identically to the native file, is likewise placed next to the native file in the library.
With the DSON Importer installed, when the user causes the native companion file to load in Poser, a runPythonScript statement within the file causes a referenced PoserPython script to be executed. The PoserPython script loads the DSON Importer module and passes its own absolute path to a function of that module. Said function then replaces the script’s file extension with the DUF file extension and subsequently begins the loading routine on that file. The loading routine does various things based on the type of content that is being loaded.
Because the DSON loading routine can cause files to be generated (i.e. caching for faster load of dynamic data, “function call by file” due to limitations/issues in the PoserPython API, optimization of file based assets to reduce disk space consumption, etc), the user must ensure that a writable runtime library is mapped in Poser. If the user does not have a writable runtime library mapped, when they attempt to load an asset that requires that ability (i.e. a Scene, Scene Subset, Character Preset, Wearables Preset, etc.) the user will be alerted to that fact and the asset will fail to load.
DSON Importer compatible products delivered by DAZ 3D are provided as two (or more) separate sets of downloadable files; the core DSON format files and the Companion Files that are described above. For products that also provide Poser native versions of their respective assets, or versions of assets that are compatible with earlier versions of DAZ Studio, a “legacy” download is also provided.