Faits: A. T._, sans formation professionnelle, a travaillé en qualité d'aide de cuisine. Le 11 septembre 1997, elle a été victime d'un accident de la circulation qui a entraîné une fracture comminutive ouverte du pilon tibial droit. L'assureur LAA, qui avait pris le cas en charge, a mis fin au versement de ses prestations à compter du 1er avril 2003; la perte de gain imputable aux suites de l'accident a été fixée à 4 % et l'atteinte à l'intégrité à 30 % (cf. arrêt du Tribunal fédéral des assurances du 10 avril 2006, U 12/05). De son côté, l'Office de l'assurance-invalidité du canton de Genève (l'office AI) a alloué une demi-rente d'invalidité à partir du 1er septembre 1998, puis une rente entière à compter du 1er avril 1999, (décisions du 15 juin 1999), laquelle a été maintenue par décision du 16 mai 2002. Dans le cadre de la révision du droit à la rente de l'AI, initiée en 2000, l'office AI a recueilli notamment l'avis du docteur V._, spécialiste en chirurgie orthopédique (rapports des 27 juin et 11 décembre 2001), ainsi que celui du Centre X._ où l'assurée avait suivi un stage d'observation professionnelle du 4 mars au 28 avril 2002 (rapport de synthèse du directeur du Centre X._ du 3 juin 2002). Le docteur V._ a attesté « qu'à l'établi ou dans une usine d'horlogerie, si les pièces sont devant elle et qu'elle n'a pas besoin de trop mobiliser ses épaules, sa capacité de travail devrait être proche de 100 % » (rapport du 11 décembre 2001). De son côté, le directeur du Centre X._ a indiqué que l'assurée avait une capacité résiduelle de travail de 60 % (rendement de 60 % sur un plein temps), dans un emploi simple et léger, en privilégiant la position assise avec une possibilité d'alternance, ce rendement étant exigible après une période d'adaptation (rapport du 3 juin 2002). Par décision du 28 juin 2002, l'office AI a pris en charge un nouveau stage d'observation professionnelle, qui devait se dérouler du 12 août au 12 décembre 2002. Alléguant notamment qu'elle était totalement invalide, l'assurée s'y est opposée et a déféré cette décision à l'ancienne Commission cantonale genevoise de recours en matière d'AVS/AI (aujourd'hui : Tribunal cantonal des assurances sociales de la République et canton de Genève), qui l'a déboutée par jugement du 30 juin 2004. Saisi à son tour, le Tribunal fédéral des assurances a réformé ce jugement en ce sens que le recours cantonal a été déclaré irrecevable (arrêt du 14 novembre 2005, I 508/04). Par décision du 2 septembre 2004, frappée d'opposition, l'office AI a fixé le taux d'invalidité de l'assurée à 41 % et a réduit en conséquence la rente à un quart de rente; il a précisé que cette décision était rendue au regard des conclusions du rapport du COPAI, en raison du refus de l'assurée de se soumettre à la mesure qui avait été ordonnée le 28 juin 2002. Le retrait de l'effet suspensif à l'opposition, prononcé par l'office AI, a été confirmé successivement par le Tribunal cantonal et le Tribunal fédéral des assurances (arrêt du 14 novembre 2005, I 63/05). Par décision du 22 mai 2006, l'office AI a rejeté l'opposition; à cette occasion, il a aussi réformé sa décision du 2 septembre 2004 au détriment de l'assurée en supprimant la rente, après avoir fixé le taux d'invalidité à 36 %. B. T._ a recouru contre cette décision devant le Tribunal cantonal des assurances sociales, en concluant principalement à l'octroi d'une rente entière d'invalidité, subsidiairement au renvoi de la cause à l'office AI pour instruction complémentaire. Le Tribunal cantonal a rejeté le recours par jugement du 16 août 2007. C. T._ interjette un recours en matière de droit public contre ce jugement dont elle demande l'annulation, avec suite de frais et dépens, en reprenant ses conclusions formées en première instance. L'intimé et l'Office fédéral des assurances sociales n'ont pas été invités à se déterminer.