Drop-in, byte-identical
Test bodies stay exactly as written - visit, type, press, waitFor, assertSee, within, loginAs, "@dusk" selectors. Even the Laravel\Dusk\Browser import keeps working.
A drop-in reimplementation of Laravel Dusk's Browser API on the Playwright engine - swap the base class, keep every test.