New comp entity: comp_conveyor
It'd be great if we could have a new entity, comp_conveyor, which works similar to how comp_vactube does: you have a start and an end (and maybe some curves too, though those aren't a priority), and it handles the conveyor animation through a postcompiler custom animation model.
Ideally, it should allow for controlling when the conveyor moves forwards or backwards, as well as stop it. If possible, it'd be great to also be able to change its speed (though, again, not a priority). But crucially, it should let us pick which "block" is used for the conveyor (be it a brush entity or a prop). For decoration purposes, it could also spawn in random segments too (like, for instance, segments with turret parts), in a similar way to how comp_vactube does it.
The reason I think this would be useful is that, currently, we need to either use func_tracktrain or some system involving spawning entities, both of which are imprecise and don't give us control over the conveyor direction. The current conveyor system on BEEmod doesn't work well with repulsion gel and conversion gel, which really limits how and where it can be used.
A custom animation might work well yeah, but I'd need to test how well physics and player movement works with something attached to an animation. For the random segments, that's trickier, ideally we'd want to specify instance filenames or something. This would need to be done in a precompiler to the VMF, not the BSP.
I second this, because func_tracktrain entities seem to desync, possibly by getting blocked, even with the unblockable by player flag [512] set. I've also been thinking of making a conveyor that goes all the way around to the underside in an oval, and I'm dreading handling the track entities for that. If this works out, it'll save me a ton of headache