When you shorten the length of a comp, make it NOT trim the ends of layers to the new comp length!!!
When you shorten the length of a comp, it trims the length of any image, text or solid layer to the length of the comp. This causes problems in many cases. For example if you want to time remap and loopOut() a precomp which was trimmed in this way then you have to go in and manually extend the last frame beyond the end of the precomp, otherwise you get a blank frame in the loop!
Say I have an image layer 10 seconds long. I change the comp to 1 second duration. It trims the layer to 1 second long, rather than just leaving it as a 10 second long layer which extends beyond the end of the 1-second comp duration. But if I did the same thing with a comp containing a movie file, the movie would simply extend beyond the end of the timeline without being trimmed. Likewise if I manually set an image duration to 10 sec it can happily extend beyond the end of the comp, so it doesn't seem like there's any technical reason it shouldn't retain the duration.
Even more nonsensically, layers which, after the comp is shortened, end up completely beyond the end of the timeline get truncated to some weird impossible zero-frames length!? (is it trying to give the duration a negative number and getting clamped to zero?)
Where did I tell AE to simply throw away all info about my layers's durations just because they are temporarily beyond the end of the comp? 😄 If I need to slide layers forward into the start of the comp, they have all been truncated and the work of setting them to the durations I actually need is lost.
Seems completely absurd that it's always been like this. Of course there are workarounds which I know about and use, but removing this behaviour or making it optional in prefs would be a massive improvement and save me a lot of time. I can set the duration of an image in various ways for various purposes and once I do this, I'd definitely prefer AE not to arbitrarily chop the end off it, something I can't even think of a use case for.
(Post edited a bit: hopefully clearer and sounding a little less exasperated 🙂 )
