Skip to content

Commit d5c2b54

Browse files
author
FastJava Team
committed
docs: Add hyperlinks for Java APIs (Robot, Java2D, JNI, WatchService, etc.)
1 parent 3bcb2ee commit d5c2b54

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

MAP.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ FastJava is **minimal, deterministic, zero-bullshit** — built for bots, automa
1212

1313
- **Native Speed**[DirectX](https://learn.microsoft.com/en-us/windows/win32/directx), [Win32](https://learn.microsoft.com/en-us/windows/win32/apiindex/windows-api-list), [DWM](https://learn.microsoft.com/en-us/windows/win32/dwm/dwm-overview), [IOCP](https://learn.microsoft.com/en-us/windows/win32/fileio/i-o-completion-ports), [SIMD](https://en.wikipedia.org/wiki/SIMD), [CUDA](https://developer.nvidia.com/cuda-zone)
1414
- **Zero-Copy Everywhere** — Screen, Images, IPC, GPU
15-
- **Unified JNI Core** — FastCore as foundation
15+
- **Unified [JNI](https://docs.oracle.com/javase/8/docs/technotes/guides/jni/) Core** — FastCore as foundation
1616
- **Agent-Friendly** — FastAI, FastToolBridge, FastContext
1717
- **Modular** — 62 modules, optional, combinable
1818
- **Cross-Platform** — Windows, Linux, macOS (module-dependent)
@@ -56,11 +56,11 @@ FastJava, FastCore, FastPlugin
5656

5757
| Module | Explanation |
5858
|--------|-------------|
59-
| **FastRobot** | Java's Robot class is too slow for game bots. FastRobot uses native [SendInput](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendinput) with batch processing for 1000+ events in one call - sub-millisecond reaction times. |
60-
| **FastScreen** | Screenshots with Java.awt take 50-100ms. FastScreen uses [DXGI Desktop Duplication](https://learn.microsoft.com/en-us/windows/win32/direct3ddxgi/desktop-duplication-api) for 500-2000 FPS zero-copy capture - essential for vision bots. |
61-
| **FastInput** | Read mouse, keyboard, and HID input via [RawInput](https://learn.microsoft.com/en-us/windows/win32/inputdev/raw-input) (non-hooking, non-invasive) for high-frequency input reading. |
59+
| **FastRobot** | Java's [Robot](https://docs.oracle.com/javase/8/docs/api/java/awt/Robot.html) class is too slow for game bots. FastRobot uses native [SendInput](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendinput) with batch processing for 1000+ events in one call - sub-millisecond reaction times. |
60+
| **FastScreen** | Screenshots with [Java.awt](https://docs.oracle.com/javase/8/docs/api/java/awt/package-summary.html) take 50-100ms. FastScreen uses [DXGI Desktop Duplication](https://learn.microsoft.com/en-us/windows/win32/direct3ddxgi/desktop-duplication-api) for 500-2000 FPS zero-copy capture - essential for vision bots. |
61+
| **FastInput** | Read mouse, keyboard, and [HID](https://en.wikipedia.org/wiki/Human_interface_device) input via [RawInput](https://learn.microsoft.com/en-us/windows/win32/inputdev/raw-input) (non-hooking, non-invasive) for high-frequency input reading. |
6262
| **FastInputHook** | Global hook counterpart to FastInput — captures ALL low-level events ([SetWindowsHookEx](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowshookexa)) before they reach any application. |
63-
| **FastVision** | Java2D is too slow for object detection. FastVision uses GPU compute shaders for <10ms template matching and feature extraction. |
63+
| **FastVision** | [Java2D](https://docs.oracle.com/javase/8/docs/technotes/guides/2d/spec/j2d-intro.html) is too slow for object detection. FastVision uses [GPU compute shaders](https://learn.microsoft.com/en-us/windows/win32/direct3d11/compute-shaders) for <10ms [template matching](https://docs.opencv.org/4.x/d4/dc6/tutorial_py_template_matching.html) and [feature extraction](https://en.wikipedia.org/wiki/Feature_extraction). |
6464
| **FastHotkey** | Safe, filtered version — only registered combinations are intercepted, without the invasiveness of global hooks. |
6565
| **FastGamepad** | No native controller support in Java. FastGamepad reads [XInput](https://learn.microsoft.com/en-us/windows/win32/xinput/getting-started-with-xinput)/[DirectInput](https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ee416842(v=vs.85)) for racing/fighting game bots. |
6666
| **FastHumanInput** | Unifies all input sources into a single event stream optimized for AI agents and automation pipelines. |
@@ -76,14 +76,14 @@ FastJava, FastCore, FastPlugin
7676
| **FastWindowEvents** | Java gets no events when windows are moved. FastWindowEvents notifies when the target window changes. |
7777
| **FastSystemMetrics** | Mouse speed and drag threshold are only accessible via [Win32](https://learn.microsoft.com/en-us/windows/win32/apiindex/windows-api-list). Important for human-like bot input. |
7878
| **FastDWM** | VSync and frame latency are important for frame-locked rendering. FastDWM reads [Desktop Window Manager](https://learn.microsoft.com/en-us/windows/win32/dwm/dwm-overview) timing. |
79-
| **FastFileWatch** | Java's WatchService is slow and loses events. FastFileWatch uses [ReadDirectoryChangesW](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-readdirectorychangesw) for immediate notifications. |
79+
| **FastFileWatch** | Java's WatchService is slow and loses events. FastFileWatch uses [ReadDirectoryChangesW](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-readdirectorychangesw) for immediate notifications (vs. slow [Java WatchService](https://docs.oracle.com/javase/8/docs/api/java/nio/file/WatchService.html)). |
8080
| **FastProcessWatch** | Watch process start/stop for trigger bots (e.g., "when game starts, activate bot"). |
8181

8282
### Display & Graphics
8383

8484
| Module | Explanation |
8585
|--------|-------------|
86-
| **FastGraphics** | Java2D is unsuitable for 60+ FPS. FastGraphics uses [DirectX](https://learn.microsoft.com/en-us/windows/win32/directx)/[Vulkan](https://www.vulkan.org/) for GPU rendering without JVM heap. |
86+
| **FastGraphics** | [Java2D](https://docs.oracle.com/javase/8/docs/technotes/guides/2d/spec/j2d-intro.html) is unsuitable for 60+ FPS. FastGraphics uses [DirectX](https://learn.microsoft.com/en-us/windows/win32/directx)/[Vulkan](https://www.vulkan.org/) for GPU rendering without JVM heap. |
8787
| **FastImage** | BufferedImage allocates 200-300MB heap. FastImage uses ByteBuffer off-heap for fast pixel operations. |
8888
| **FastImageView** | JFrame with image is slow. FastImageView renders 1:1 pixels in 200ms startup time for debugging. |
8989
| **FastDisplay** | Displays [framebuffer](https://en.wikipedia.org/wiki/Framebuffer) directly without copy. Foundation for all GPU rendering modules. |
@@ -103,7 +103,7 @@ FastJava, FastCore, FastPlugin
103103

104104
| Module | Explanation |
105105
|--------|-------------|
106-
| **FastAudioCapture** | [WASAPI](https://learn.microsoft.com/en-us/windows/win32/coreaudio/wasapi) instead of Java Sound for <10ms latency. Loopback capture for audio trigger bots. |
106+
| **FastAudioCapture** | [WASAPI](https://learn.microsoft.com/en-us/windows/win32/coreaudio/wasapi) instead of [Java Sound](https://docs.oracle.com/javase/tutorial/sound/). Loopback capture for audio trigger bots. |
107107
| **FastAudio** | Audio output for feedback/voice output. Counterpart to FastAudioCapture. |
108108
| **FastTTS** | Text-to-Speech for voice output. [Piper](https://github.com/rhasspy/piper) (local), [Coqui](https://github.com/coqui-ai/TTS), [ElevenLabs API](https://elevenlabs.io/docs/api-reference), System TTS. For voice bots and accessibility. |
109109
| **FastSTT** | Speech-to-Text for speech recognition. Whisper (local), Vosk, System STT. For voice commands and transcription. |

0 commit comments

Comments
 (0)