From 5728d2204bc966de0ce7980403d5559c59e1c683 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?He=CC=84sperus?= Date: Tue, 24 Feb 2026 14:55:14 +0800 Subject: [PATCH] docs: update README and comparison table - Add SynthKernel architecture reference in README and whats-pointeract.md - Expand comparison table in both files, including D3 Drag and D3 Zoom - Improve description in package.json --- README.md | 27 ++++++++++++++------------- docs/en/whats-pointeract.md | 25 +++++++++++++------------ package.json | 2 +- 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index e2b8ff6..c32a62e 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ Pointeract is a tiny JavaScript/TypeScript utility library focusing on one thing - handling user interactions with DOM elements, e.g. multitouch and touchpad. -With the unique strength of versatile typings in TypeScript and its dynamic nature, Pointeract has achieved a highly _modular, extendable and efficient_ architecture. Its core bundle size is only **1KB** minified + gzipped, functionalities come from also byte-sized modules. It's fully **tree-shakable**, the fewer modules you use, the smaller your bundle is. +Powered by [SynthKernel architecture](https://hesprs.github.io/researches/synthkernel), Pointeract has achieved a highly _modular, extensible and efficient_ architecture. Its core bundle size is only **1KB** minified + gzipped, functionalities come from also byte-sized modules. It's fully **tree-shakable**, the fewer modules you use, the smaller your bundle is. ## Advantages @@ -122,25 +122,26 @@ Missing your desired interaction? [Write your own module](https://pointeract.con ## How Pointeract Stands Out? -There're already plenty of interaction libraries out there, most famous ones are `Interact.js` and `Hammer.js`, but Pointeract is different. +There're already plenty of interaction libraries out there, most famous ones are `d3-drag` + `d3-zoom`, `Interact.js` and `Hammer.js`, but Pointeract is different. -| Criteria | Pointeract | [Hammer.js](https://hammerjs.github.io) | [Interact.js](https://interactjs.io) | -| :--------------------------------------------------------------------------------------- | :---------------------------------------------------: | :---------------------------------------------: | :--------------------------------------------------: | -| Written in TypeScript? | ✅ | ❌ | ✅ | -| Tree-shakeable? | ✅ | ❌ | ❌ | -| Total Bundle Size (Minified + Gzipped) | 👑 [3KB](https://bundlejs.com/?q=pointeract%40latest) | [7KB](https://bundlejs.com/?q=hammerjs%402.0.8) | [28KB](https://bundlejs.com/?q=interactjs%401.10.27) | -| Last Updated | 👑 Actively Maintained | 2015 | 2023 | -| Features | Pointer and Wheel Related + Some Utils | Pointer Related | 👑 Pointer and Wheel Related + Comprehensive Utils | -| Robust? (See [Testing](https://pointeract.consensia.cc/development/testing#monkey-test)) | ✅ | ❌ Element Jerks | ❌ Element Ignores the Second Touch | -| Extensible? | ✅ | ❌ | ❌ | +| Criteria | Pointeract | [D3 Drag](https://github.com/d3/d3-drag) + [D3 Zoom](https://github.com/d3/d3-zoom) | [Hammer.js](https://hammerjs.github.io) | [Interact.js](https://interactjs.io) | +| :--------------------------------------------------------------------------------------------- | :---------------------------------------------------: | :---------------------------------------------------------------------------------: | :---------------------------------------------: | :--------------------------------------------------: | +| Written in TypeScript? | ✅ | ❌ | ❌ | ✅ | +| Tree-shakeable? | ✅ | ❌ | ❌ | ❌ | +| Total Bundle Size (Minified + Gzipped) | 👑 [3KB](https://bundlejs.com/?q=pointeract%40latest) | [17KB](https://bundlejs.com/?q=d3-drag%403.0.0%2Cd3-zoom%403.0.0) | [7KB](https://bundlejs.com/?q=hammerjs%402.0.8) | [28KB](https://bundlejs.com/?q=interactjs%401.10.27) | +| Last Updated | 👑 Actively Maintained | 2021 | 2015 | 2023 | +| Versatility | Pointer and Wheel Related + Some Utils | 👑 Pointer and Wheel Related + Ecosystem | Pointer Related | Pointer Related + Comprehensive Utils | +| Support | 👑 Mouse, Mouse Wheel, Touch, and Touchpad | ⚠️ No Touchpad Support | ⚠️ No Touchpad or Mouse Wheel Support | ⚠️ No Touchpad or Mouse Wheel Support | +| Robust (Passes [Monkey Test](https://pointeract.consensia.cc/development/testing#monkey-test)) | ✅ | ✅ | ❌ Element Jerks | ❌ Element Ignores the Second Touch | +| Extensible? | ✅ | ❌ | ❌ | ❌ | ## Get Involved This project welcomes anyone that has ideas to improve it. - [Open a pull request](https://github.com/hesprs/pointeract/compare) for a new module, event standard, documentation update, and so on. -- [Open an issue](https://github.com/hesprs/pointeract/issues/new) if you find a bug. -- [Start a new thread in Discussions](https://github.com/hesprs/pointeract/discussions/new) if you have feature requests or questions, please avoid posting them in Issues. +- [Open an issue](https://github.com/hesprs/pointeract/issues/new) if you find a bug or have a feature request. +- [Start a new thread in Discussions](https://github.com/hesprs/pointeract/discussions/new) if you have feature requests or questions want to discuss. - [Report a vulnerability](https://github.com/hesprs/pointeract/security/advisories/new) if you find one, please do not disclose it publicly. ## Copyright and License diff --git a/docs/en/whats-pointeract.md b/docs/en/whats-pointeract.md index 6640116..9602214 100644 --- a/docs/en/whats-pointeract.md +++ b/docs/en/whats-pointeract.md @@ -2,7 +2,7 @@ Pointeract is a tiny JavaScript/TypeScript utility library focusing on one thing - handling user interactions with DOM elements, e.g. multitouch and touchpad. -With the unique strength of versatile typings in TypeScript and its dynamic nature, Pointeract have achieved a highly _modular, extendable and efficient_ architecture. Its core bundle size is only **1KB** minified + gzipped, functionalities come from also byte-sized modules. It's fully **tree-shakable**, the fewer modules you use, the smaller your bundle is. +Powered by [SynthKernel architecture](https://hesprs.github.io/researches/synthkernel), Pointeract have achieved a highly _modular, extensible and efficient_ architecture. Its core bundle size is only **1KB** minified + gzipped, functionalities come from also byte-sized modules. It's fully **tree-shakable**, the fewer modules you use, the smaller your bundle is. To use it, one only needs to bind a DOM element and load some modules, and it will start monitoring user interactions and dispatch consumable events like `pan` and `zoom`. @@ -29,17 +29,18 @@ Missing your desired interaction? [Write your own module](/development/custom-mo ## How Pointeract Stands Out? -There're already plenty of interaction libraries out there, most famous ones are `Interact.js` and `Hammer.js`, but Pointeract is different. - -| Criteria | Pointeract | [Hammer.js](https://hammerjs.github.io) | [Interact.js](https://interactjs.io) | -| :-------------------------------------------------------- | :---------------------------------------------------: | :---------------------------------------------: | :--------------------------------------------------: | -| Written in TypeScript? | ✅ | ❌ | ✅ | -| Tree-shakeable? | ✅ | ❌ | ❌ | -| Total Bundle Size (Minified + Gzipped) | 👑 [3KB](https://bundlejs.com/?q=pointeract%40latest) | [7KB](https://bundlejs.com/?q=hammerjs%402.0.8) | [28KB](https://bundlejs.com/?q=interactjs%401.10.27) | -| Last Updated | 👑 Actively Maintained | 2015 | 2023 | -| Features | Pointer and Wheel Related + Some Utils | Pointer Related | 👑 Pointer and Wheel Related + Comprehensive Utils | -| Robust? (See [Testing](/development/testing#monkey-test)) | ✅ | ❌ Element Jerks | ❌ Element Ignores the Second Touch | -| Extensible? | ✅ | ❌ | ❌ | +There're already plenty of interaction libraries out there, most famous ones are `d3-drag` + `d3-zoom`, `Interact.js` and `Hammer.js`, but Pointeract is different. + +| Criteria | Pointeract | [D3 Drag](https://github.com/d3/d3-drag) + [D3 Zoom](https://github.com/d3/d3-zoom) | [Hammer.js](https://hammerjs.github.io) | [Interact.js](https://interactjs.io) | +| :--------------------------------------------------------------------------------------------- | :---------------------------------------------------: | :---------------------------------------------------------------------------------: | :---------------------------------------------: | :--------------------------------------------------: | +| Written in TypeScript? | ✅ | ❌ | ❌ | ✅ | +| Tree-shakeable? | ✅ | ❌ | ❌ | ❌ | +| Total Bundle Size (Minified + Gzipped) | 👑 [3KB](https://bundlejs.com/?q=pointeract%40latest) | [17KB](https://bundlejs.com/?q=d3-drag%403.0.0%2Cd3-zoom%403.0.0) | [7KB](https://bundlejs.com/?q=hammerjs%402.0.8) | [28KB](https://bundlejs.com/?q=interactjs%401.10.27) | +| Last Updated | 👑 Actively Maintained | 2021 | 2015 | 2023 | +| Versatility | Pointer and Wheel Related + Some Utils | 👑 Pointer and Wheel Related + Ecosystem | Pointer Related | Pointer Related + Comprehensive Utils | +| Support | 👑 Mouse, Mouse Wheel, Touch, and Touchpad | ⚠️ No Touchpad Support | ⚠️ No Touchpad or Mouse Wheel Support | ⚠️ No Touchpad or Mouse Wheel Support | +| Robust (Passes [Monkey Test](https://pointeract.consensia.cc/development/testing#monkey-test)) | ✅ | ✅ | ❌ Element Jerks | ❌ Element Ignores the Second Touch | +| Extensible? | ✅ | ❌ | ❌ | ❌ | ## License diff --git a/package.json b/package.json index b898e60..c574218 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "pointeract", "version": "1.1.2", - "description": "A 3KB, tree-shakable, TypeScript-native alternative to Hammer.js for robust pan/zoom gestures — runtime-flexible and extensible.", + "description": "A 3KB, tree-shakable, TypeScript-native human interaction library for robust tap/pan/zoom gestures — runtime-flexible and extensible.", "keywords": [ "frontend", "gesture-detection",