Hey folks, Over the last few years we have been looking into how to adapt DCCs to better suit integration into more modern service-oriented pipelines. As people move towards managed, multi-site/multi-platform data layers, a common topic is how to move away from `fopen` as the be-all and end-all for data access. Having to simulate POSIX filesystem semantics to appease content creation tools usually results in a world of FUSE-related pain[1].
Houdini (for one) has long been pioneering better solutions through things like its File System API[2]. This allows data to be read/written to alternate sources by registering a custom handler for any given URL scheme. In conversation with Robert Vinluan, Edward Lam and Larry Gritz, it surfaced that OpenImageIO already has the IOProxy abstraction[3] which serves a similar purpose. There is no point re-inventing any wheels. We’d like to propose splitting the file abstraction layer out of OIIO into a small, simple, open source API. It would abstract I/O to a common interface/implementation that could be re-used across tools. The OIIO code seemed an ideal starting point as it is already public, and well established/tested within the community. Is this project of interest to anyone else here? Many thanks and best wishes, Tom Cowland Foundry (Also posted on the ASWF #general Slack channel[4]) [1] https://github.com/libfuse/libfuse <https://github.com/libfuse/libfuse> [2] https://www.sidefx.com/docs/hdk/_h_d_k__f_s__overview.html <https://www.sidefx.com/docs/hdk/_h_d_k__f_s__overview.html> [3] https://github.com/OpenImageIO/oiio/blob/master/src/include/OpenImageIO/filesystem.h#L390 <https://github.com/OpenImageIO/oiio/blob/master/src/include/OpenImageIO/filesystem.h#L390> [4] https://academysoftwarefdn.slack.com/archives/CKAH4EU4Q/p1663683607836269 <https://academysoftwarefdn.slack.com/archives/CKAH4EU4Q/p1663683607836269>
_______________________________________________ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org