Row 1
1. [impulse] /scoreboard objectives add timer dummy
Row 2
2. [repeat] /execute as @a at @s unless block ~ ~-.1 ~ #air unless entity @e[tag=path,distance=..1.5] run summon minecraft:armor_stand ~ ~ ~ {Tags:["path"],NoGravity:1,Marker:1,Invisible:1}
3. [chain] /execute as @e[type=minecraft:armor_stand,tag=path] at @s unless entity @e[type=minecraft:block_display,distance=..0.5] run summon minecraft:block_display ~-.125 ~-.05 ~-.125 {transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[.25f,.0625f,.25f]},block_state:{Name:"minecraft:dirt_path"},Tags:["pathBlock"]}
4. [chain] /execute as @e[type=minecraft:armor_stand,tag=path] at @s run scoreboard players add @s timer 1
5. [chain] /execute as @e[type=minecraft:armor_stand,tag=path] at @s if score @s timer matches 200.. run kill @e[type=minecraft:block_display,tag=pathBlock,distance=..0.5,limit=1,sort=nearest]
6. [chain] /execute as @e[type=minecraft:armor_stand,tag=path] at @s if score @s timer matches 200.. run kill @s
7. [chain] /execute as @e[type=minecraft:armor_stand,tag=path] at @s if block ~ ~-.1 ~ #air run kill @e[type=minecraft:block_display,tag=pathBlock,distance=..0.5,limit=1,sort=nearest]
8. [chain] /execute as @e[type=minecraft:armor_stand,tag=path] at @s if block ~ ~-.1 ~ #air run kill @s
9. [chain] /execute as @e[type=minecraft:block_display,tag=pathBlock] at @s unless entity @e[type=minecraft:armor_stand,tag=path,distance=..0.5] run kill @s