A method of grid-aligned inking, comprising: determining, by a processor, grid pattern data associated with a grid pattern of a digital display canvas ; receiving, by the processor, a first inking input signal indicating an interaction with the display canvas at a first point on the display canvas ; selecting, by the processor, a first grid line point on a first grid line of a plurality of grid lines of the grid pattern corresponding to the first point ; receiving, by the processor, a second inking input signal indicating a continuous interaction along the digital display canvas initiating from the first point and ending at a second point on the display canvas ; determining, by the processor, data points and corresponding times from data of the second inking input signal; the method being characterised by , for a data point of the second input: calculating distances between the data point and grid lines of the grid pattern that are near the data point based on the grid pattern data; comparing a slope of the grid lines that are near the data point to a direction of a velocity associated with the data point; and generating a grid line point on a grid line selected based on the closest distance and most closely matching slope of the grid line to the direction of the velocity; and repeating the operations for a next data point of the second input to generate a next grid line point ; and outputting, by the processor, the digital ink line traced along the first grid line and along the selected grid lines between each generated grid line point. determining, by a processor, grid pattern data associated with a grid pattern of a digital display canvas ; receiving, by the processor, a first inking input signal indicating an interaction with the display canvas at a first point on the display canvas ; selecting, by the processor, a first grid line point on a first grid line of a plurality of grid lines of the grid pattern corresponding to the first point ; receiving, by the processor, a second inking input signal indicating a continuous interaction along the digital display canvas initiating from the first point and ending at a second point on the display canvas ; determining, by the processor, data points and corresponding times from data of the second inking input signal; the method being characterised by , for a data point of the second input: calculating distances between the data point and grid lines of the grid pattern that are near the data point based on the grid pattern data; comparing a slope of the grid lines that are near the data point to a direction of a velocity associated with the data point; and generating a grid line point on a grid line selected based on the closest distance and most closely matching slope of the grid line to the direction of the velocity; and calculating distances between the data point and grid lines of the grid pattern that are near the data point based on the grid pattern data; comparing a slope of the grid lines that are near the data point to a direction of a velocity associated with the data point; and generating a grid line point on a grid line selected based on the closest distance and most closely matching slope of the grid line to the direction of the velocity; and repeating the operations for a next data point of the second input to generate a next grid line point ; and outputting, by the processor, the digital ink line traced along the first grid line and along the selected grid lines between each generated grid line point. <EOS>