Add procedural capsule generation