|
1 | | -# Javagar's Project Nexus |
2 | | - |
3 | | -**Current Version**: 2.0 (The Command Center) |
4 | | - |
5 | | -An immersive 3D visualization of project links, designed as a futuristic interface. It features a rotating point cloud of nodes that users can navigate, search, and interact with to preview external projects seamlessly. |
6 | | - |
7 | | ---- |
8 | | - |
9 | | -## Development Report |
10 | | - |
11 | | -### Phase I: The Core Foundation |
12 | | -The project began as a standard 3D visualization experiment. The initial implementation utilized a basic "floating interactive sphere" concept. |
13 | | -- **Architecture**: A pure Vanilla Javascript implementation using HTML5 Canvas for rendering. No heavy 3D libraries (like Three.js) were used; instead, a custom 3D projection engine was written to keep the application lightweight (~15KB). |
14 | | -- **Data-Driven**: The system was designed to be data-agnostic, loading project nodes dynamically from a `links.yaml` file. |
15 | | - |
16 | | -### Phase II: The Audit & Optimization |
17 | | -Upon initial review, several critical deficiencies were identified in the codebase: |
18 | | -1. **Performance**: A busy-wait loop was detected. The animation loop continued running even when the 3D view was hidden, consuming unnecessary CPU cycles. This was patched by implementing state-aware loop cancellation. |
19 | | -2. **Accessibility**: The application lacked basic ARIA labels, making it unusable for screen readers. A comprehensive accessibility pass added semantic roles (`role="img"`, `role="list"`) and keyboard navigation support (J/K keys). |
20 | | - |
21 | | -### Phase III: The Paradigm Shift |
22 | | -The most significant evolution occurred during the UI/UX review. |
23 | | -- **The Problem**: The original floating header overlay blocked the view of the sphere, and the "Glassmorphism" aesthetic deemed outdated. |
24 | | -- **The Pivot**: A "Design Overhaul" was proposed, offering three directions. The **"Command Center"** concept was selected. |
25 | | -- **Implementation**: |
26 | | - - The layout was fundamentally restructured. The floating UI was moved to a fixed **Sidebar (320px)** on the left. |
27 | | - - The structural borders were changed from Gold to a sleek Dark Gray (`#333`) to reduce visual fatigue, reserving Gold for high-value accents. |
28 | | - - The 3D Canvas logic was rewritten to offset the "center of the world" by 320px, ensuring the sphere rotates perfectly in the available negative space, not the center of the viewport. |
29 | | - |
30 | | -### Phase IV: Integration Mechanics |
31 | | -The final hurdle was the "Preview Pane" experience, specifically regarding **Custom Cursors** on external sites. |
32 | | -- **The Glitch**: When opening external projects (like *HackerAndSleeper*) in the iframe preview, their custom cursor logic failed, rendering the cursor invisible. |
33 | | -- **Diagnosis**: It was discovered that: |
34 | | - 1. The `.iframe-loader` overlay was consuming mouse events even when transparent. |
35 | | - 2. Global `user-select: none` rules on the parent page were bleeding into the iframe's internal logic. |
36 | | - 3. The iframe was not receiving focus, leaving the child site in a "suspended" animation state. |
37 | | -- **The Solution**: |
38 | | - - **Pointer Events**: Explicitly set `pointer-events: none` on the loader. |
39 | | - - **Focus Injection**: Implemented logic to force `iframe.contentWindow.focus()` upon load. |
40 | | - - **Style Isolation**: Reverted global interaction locks, applying them only to specific UI parent elements. |
41 | | - |
42 | | ---- |
43 | | - |
44 | | -## Technical Features |
45 | | -- **Custom 3D Engine**: Zero-dependency 3D projection. |
46 | | -- **YAML Data Source**: Easy-to-edit project list. |
47 | | -- **Sidebar Architecture**: Fixed-width sidebar with mathematically unified canvas resizing. |
48 | | -- **Optimized Rendering**: Distance-squared calculations for connection drawing to minimize `Math.sqrt` calls. |
49 | | - |
50 | | -## Quick Start |
51 | | - |
52 | | -1. **Add Projects**: Edit `links.yaml`. |
53 | | - ```yaml |
54 | | - - text: "My Project" |
55 | | - url: "https://mywebsite.com" |
56 | | - ``` |
57 | | -2. **Run**: |
58 | | - ```bash |
59 | | - python -m http.server 8000 |
60 | | - ``` |
| 1 | +# Welcome |
| 2 | + |
| 3 | +Thanks for visiting. |
| 4 | + |
| 5 | +This space is a simple place to explore and enjoy. |
| 6 | +Everything here is meant to be clear and easy to browse. |
| 7 | + |
| 8 | +It will continue to evolve over time. |
| 9 | +Some parts may change, and new things may appear. |
| 10 | + |
| 11 | +The goal is straightforward: |
| 12 | +keep it clean, useful, and pleasant to return to. |
| 13 | + |
| 14 | +Take a look around at your own pace. |
| 15 | +You are welcome any time. |
| 16 | + |
| 17 | +More updates will be added soon. |
| 18 | + |
| 19 | +Have a good day. |
| 20 | + |
| 21 | +Thank you for stopping by. |
0 commit comments