Skip to content

Repository files navigation

Rubik Guide 🧩

Một nền tảng mô phỏng và học giải Rubik tương tác, hiệu năng cao. Được xây dựng với Next.js 16.2.2 (App Router)React Three Fiber, ứng dụng này mang lại trải nghiệm tốt cho những người chơi Rubik ở mọi cấp độ.

✨ Tính năng nổi bật

🎮 Trình mô phỏng 3D (Simulator)

  • Rubik: Thao tác xoay khối Rubik 3D mượt mà và chân thực bằng chuột hoặc cảm ứng.
  • Điều khiển bằng cử chỉ: Xoay các mặt một cách trực quan bằng cách kéo trực tiếp các ô nhỏ (cubies).
  • Lịch sử di chuyển: Theo dõi các bước xoay của bạn với nhật ký lịch sử chi tiết.
  • Hệ thống hàng đợi (Queue): Xử lý hàng đợi lệnh, giới hạn thao tác giúp web đỡ giật lag.

📚 Học giải rubik (Learn)

  • Hướng dẫn từng bước: Các bài học toàn diện cho người mới bắt đầu.
  • Theo dõi tiến độ: Thanh tiến trình trực quan giúp bạn nắm bắt lộ trình học tập.
  • Hình ảnh minh họa: Các sơ đồ chất lượng cao và trình xem 3D cho các bước giải.

⏱️ Bộ bấm giờ (Timer)

  • Logic độ chính xác cao: Sử dụng Date.now() để đo thời gian chính xác đến từng miligiây.
  • Tối ưu cho di động: Vùng kích hoạt chạm lớn ở trung tâm, được thiết kế riêng cho việc tập luyện speedcubing chuyên nghiệp.
  • Lưu trữ lịch sử: Tự động lưu lịch sử các lần giải vào localStorage.
  • Thống kê phiên chơi: Theo dõi hiệu suất của bạn theo thời gian.

🚀 Hiệu suất & Tối ưu hóa

  • Tinh chỉnh R3F: Tối ưu hóa để đạt 60FPS ổn định bằng cách sử dụng AdaptiveDprAdaptiveEvents.
  • Tiết kiệm GPU: Giới hạn độ phân giải bóng đổ (shadow) và bỏ qua khung hình cho các thiết bị cấu hình thấp.
  • Không SSR cho 3D: Các thành phần 3D được tải động để đảm bảo tốc độ tải trang ban đầu nhanh nhất.

🛠️ Công nghệ sử dụng

🚀 Cài đặt dự án

Yêu cầu hệ thống

  • Node.js 20 trở lên
  • npm / yarn / pnpm

Cài đặt

  1. Clone repository:

    git clone https://github.com/VuLeCoder/rubik-guide.git
    cd rubik-guide
  2. Cài đặt các gói phụ thuộc:

    npm install
  3. Chạy server:

    npm run dev
  4. Mở http://localhost:3000 trên trình duyệt của bạn.

📁 Cấu trúc dự án

app/
├── components/ │ ├── simulator/ # Logic & component cho khối Rubik 3D
│ ├── learn/ # Hướng dẫn các bước giải
│ ├── about-me/ # Phần giới thiệu bản thân
│ └── Timer.tsx # Logic & giao diện bộ bấm giờ
├── globals.css # Styles toàn cục & Tailwind
├── layout.tsx # Layout gốc
└── page.tsx # Điểm vào chính với điều hướng Tab
public/ # Tài nguyên tĩnh (hình ảnh, icon)

⚙️ Cấu hình

Các hằng số quan trọng cho trình mô phỏng và hiệu suất có thể được tìm thấy trong app/components/simulator/constants.ts:

  • DRAG_SENSITIVITY: Điều chỉnh độ nhạy khi kéo các ô Rubik.
  • LAYER_THRESHOLD: Độ nhạy để xác định lớp nào sẽ xoay.
  • RUBIK_CONFIG.SCENE.SHADOW_FRAMES: Kiểm soát tần suất cập nhật bóng đổ để tối ưu hiệu suất.

Các bước giải và công thức nằm trong app/components/learn/constants.ts

Các thông tin cho tab About Me có thể được thay đổi trong app/components/about-me/constants.ts

About

website hướng dẫn giải rubik

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - VuLeCoder/rubik-guide: website hướng dẫn giải rubik · GitHub
Skip to content

Repository files navigation

Rubik Guide 🧩

Một nền tảng mô phỏng và học giải Rubik tương tác, hiệu năng cao. Được xây dựng với Next.js 16.2.2 (App Router)React Three Fiber, ứng dụng này mang lại trải nghiệm tốt cho những người chơi Rubik ở mọi cấp độ.

✨ Tính năng nổi bật

🎮 Trình mô phỏng 3D (Simulator)

  • Rubik: Thao tác xoay khối Rubik 3D mượt mà và chân thực bằng chuột hoặc cảm ứng.
  • Điều khiển bằng cử chỉ: Xoay các mặt một cách trực quan bằng cách kéo trực tiếp các ô nhỏ (cubies).
  • Lịch sử di chuyển: Theo dõi các bước xoay của bạn với nhật ký lịch sử chi tiết.
  • Hệ thống hàng đợi (Queue): Xử lý hàng đợi lệnh, giới hạn thao tác giúp web đỡ giật lag.

📚 Học giải rubik (Learn)

  • Hướng dẫn từng bước: Các bài học toàn diện cho người mới bắt đầu.
  • Theo dõi tiến độ: Thanh tiến trình trực quan giúp bạn nắm bắt lộ trình học tập.
  • Hình ảnh minh họa: Các sơ đồ chất lượng cao và trình xem 3D cho các bước giải.

⏱️ Bộ bấm giờ (Timer)

  • Logic độ chính xác cao: Sử dụng Date.now() để đo thời gian chính xác đến từng miligiây.
  • Tối ưu cho di động: Vùng kích hoạt chạm lớn ở trung tâm, được thiết kế riêng cho việc tập luyện speedcubing chuyên nghiệp.
  • Lưu trữ lịch sử: Tự động lưu lịch sử các lần giải vào localStorage.
  • Thống kê phiên chơi: Theo dõi hiệu suất của bạn theo thời gian.

🚀 Hiệu suất & Tối ưu hóa

  • Tinh chỉnh R3F: Tối ưu hóa để đạt 60FPS ổn định bằng cách sử dụng AdaptiveDprAdaptiveEvents.
  • Tiết kiệm GPU: Giới hạn độ phân giải bóng đổ (shadow) và bỏ qua khung hình cho các thiết bị cấu hình thấp.
  • Không SSR cho 3D: Các thành phần 3D được tải động để đảm bảo tốc độ tải trang ban đầu nhanh nhất.

🛠️ Công nghệ sử dụng

🚀 Cài đặt dự án

Yêu cầu hệ thống

  • Node.js 20 trở lên
  • npm / yarn / pnpm

Cài đặt

  1. Clone repository:

    git clone https://github.com/VuLeCoder/rubik-guide.git
    cd rubik-guide
  2. Cài đặt các gói phụ thuộc:

    npm install
  3. Chạy server:

    npm run dev
  4. Mở http://localhost:3000 trên trình duyệt của bạn.

📁 Cấu trúc dự án

app/
├── components/ │ ├── simulator/ # Logic & component cho khối Rubik 3D
│ ├── learn/ # Hướng dẫn các bước giải
│ ├── about-me/ # Phần giới thiệu bản thân
│ └── Timer.tsx # Logic & giao diện bộ bấm giờ
├── globals.css # Styles toàn cục & Tailwind
├── layout.tsx # Layout gốc
└── page.tsx # Điểm vào chính với điều hướng Tab
public/ # Tài nguyên tĩnh (hình ảnh, icon)

⚙️ Cấu hình

Các hằng số quan trọng cho trình mô phỏng và hiệu suất có thể được tìm thấy trong app/components/simulator/constants.ts:

  • DRAG_SENSITIVITY: Điều chỉnh độ nhạy khi kéo các ô Rubik.
  • LAYER_THRESHOLD: Độ nhạy để xác định lớp nào sẽ xoay.
  • RUBIK_CONFIG.SCENE.SHADOW_FRAMES: Kiểm soát tần suất cập nhật bóng đổ để tối ưu hiệu suất.

Các bước giải và công thức nằm trong app/components/learn/constants.ts

Các thông tin cho tab About Me có thể được thay đổi trong app/components/about-me/constants.ts

About

website hướng dẫn giải rubik

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - VuLeCoder/rubik-guide: website hướng dẫn giải rubik · GitHub
Skip to content

Repository files navigation

Rubik Guide 🧩

Một nền tảng mô phỏng và học giải Rubik tương tác, hiệu năng cao. Được xây dựng với Next.js 16.2.2 (App Router)React Three Fiber, ứng dụng này mang lại trải nghiệm tốt cho những người chơi Rubik ở mọi cấp độ.

✨ Tính năng nổi bật

🎮 Trình mô phỏng 3D (Simulator)

  • Rubik: Thao tác xoay khối Rubik 3D mượt mà và chân thực bằng chuột hoặc cảm ứng.
  • Điều khiển bằng cử chỉ: Xoay các mặt một cách trực quan bằng cách kéo trực tiếp các ô nhỏ (cubies).
  • Lịch sử di chuyển: Theo dõi các bước xoay của bạn với nhật ký lịch sử chi tiết.
  • Hệ thống hàng đợi (Queue): Xử lý hàng đợi lệnh, giới hạn thao tác giúp web đỡ giật lag.

📚 Học giải rubik (Learn)

  • Hướng dẫn từng bước: Các bài học toàn diện cho người mới bắt đầu.
  • Theo dõi tiến độ: Thanh tiến trình trực quan giúp bạn nắm bắt lộ trình học tập.
  • Hình ảnh minh họa: Các sơ đồ chất lượng cao và trình xem 3D cho các bước giải.

⏱️ Bộ bấm giờ (Timer)

  • Logic độ chính xác cao: Sử dụng Date.now() để đo thời gian chính xác đến từng miligiây.
  • Tối ưu cho di động: Vùng kích hoạt chạm lớn ở trung tâm, được thiết kế riêng cho việc tập luyện speedcubing chuyên nghiệp.
  • Lưu trữ lịch sử: Tự động lưu lịch sử các lần giải vào localStorage.
  • Thống kê phiên chơi: Theo dõi hiệu suất của bạn theo thời gian.

🚀 Hiệu suất & Tối ưu hóa

  • Tinh chỉnh R3F: Tối ưu hóa để đạt 60FPS ổn định bằng cách sử dụng AdaptiveDprAdaptiveEvents.
  • Tiết kiệm GPU: Giới hạn độ phân giải bóng đổ (shadow) và bỏ qua khung hình cho các thiết bị cấu hình thấp.
  • Không SSR cho 3D: Các thành phần 3D được tải động để đảm bảo tốc độ tải trang ban đầu nhanh nhất.

🛠️ Công nghệ sử dụng

🚀 Cài đặt dự án

Yêu cầu hệ thống

  • Node.js 20 trở lên
  • npm / yarn / pnpm

Cài đặt

  1. Clone repository:

    git clone https://github.com/VuLeCoder/rubik-guide.git
    cd rubik-guide
  2. Cài đặt các gói phụ thuộc:

    npm install
  3. Chạy server:

    npm run dev
  4. Mở http://localhost:3000 trên trình duyệt của bạn.

📁 Cấu trúc dự án

app/
├── components/ │ ├── simulator/ # Logic & component cho khối Rubik 3D
│ ├── learn/ # Hướng dẫn các bước giải
│ ├── about-me/ # Phần giới thiệu bản thân
│ └── Timer.tsx # Logic & giao diện bộ bấm giờ
├── globals.css # Styles toàn cục & Tailwind
├── layout.tsx # Layout gốc
└── page.tsx # Điểm vào chính với điều hướng Tab
public/ # Tài nguyên tĩnh (hình ảnh, icon)

⚙️ Cấu hình

Các hằng số quan trọng cho trình mô phỏng và hiệu suất có thể được tìm thấy trong app/components/simulator/constants.ts:

  • DRAG_SENSITIVITY: Điều chỉnh độ nhạy khi kéo các ô Rubik.
  • LAYER_THRESHOLD: Độ nhạy để xác định lớp nào sẽ xoay.
  • RUBIK_CONFIG.SCENE.SHADOW_FRAMES: Kiểm soát tần suất cập nhật bóng đổ để tối ưu hiệu suất.

Các bước giải và công thức nằm trong app/components/learn/constants.ts

Các thông tin cho tab About Me có thể được thay đổi trong app/components/about-me/constants.ts

About

website hướng dẫn giải rubik

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - VuLeCoder/rubik-guide: website hướng dẫn giải rubik · GitHub
Skip to content

Repository files navigation

Rubik Guide 🧩

Một nền tảng mô phỏng và học giải Rubik tương tác, hiệu năng cao. Được xây dựng với Next.js 16.2.2 (App Router)React Three Fiber, ứng dụng này mang lại trải nghiệm tốt cho những người chơi Rubik ở mọi cấp độ.

✨ Tính năng nổi bật

🎮 Trình mô phỏng 3D (Simulator)

  • Rubik: Thao tác xoay khối Rubik 3D mượt mà và chân thực bằng chuột hoặc cảm ứng.
  • Điều khiển bằng cử chỉ: Xoay các mặt một cách trực quan bằng cách kéo trực tiếp các ô nhỏ (cubies).
  • Lịch sử di chuyển: Theo dõi các bước xoay của bạn với nhật ký lịch sử chi tiết.
  • Hệ thống hàng đợi (Queue): Xử lý hàng đợi lệnh, giới hạn thao tác giúp web đỡ giật lag.

📚 Học giải rubik (Learn)

  • Hướng dẫn từng bước: Các bài học toàn diện cho người mới bắt đầu.
  • Theo dõi tiến độ: Thanh tiến trình trực quan giúp bạn nắm bắt lộ trình học tập.
  • Hình ảnh minh họa: Các sơ đồ chất lượng cao và trình xem 3D cho các bước giải.

⏱️ Bộ bấm giờ (Timer)

  • Logic độ chính xác cao: Sử dụng Date.now() để đo thời gian chính xác đến từng miligiây.
  • Tối ưu cho di động: Vùng kích hoạt chạm lớn ở trung tâm, được thiết kế riêng cho việc tập luyện speedcubing chuyên nghiệp.
  • Lưu trữ lịch sử: Tự động lưu lịch sử các lần giải vào localStorage.
  • Thống kê phiên chơi: Theo dõi hiệu suất của bạn theo thời gian.

🚀 Hiệu suất & Tối ưu hóa

  • Tinh chỉnh R3F: Tối ưu hóa để đạt 60FPS ổn định bằng cách sử dụng AdaptiveDprAdaptiveEvents.
  • Tiết kiệm GPU: Giới hạn độ phân giải bóng đổ (shadow) và bỏ qua khung hình cho các thiết bị cấu hình thấp.
  • Không SSR cho 3D: Các thành phần 3D được tải động để đảm bảo tốc độ tải trang ban đầu nhanh nhất.

🛠️ Công nghệ sử dụng

🚀 Cài đặt dự án

Yêu cầu hệ thống

  • Node.js 20 trở lên
  • npm / yarn / pnpm

Cài đặt

  1. Clone repository:

    git clone https://github.com/VuLeCoder/rubik-guide.git
    cd rubik-guide
  2. Cài đặt các gói phụ thuộc:

    npm install
  3. Chạy server:

    npm run dev
  4. Mở http://localhost:3000 trên trình duyệt của bạn.

📁 Cấu trúc dự án

app/
├── components/ │ ├── simulator/ # Logic & component cho khối Rubik 3D
│ ├── learn/ # Hướng dẫn các bước giải
│ ├── about-me/ # Phần giới thiệu bản thân
│ └── Timer.tsx # Logic & giao diện bộ bấm giờ
├── globals.css # Styles toàn cục & Tailwind
├── layout.tsx # Layout gốc
└── page.tsx # Điểm vào chính với điều hướng Tab
public/ # Tài nguyên tĩnh (hình ảnh, icon)

⚙️ Cấu hình

Các hằng số quan trọng cho trình mô phỏng và hiệu suất có thể được tìm thấy trong app/components/simulator/constants.ts:

  • DRAG_SENSITIVITY: Điều chỉnh độ nhạy khi kéo các ô Rubik.
  • LAYER_THRESHOLD: Độ nhạy để xác định lớp nào sẽ xoay.
  • RUBIK_CONFIG.SCENE.SHADOW_FRAMES: Kiểm soát tần suất cập nhật bóng đổ để tối ưu hiệu suất.

Các bước giải và công thức nằm trong app/components/learn/constants.ts

Các thông tin cho tab About Me có thể được thay đổi trong app/components/about-me/constants.ts

About

website hướng dẫn giải rubik

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - VuLeCoder/rubik-guide: website hướng dẫn giải rubik · GitHub
Skip to content

Repository files navigation

Rubik Guide 🧩

Một nền tảng mô phỏng và học giải Rubik tương tác, hiệu năng cao. Được xây dựng với Next.js 16.2.2 (App Router)React Three Fiber, ứng dụng này mang lại trải nghiệm tốt cho những người chơi Rubik ở mọi cấp độ.

✨ Tính năng nổi bật

🎮 Trình mô phỏng 3D (Simulator)

  • Rubik: Thao tác xoay khối Rubik 3D mượt mà và chân thực bằng chuột hoặc cảm ứng.
  • Điều khiển bằng cử chỉ: Xoay các mặt một cách trực quan bằng cách kéo trực tiếp các ô nhỏ (cubies).
  • Lịch sử di chuyển: Theo dõi các bước xoay của bạn với nhật ký lịch sử chi tiết.
  • Hệ thống hàng đợi (Queue): Xử lý hàng đợi lệnh, giới hạn thao tác giúp web đỡ giật lag.

📚 Học giải rubik (Learn)

  • Hướng dẫn từng bước: Các bài học toàn diện cho người mới bắt đầu.
  • Theo dõi tiến độ: Thanh tiến trình trực quan giúp bạn nắm bắt lộ trình học tập.
  • Hình ảnh minh họa: Các sơ đồ chất lượng cao và trình xem 3D cho các bước giải.

⏱️ Bộ bấm giờ (Timer)

  • Logic độ chính xác cao: Sử dụng Date.now() để đo thời gian chính xác đến từng miligiây.
  • Tối ưu cho di động: Vùng kích hoạt chạm lớn ở trung tâm, được thiết kế riêng cho việc tập luyện speedcubing chuyên nghiệp.
  • Lưu trữ lịch sử: Tự động lưu lịch sử các lần giải vào localStorage.
  • Thống kê phiên chơi: Theo dõi hiệu suất của bạn theo thời gian.

🚀 Hiệu suất & Tối ưu hóa

  • Tinh chỉnh R3F: Tối ưu hóa để đạt 60FPS ổn định bằng cách sử dụng AdaptiveDprAdaptiveEvents.
  • Tiết kiệm GPU: Giới hạn độ phân giải bóng đổ (shadow) và bỏ qua khung hình cho các thiết bị cấu hình thấp.
  • Không SSR cho 3D: Các thành phần 3D được tải động để đảm bảo tốc độ tải trang ban đầu nhanh nhất.

🛠️ Công nghệ sử dụng

🚀 Cài đặt dự án

Yêu cầu hệ thống

  • Node.js 20 trở lên
  • npm / yarn / pnpm

Cài đặt

  1. Clone repository:

    git clone https://github.com/VuLeCoder/rubik-guide.git
    cd rubik-guide
  2. Cài đặt các gói phụ thuộc:

    npm install
  3. Chạy server:

    npm run dev
  4. Mở http://localhost:3000 trên trình duyệt của bạn.

📁 Cấu trúc dự án

app/
├── components/ │ ├── simulator/ # Logic & component cho khối Rubik 3D
│ ├── learn/ # Hướng dẫn các bước giải
│ ├── about-me/ # Phần giới thiệu bản thân
│ └── Timer.tsx # Logic & giao diện bộ bấm giờ
├── globals.css # Styles toàn cục & Tailwind
├── layout.tsx # Layout gốc
└── page.tsx # Điểm vào chính với điều hướng Tab
public/ # Tài nguyên tĩnh (hình ảnh, icon)

⚙️ Cấu hình

Các hằng số quan trọng cho trình mô phỏng và hiệu suất có thể được tìm thấy trong app/components/simulator/constants.ts:

  • DRAG_SENSITIVITY: Điều chỉnh độ nhạy khi kéo các ô Rubik.
  • LAYER_THRESHOLD: Độ nhạy để xác định lớp nào sẽ xoay.
  • RUBIK_CONFIG.SCENE.SHADOW_FRAMES: Kiểm soát tần suất cập nhật bóng đổ để tối ưu hiệu suất.

Các bước giải và công thức nằm trong app/components/learn/constants.ts

Các thông tin cho tab About Me có thể được thay đổi trong app/components/about-me/constants.ts

About

website hướng dẫn giải rubik

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - VuLeCoder/rubik-guide: website hướng dẫn giải rubik · GitHub
Skip to content

Repository files navigation

Rubik Guide 🧩

Một nền tảng mô phỏng và học giải Rubik tương tác, hiệu năng cao. Được xây dựng với Next.js 16.2.2 (App Router)React Three Fiber, ứng dụng này mang lại trải nghiệm tốt cho những người chơi Rubik ở mọi cấp độ.

✨ Tính năng nổi bật

🎮 Trình mô phỏng 3D (Simulator)

  • Rubik: Thao tác xoay khối Rubik 3D mượt mà và chân thực bằng chuột hoặc cảm ứng.
  • Điều khiển bằng cử chỉ: Xoay các mặt một cách trực quan bằng cách kéo trực tiếp các ô nhỏ (cubies).
  • Lịch sử di chuyển: Theo dõi các bước xoay của bạn với nhật ký lịch sử chi tiết.
  • Hệ thống hàng đợi (Queue): Xử lý hàng đợi lệnh, giới hạn thao tác giúp web đỡ giật lag.

📚 Học giải rubik (Learn)

  • Hướng dẫn từng bước: Các bài học toàn diện cho người mới bắt đầu.
  • Theo dõi tiến độ: Thanh tiến trình trực quan giúp bạn nắm bắt lộ trình học tập.
  • Hình ảnh minh họa: Các sơ đồ chất lượng cao và trình xem 3D cho các bước giải.

⏱️ Bộ bấm giờ (Timer)

  • Logic độ chính xác cao: Sử dụng Date.now() để đo thời gian chính xác đến từng miligiây.
  • Tối ưu cho di động: Vùng kích hoạt chạm lớn ở trung tâm, được thiết kế riêng cho việc tập luyện speedcubing chuyên nghiệp.
  • Lưu trữ lịch sử: Tự động lưu lịch sử các lần giải vào localStorage.
  • Thống kê phiên chơi: Theo dõi hiệu suất của bạn theo thời gian.

🚀 Hiệu suất & Tối ưu hóa

  • Tinh chỉnh R3F: Tối ưu hóa để đạt 60FPS ổn định bằng cách sử dụng AdaptiveDprAdaptiveEvents.
  • Tiết kiệm GPU: Giới hạn độ phân giải bóng đổ (shadow) và bỏ qua khung hình cho các thiết bị cấu hình thấp.
  • Không SSR cho 3D: Các thành phần 3D được tải động để đảm bảo tốc độ tải trang ban đầu nhanh nhất.

🛠️ Công nghệ sử dụng

🚀 Cài đặt dự án

Yêu cầu hệ thống

  • Node.js 20 trở lên
  • npm / yarn / pnpm

Cài đặt

  1. Clone repository:

    git clone https://github.com/VuLeCoder/rubik-guide.git
    cd rubik-guide
  2. Cài đặt các gói phụ thuộc:

    npm install
  3. Chạy server:

    npm run dev
  4. Mở http://localhost:3000 trên trình duyệt của bạn.

📁 Cấu trúc dự án

app/
├── components/ │ ├── simulator/ # Logic & component cho khối Rubik 3D
│ ├── learn/ # Hướng dẫn các bước giải
│ ├── about-me/ # Phần giới thiệu bản thân
│ └── Timer.tsx # Logic & giao diện bộ bấm giờ
├── globals.css # Styles toàn cục & Tailwind
├── layout.tsx # Layout gốc
└── page.tsx # Điểm vào chính với điều hướng Tab
public/ # Tài nguyên tĩnh (hình ảnh, icon)

⚙️ Cấu hình

Các hằng số quan trọng cho trình mô phỏng và hiệu suất có thể được tìm thấy trong app/components/simulator/constants.ts:

  • DRAG_SENSITIVITY: Điều chỉnh độ nhạy khi kéo các ô Rubik.
  • LAYER_THRESHOLD: Độ nhạy để xác định lớp nào sẽ xoay.
  • RUBIK_CONFIG.SCENE.SHADOW_FRAMES: Kiểm soát tần suất cập nhật bóng đổ để tối ưu hiệu suất.

Các bước giải và công thức nằm trong app/components/learn/constants.ts

Các thông tin cho tab About Me có thể được thay đổi trong app/components/about-me/constants.ts

About

website hướng dẫn giải rubik

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - VuLeCoder/rubik-guide: website hướng dẫn giải rubik · GitHub
Skip to content

Repository files navigation

Rubik Guide 🧩

Một nền tảng mô phỏng và học giải Rubik tương tác, hiệu năng cao. Được xây dựng với Next.js 16.2.2 (App Router)React Three Fiber, ứng dụng này mang lại trải nghiệm tốt cho những người chơi Rubik ở mọi cấp độ.

✨ Tính năng nổi bật

🎮 Trình mô phỏng 3D (Simulator)

  • Rubik: Thao tác xoay khối Rubik 3D mượt mà và chân thực bằng chuột hoặc cảm ứng.
  • Điều khiển bằng cử chỉ: Xoay các mặt một cách trực quan bằng cách kéo trực tiếp các ô nhỏ (cubies).
  • Lịch sử di chuyển: Theo dõi các bước xoay của bạn với nhật ký lịch sử chi tiết.
  • Hệ thống hàng đợi (Queue): Xử lý hàng đợi lệnh, giới hạn thao tác giúp web đỡ giật lag.

📚 Học giải rubik (Learn)

  • Hướng dẫn từng bước: Các bài học toàn diện cho người mới bắt đầu.
  • Theo dõi tiến độ: Thanh tiến trình trực quan giúp bạn nắm bắt lộ trình học tập.
  • Hình ảnh minh họa: Các sơ đồ chất lượng cao và trình xem 3D cho các bước giải.

⏱️ Bộ bấm giờ (Timer)

  • Logic độ chính xác cao: Sử dụng Date.now() để đo thời gian chính xác đến từng miligiây.
  • Tối ưu cho di động: Vùng kích hoạt chạm lớn ở trung tâm, được thiết kế riêng cho việc tập luyện speedcubing chuyên nghiệp.
  • Lưu trữ lịch sử: Tự động lưu lịch sử các lần giải vào localStorage.
  • Thống kê phiên chơi: Theo dõi hiệu suất của bạn theo thời gian.

🚀 Hiệu suất & Tối ưu hóa

  • Tinh chỉnh R3F: Tối ưu hóa để đạt 60FPS ổn định bằng cách sử dụng AdaptiveDprAdaptiveEvents.
  • Tiết kiệm GPU: Giới hạn độ phân giải bóng đổ (shadow) và bỏ qua khung hình cho các thiết bị cấu hình thấp.
  • Không SSR cho 3D: Các thành phần 3D được tải động để đảm bảo tốc độ tải trang ban đầu nhanh nhất.

🛠️ Công nghệ sử dụng

🚀 Cài đặt dự án

Yêu cầu hệ thống

  • Node.js 20 trở lên
  • npm / yarn / pnpm

Cài đặt

  1. Clone repository:

    git clone https://github.com/VuLeCoder/rubik-guide.git
    cd rubik-guide
  2. Cài đặt các gói phụ thuộc:

    npm install
  3. Chạy server:

    npm run dev
  4. Mở http://localhost:3000 trên trình duyệt của bạn.

📁 Cấu trúc dự án

app/
├── components/ │ ├── simulator/ # Logic & component cho khối Rubik 3D
│ ├── learn/ # Hướng dẫn các bước giải
│ ├── about-me/ # Phần giới thiệu bản thân
│ └── Timer.tsx # Logic & giao diện bộ bấm giờ
├── globals.css # Styles toàn cục & Tailwind
├── layout.tsx # Layout gốc
└── page.tsx # Điểm vào chính với điều hướng Tab
public/ # Tài nguyên tĩnh (hình ảnh, icon)

⚙️ Cấu hình

Các hằng số quan trọng cho trình mô phỏng và hiệu suất có thể được tìm thấy trong app/components/simulator/constants.ts:

  • DRAG_SENSITIVITY: Điều chỉnh độ nhạy khi kéo các ô Rubik.
  • LAYER_THRESHOLD: Độ nhạy để xác định lớp nào sẽ xoay.
  • RUBIK_CONFIG.SCENE.SHADOW_FRAMES: Kiểm soát tần suất cập nhật bóng đổ để tối ưu hiệu suất.

Các bước giải và công thức nằm trong app/components/learn/constants.ts

Các thông tin cho tab About Me có thể được thay đổi trong app/components/about-me/constants.ts

About

website hướng dẫn giải rubik

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - VuLeCoder/rubik-guide: website hướng dẫn giải rubik · GitHub
Skip to content

Repository files navigation

Rubik Guide 🧩

Một nền tảng mô phỏng và học giải Rubik tương tác, hiệu năng cao. Được xây dựng với Next.js 16.2.2 (App Router)React Three Fiber, ứng dụng này mang lại trải nghiệm tốt cho những người chơi Rubik ở mọi cấp độ.

✨ Tính năng nổi bật

🎮 Trình mô phỏng 3D (Simulator)

  • Rubik: Thao tác xoay khối Rubik 3D mượt mà và chân thực bằng chuột hoặc cảm ứng.
  • Điều khiển bằng cử chỉ: Xoay các mặt một cách trực quan bằng cách kéo trực tiếp các ô nhỏ (cubies).
  • Lịch sử di chuyển: Theo dõi các bước xoay của bạn với nhật ký lịch sử chi tiết.
  • Hệ thống hàng đợi (Queue): Xử lý hàng đợi lệnh, giới hạn thao tác giúp web đỡ giật lag.

📚 Học giải rubik (Learn)

  • Hướng dẫn từng bước: Các bài học toàn diện cho người mới bắt đầu.
  • Theo dõi tiến độ: Thanh tiến trình trực quan giúp bạn nắm bắt lộ trình học tập.
  • Hình ảnh minh họa: Các sơ đồ chất lượng cao và trình xem 3D cho các bước giải.

⏱️ Bộ bấm giờ (Timer)

  • Logic độ chính xác cao: Sử dụng Date.now() để đo thời gian chính xác đến từng miligiây.
  • Tối ưu cho di động: Vùng kích hoạt chạm lớn ở trung tâm, được thiết kế riêng cho việc tập luyện speedcubing chuyên nghiệp.
  • Lưu trữ lịch sử: Tự động lưu lịch sử các lần giải vào localStorage.
  • Thống kê phiên chơi: Theo dõi hiệu suất của bạn theo thời gian.

🚀 Hiệu suất & Tối ưu hóa

  • Tinh chỉnh R3F: Tối ưu hóa để đạt 60FPS ổn định bằng cách sử dụng AdaptiveDprAdaptiveEvents.
  • Tiết kiệm GPU: Giới hạn độ phân giải bóng đổ (shadow) và bỏ qua khung hình cho các thiết bị cấu hình thấp.
  • Không SSR cho 3D: Các thành phần 3D được tải động để đảm bảo tốc độ tải trang ban đầu nhanh nhất.

🛠️ Công nghệ sử dụng

🚀 Cài đặt dự án

Yêu cầu hệ thống

  • Node.js 20 trở lên
  • npm / yarn / pnpm

Cài đặt

  1. Clone repository:

    git clone https://github.com/VuLeCoder/rubik-guide.git
    cd rubik-guide
  2. Cài đặt các gói phụ thuộc:

    npm install
  3. Chạy server:

    npm run dev
  4. Mở http://localhost:3000 trên trình duyệt của bạn.

📁 Cấu trúc dự án

app/
├── components/ │ ├── simulator/ # Logic & component cho khối Rubik 3D
│ ├── learn/ # Hướng dẫn các bước giải
│ ├── about-me/ # Phần giới thiệu bản thân
│ └── Timer.tsx # Logic & giao diện bộ bấm giờ
├── globals.css # Styles toàn cục & Tailwind
├── layout.tsx # Layout gốc
└── page.tsx # Điểm vào chính với điều hướng Tab
public/ # Tài nguyên tĩnh (hình ảnh, icon)

⚙️ Cấu hình

Các hằng số quan trọng cho trình mô phỏng và hiệu suất có thể được tìm thấy trong app/components/simulator/constants.ts:

  • DRAG_SENSITIVITY: Điều chỉnh độ nhạy khi kéo các ô Rubik.
  • LAYER_THRESHOLD: Độ nhạy để xác định lớp nào sẽ xoay.
  • RUBIK_CONFIG.SCENE.SHADOW_FRAMES: Kiểm soát tần suất cập nhật bóng đổ để tối ưu hiệu suất.

Các bước giải và công thức nằm trong app/components/learn/constants.ts

Các thông tin cho tab About Me có thể được thay đổi trong app/components/about-me/constants.ts

About

website hướng dẫn giải rubik

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages