feat: Allow pentagons and hexagons (#53)

Also update all dependencies.
With this PR, one can process all of Joyce's elements through Book IV.

Reviewed-on: #53
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
This commit is contained in:
Glen Whitney 2023-11-30 23:51:59 +00:00 committed by Glen Whitney
parent 29dfc54646
commit b1e480a4be
3 changed files with 64 additions and 63 deletions

View File

@ -34,13 +34,13 @@
url: 'https://code.studioinfinity.org/glen/archematics.git', url: 'https://code.studioinfinity.org/glen/archematics.git',
}, },
devDependencies: { devDependencies: {
'@danielx/civet': '^0.6.46', '@danielx/civet': '^0.6.52',
'@types/firefox-webext-browser': '^111.0.3', '@types/firefox-webext-browser': '^120.0.0',
'@types/jquery': '^3.5.24', '@types/jquery': '^3.5.29',
'@webcomponents/custom-elements': '^1.6.0', '@webcomponents/custom-elements': '^1.6.0',
'http-server': '^14.1.1', 'http-server': '^14.1.1',
rollup: '^4.1.4', rollup: '^4.6.1',
typescript: '^5.2.2', typescript: '^5.3.2',
'webextension-polyfill': '^0.10.0', 'webextension-polyfill': '^0.10.0',
}, },
dependencies: { dependencies: {

View File

@ -14,14 +14,14 @@ dependencies:
devDependencies: devDependencies:
'@danielx/civet': '@danielx/civet':
specifier: ^0.6.46 specifier: ^0.6.52
version: 0.6.46(typescript@5.2.2) version: 0.6.52(typescript@5.3.2)
'@types/firefox-webext-browser': '@types/firefox-webext-browser':
specifier: ^111.0.3 specifier: ^120.0.0
version: 111.0.3 version: 120.0.0
'@types/jquery': '@types/jquery':
specifier: ^3.5.24 specifier: ^3.5.29
version: 3.5.24 version: 3.5.29
'@webcomponents/custom-elements': '@webcomponents/custom-elements':
specifier: ^1.6.0 specifier: ^1.6.0
version: 1.6.0 version: 1.6.0
@ -29,11 +29,11 @@ devDependencies:
specifier: ^14.1.1 specifier: ^14.1.1
version: 14.1.1 version: 14.1.1
rollup: rollup:
specifier: ^4.1.4 specifier: ^4.6.1
version: 4.1.4 version: 4.6.1
typescript: typescript:
specifier: ^5.2.2 specifier: ^5.3.2
version: 5.2.2 version: 5.3.2
webextension-polyfill: webextension-polyfill:
specifier: ^0.10.0 specifier: ^0.10.0
version: 0.10.0 version: 0.10.0
@ -47,8 +47,8 @@ packages:
'@jridgewell/trace-mapping': 0.3.9 '@jridgewell/trace-mapping': 0.3.9
dev: true dev: true
/@danielx/civet@0.6.46(typescript@5.2.2): /@danielx/civet@0.6.52(typescript@5.3.2):
resolution: {integrity: sha512-8WjtFrnK9TbBg5nVIQWFkFeWvDFBv/jFYYaasjiaT4+Vwr6TpZfbXnB/A4uj1sETagPtdNJPgasVpE1LHdrm6A==} resolution: {integrity: sha512-E+0yog8+vuUBhoYuWRWsn29uyMgCWe6yvJZVc9SQBWtACrpne9+f5GOJhUl5+1UeInlrU6V2nZgyvn0Xpjlo1A==}
engines: {node: '>=19 || ^18.6.0 || ^16.17.0'} engines: {node: '>=19 || ^18.6.0 || ^16.17.0'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -56,7 +56,7 @@ packages:
dependencies: dependencies:
'@cspotcode/source-map-support': 0.8.1 '@cspotcode/source-map-support': 0.8.1
'@typescript/vfs': 1.5.0 '@typescript/vfs': 1.5.0
typescript: 5.2.2 typescript: 5.3.2
unplugin: 1.4.0 unplugin: 1.4.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -78,108 +78,108 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/sourcemap-codec': 1.4.15
dev: true dev: true
/@rollup/rollup-android-arm-eabi@4.1.4: /@rollup/rollup-android-arm-eabi@4.6.1:
resolution: {integrity: sha512-WlzkuFvpKl6CLFdc3V6ESPt7gq5Vrimd2Yv9IzKXdOpgbH4cdDSS1JLiACX8toygihtH5OlxyQzhXOph7Ovlpw==} resolution: {integrity: sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==}
cpu: [arm] cpu: [arm]
os: [android] os: [android]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-android-arm64@4.1.4: /@rollup/rollup-android-arm64@4.6.1:
resolution: {integrity: sha512-D1e+ABe56T9Pq2fD+R3ybe1ylCDzu3tY4Qm2Mj24R9wXNCq35+JbFbOpc2yrroO2/tGhTobmEl2Bm5xfE/n8RA==} resolution: {integrity: sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA==}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-darwin-arm64@4.1.4: /@rollup/rollup-darwin-arm64@4.6.1:
resolution: {integrity: sha512-7vTYrgEiOrjxnjsgdPB+4i7EMxbVp7XXtS+50GJYj695xYTTEMn3HZVEvgtwjOUkAP/Q4HDejm4fIAjLeAfhtg==} resolution: {integrity: sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw==}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-darwin-x64@4.1.4: /@rollup/rollup-darwin-x64@4.6.1:
resolution: {integrity: sha512-eGJVZScKSLZkYjhTAESCtbyTBq9SXeW9+TX36ki5gVhDqJtnQ5k0f9F44jNK5RhAMgIj0Ht9+n6HAgH0gUUyWQ==} resolution: {integrity: sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg==}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-linux-arm-gnueabihf@4.1.4: /@rollup/rollup-linux-arm-gnueabihf@4.6.1:
resolution: {integrity: sha512-HnigYSEg2hOdX1meROecbk++z1nVJDpEofw9V2oWKqOWzTJlJf1UXVbDE6Hg30CapJxZu5ga4fdAQc/gODDkKg==} resolution: {integrity: sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ==}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-linux-arm64-gnu@4.1.4: /@rollup/rollup-linux-arm64-gnu@4.6.1:
resolution: {integrity: sha512-TzJ+N2EoTLWkaClV2CUhBlj6ljXofaYzF/R9HXqQ3JCMnCHQZmQnbnZllw7yTDp0OG5whP4gIPozR4QiX+00MQ==} resolution: {integrity: sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-linux-arm64-musl@4.1.4: /@rollup/rollup-linux-arm64-musl@4.6.1:
resolution: {integrity: sha512-aVPmNMdp6Dlo2tWkAduAD/5TL/NT5uor290YvjvFvCv0Q3L7tVdlD8MOGDL+oRSw5XKXKAsDzHhUOPUNPRHVTQ==} resolution: {integrity: sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-linux-x64-gnu@4.1.4: /@rollup/rollup-linux-x64-gnu@4.6.1:
resolution: {integrity: sha512-77Fb79ayiDad0grvVsz4/OB55wJRyw9Ao+GdOBA9XywtHpuq5iRbVyHToGxWquYWlEf6WHFQQnFEttsAzboyKg==} resolution: {integrity: sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-linux-x64-musl@4.1.4: /@rollup/rollup-linux-x64-musl@4.6.1:
resolution: {integrity: sha512-/t6C6niEQTqmQTVTD9TDwUzxG91Mlk69/v0qodIPUnjjB3wR4UA3klg+orR2SU3Ux2Cgf2pWPL9utK80/1ek8g==} resolution: {integrity: sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-win32-arm64-msvc@4.1.4: /@rollup/rollup-win32-arm64-msvc@4.6.1:
resolution: {integrity: sha512-ZY5BHHrOPkMbCuGWFNpJH0t18D2LU6GMYKGaqaWTQ3CQOL57Fem4zE941/Ek5pIsVt70HyDXssVEFQXlITI5Gg==} resolution: {integrity: sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ==}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-win32-ia32-msvc@4.1.4: /@rollup/rollup-win32-ia32-msvc@4.6.1:
resolution: {integrity: sha512-XG2mcRfFrJvYyYaQmvCIvgfkaGinfXrpkBuIbJrTl9SaIQ8HumheWTIwkNz2mktCKwZfXHQNpO7RgXLIGQ7HXA==} resolution: {integrity: sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw==}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-win32-x64-msvc@4.1.4: /@rollup/rollup-win32-x64-msvc@4.6.1:
resolution: {integrity: sha512-ANFqWYPwkhIqPmXw8vm0GpBEHiPpqcm99jiiAp71DbCSqLDhrtr019C5vhD0Bw4My+LmMvciZq6IsWHqQpl2ZQ==} resolution: {integrity: sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A==}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@types/firefox-webext-browser@111.0.3: /@types/firefox-webext-browser@120.0.0:
resolution: {integrity: sha512-yboaUEJfY6AGB1hJIWzRGNa/qQUCC/2CAgBSWkdJ8rml4k0bXIyxlWYLSRTr6jHT29gdHkdHsPVuF5McSNERfw==} resolution: {integrity: sha512-L+tDlwNeq0kQGfAYc2sNfKhRWJz9CNRvlbq9HnLibKUiJ3VTThG8sj7xrJF4CtKpEA9eBAr91Z2nnKIAy+xUJg==}
dev: true dev: true
/@types/jquery@3.5.24: /@types/jquery@3.5.29:
resolution: {integrity: sha512-V/TG69ge5amcr8Ap7vY3SObqKfZlV7ttqcYnNcYnndI77ySIRi05+3GjvfwRtE2qalAC2ySLIL1ker512sI20g==} resolution: {integrity: sha512-oXQQC9X9MOPRrMhPHHOsXqeQDnWeCDT3PelUIg/Oy8FAbzSZtFHRjc7IpbfFVmpLtJ+UOoywpRsuO5Jxjybyeg==}
dependencies: dependencies:
'@types/sizzle': 2.3.3 '@types/sizzle': 2.3.3
dev: true dev: true
@ -544,23 +544,23 @@ packages:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
dev: true dev: true
/rollup@4.1.4: /rollup@4.6.1:
resolution: {integrity: sha512-U8Yk1lQRKqCkDBip/pMYT+IKaN7b7UesK3fLSTuHBoBJacCE+oBqo/dfG/gkUdQNNB2OBmRP98cn2C2bkYZkyw==} resolution: {integrity: sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'} engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true hasBin: true
optionalDependencies: optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.1.4 '@rollup/rollup-android-arm-eabi': 4.6.1
'@rollup/rollup-android-arm64': 4.1.4 '@rollup/rollup-android-arm64': 4.6.1
'@rollup/rollup-darwin-arm64': 4.1.4 '@rollup/rollup-darwin-arm64': 4.6.1
'@rollup/rollup-darwin-x64': 4.1.4 '@rollup/rollup-darwin-x64': 4.6.1
'@rollup/rollup-linux-arm-gnueabihf': 4.1.4 '@rollup/rollup-linux-arm-gnueabihf': 4.6.1
'@rollup/rollup-linux-arm64-gnu': 4.1.4 '@rollup/rollup-linux-arm64-gnu': 4.6.1
'@rollup/rollup-linux-arm64-musl': 4.1.4 '@rollup/rollup-linux-arm64-musl': 4.6.1
'@rollup/rollup-linux-x64-gnu': 4.1.4 '@rollup/rollup-linux-x64-gnu': 4.6.1
'@rollup/rollup-linux-x64-musl': 4.1.4 '@rollup/rollup-linux-x64-musl': 4.6.1
'@rollup/rollup-win32-arm64-msvc': 4.1.4 '@rollup/rollup-win32-arm64-msvc': 4.6.1
'@rollup/rollup-win32-ia32-msvc': 4.1.4 '@rollup/rollup-win32-ia32-msvc': 4.6.1
'@rollup/rollup-win32-x64-msvc': 4.1.4 '@rollup/rollup-win32-x64-msvc': 4.6.1
fsevents: 2.3.3 fsevents: 2.3.3
dev: true dev: true
@ -598,8 +598,8 @@ packages:
is-number: 7.0.0 is-number: 7.0.0
dev: true dev: true
/typescript@5.2.2: /typescript@5.3.2:
resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==}
engines: {node: '>=14.17'} engines: {node: '>=14.17'}
hasBin: true hasBin: true
dev: true dev: true

View File

@ -886,7 +886,8 @@ classHandler: Record<JoyceClass, ClassHandler> :=
'point' 'point'
moreParts[0].push newObj moreParts[0].push newObj
api.setVisible newObj, false api.setVisible newObj, false
/triangle|similar|parallelogram|application|quadrilateral|octagon/ ///triangle|similar|parallelogram|application|quadrilateral
octagon|pentagon|hexagon///
unless args.subpoints then return unless args.subpoints then return
pt .= args.subpoints pt .= args.subpoints
if method is 'parallelogram' if method is 'parallelogram'