From cca8518c4009c711ee7ec7cb6178492dcaed4e20 Mon Sep 17 00:00:00 2001 From: Alexander Milevski Date: Wed, 10 Aug 2022 17:39:00 +0200 Subject: [PATCH] Fixed publish script (#6) --- .github/workflows/publish.yml | 6 +++--- README.md | 2 ++ playground/screenshot.png | Bin 0 -> 10316 bytes 3 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 playground/screenshot.png diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d4caba8..22cd892 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,10 +8,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 - - uses: actions/setup-node@v1 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: - node-version: 12 + node-version: 16 - run: npm ci - run: npm run build - run: npm test diff --git a/README.md b/README.md index 5126657..2466c06 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # `segment-intersection` +![Screenshot](playground/screenshot.png) + Fast segment 2D intersection, that includes edge cases, such as segments touching points, or one segment being on top of the other. ## API diff --git a/playground/screenshot.png b/playground/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..bc3dd4551da542d7aadfd2c6bc1f7b7656067aad GIT binary patch literal 10316 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 GA^!(@d#w}z literal 0 HcmV?d00001