& state.buffer.length > 0;
            const startX = x + padX;
            ctx.fillStyle = '#dbeafe';
            ctx.fillText(full, startX, y + 1);
            if (typed > 0) {
              const typedStr = full.slice(0, typed);
              ctx.save();
              ctx.beginPath(); ctx.rect(startX - 2, y - fsize/2 - 2, ctx.measureText(typedStr).width + 6, fsize + 6); ctx.clip();
              ctx.fillStyle = '#34d399';
              ctx.fillText(full, startX, y + 1);
              ctx.restore();
     