I'm working on a mod that expands the amount of things that can be put on display. There are two sets of items I want to have a special model when put on a scroll rack, and only when on a scroll rack: paper utilities (maps, schematics) and bows. I plan to make an unstrung model for all of the vanilla bow types to reduce clipping.
I know that the ItemRolled class switches to the rolled shape when stored in any way - ground storage, antler mounts, and so on. This is not ideal for maps and schematics, as they're visually interesting when mounted to a wall or stored on a table (see below)
After looking through the code for display blocks and rolled items, I've decided that the most feasible way to do this would be changing the way that scroll racks get the mesh for an object, but I'm entirely unfamiliar with both how to write a C# extension and the whole system of model caching.