depend on next-tick
add transition hook
use transition hook in tile rendering