You have to be careful with the residuals estimated by projection. Your example (without what you call "within residuals," given that there are no replicates within an
id under the same condition) shows this nicely.
With your data and model:
#  40
But there are patterns within those residuals. Each individual has 4 residual values, in pairs of pairs: all 4 have the same absolute values, with 2 positive and 2 negative. For example, for
# 1 2 3 4
# -0.6504411 0.6504411 0.6504411 -0.6504411
That doesn't seem like an appropriate set of data to submit to a Shapiro-Wilk test, even if you think that normality testing isn't essentially useless. A truly normal data set of 40 shouldn't have only 10 unique absolute values.
In Section 10.2 of Venables and Ripley, which discusses these matters, the residuals from projections are only used for a
qqnorm() plot, not for a formal normality test. For a plot of residuals versus fitted, they further recommend using the
studres() from the model itself, at the last stratum. In your model there are only 10 such values, one for each individual:
#  10
The recommended diagnostic plots for your model would be based on:
This page discusses some other issues in evaluating this type of model. Note that your data lead to a singular fit with a 0 estimate for random-intercept variance when modeled with