Definition

A controller does not normally stop after every G1 line. It collects several moves so look-ahead can choose acceleration and corner speed across their junctions, then streams timed steps to the motors. This is why the parser may accept a later command while an earlier move is still physically underway.

Commands that depend on completed motion need synchronization. M400 waits for queued moves to finish; G4 also synchronizes before holding for a time in Marlin. Emergency stop, pause and host-buffer behavior are separate mechanisms with their own safety rules.

What matters in practice

Enables smooth planning

Looking ahead across several segments avoids treating every corner as a full stop.

Parsed is not completed

The last accepted endpoint can be ahead of the current mechanism position.

Use explicit synchronization

Actions that must happen after motion should use the target firmware's queue-wait command.

Example in G-code

Wait before a dependent action

G1 X100 F6000
M400
M114

M400 drains the movement queue before the position report is requested.

What this viewer can show

In this viewer

The viewer evaluates commands in source order and estimates a motion timeline. It recognizes synchronization points but does not emulate serial buffers, firmware task scheduling or real-time host traffic.

Primary sources

This explanation uses firmware documentation and details visible in G-code. Your printer's settings still determine what the machine does.