Thank you very much Aditya for looking into this. But I still have the same baseline grid offset problem. Interestingly, when I remove the columns, the text shifts downwards by two lines.
My code:

\definemeasure[xheight][0.1in]

\definemeasure[base][3\measured{xheight}]


% Since all distances are in terms of base units, specify the paper size in those

% terms as well.

\definepapersize[slide][width=26\measured{base},height=20\measured{base}]

\setuppapersize[slide]


\setupinterlinespace[line=\measure{base}]


\setuplayout

[

topspace=2\measured{base},

header=\zeropoint,

headerdistance=\zeropoint,

height=middle, % Space for 20-4=16 lines

footerdistance=\zeropoint,

footer=\zeropoint,

bottomspace=2\measured{base},

%

cutspace=2\measured{base},

leftmargin=\zeropoint,

leftmargindistance=\zeropoint,

width=middle, % space for 26-4=22 col

rightmargindistance=\zeropoint,

rightmargin=\zeropoint,

backspace=2\measured{base}

grid=yes,

]



\showframe

\showgrid


\starttext

\input tufte

\stoptext


I'm attaching the pdf output.


On Fri, May 27, 2022 at 5:00 PM Aditya Mahajan <adityam@umich.edu> wrote:
On Wed, 25 May 2022, Stefan Nedeljkovic via ntg-context wrote:

> Dear list,
>
> My adventures into the world of grids continue. In the linked file
> (slide_grid_overlay.pdf) there are two things I cannot yet achieve:
>
>     1. I want the baseline grid to evenly (vertically) divide the text
> area, but my code produces a smaller height of the first line and an
> additional space at the bottom.

You did not set footerdistance to zero. So, that takes up some space.

>     2. The number of columns is 21.5, that is the first column is 0.5 units
> wide and the rest are 1 unit wide.

I believe that columns has to be an integer. Why do you want fractional columns? Columns are useful because you can say:

\setlayer[name][line=2,column=3]{....}

for absolute positioning of layers. So, you can always use:

\setlayer[name][line=2,column=3,x=0.5\measured{base}]{....}

to move everything to the right by 0.5 units. 

Another option is not to use columns at all, and simply do:

\setlayer[name][line=2,x=3.5\measured{base}]

which will place the layer at 3.5 units from the left edge of the text area.

> Here is what I got right now:

Currently your textwidth is not a multiple of base units. I have tweaked the code below so that it is.

\definemeasure[xheight][0.1in]
\definemeasure[base][3\measured{xheight}]

% Since all distances are in terms of base units, specify the paper size in those
% terms as well.
\definepapersize[slide][width=26\measured{base},height=20\measured{base}]
\setuppapersize[slide]

\setupinterlinespace[line=\measure{base}]

\setuplayout
    [
      topspace=2\measured{base},
      header=\zeropoint,
      headerdistance=\zeropoint,
      height=middle, % Space for 20-4=16 lines
      footerdistance=\zeropoint,
      footer=\zeropoint,
      bottomspace=2\measured{base},
      %
      cutspace=2\measured{base},
      leftmargin=\zeropoint,
      leftmargindistance=\zeropoint,
      width=middle, % space for 26-4=22 col
      rightmargindistance=\zeropoint,
      rightmargin=\zeropoint,
      backspace=2\measured{base},
      %
      columns=22,
      columndistance=1pt,
      %
      grid=yes,
    ]


\showframe
\showgrid

\starttext
\input tufte
\stoptext


Aditya