Ember: Bảng màu sống sót qua Redshift và Night Shift
Ember là một dự án mã nguồn mở mới thiết kế các bảng màu cho terminal, biểu đồ và giao diện người dùng để giữ được sự phân biệt dưới các bộ lọc màn hình ấm như Redshift và Night Shift. Nó cung cấp bốn bảng màu được điều chỉnh cho các nhiệt độ màu khác nhau, với các bản xuất cho Alacritty, iTerm2, Windows Terminal, Matplotlib, CSS và JSON.

Nếu bạn lập trình vào ban đêm với Redshift hoặc Night Shift được bật, bạn biết nỗi đau đó: các màu trông khác biệt vào ban ngày trở nên mờ và khó phân biệt dưới bộ lọc ấm. Ember, một dự án mã nguồn mở mới, giải quyết vấn đề này trực diện bằng cách thiết kế các bảng màu vẫn dùng được trước và sau khi lọc màn hình ấm mạnh.
Hiểu biết cốt lõi của Ember là bộ lọc ấm không chỉ là một lớp phủ màu—nó nhân các kênh đỏ, lục và lam với các hệ số khác nhau. Ở nhiệt độ cực đoan như 1200K, kênh lam thực tế bằng không, vì vậy các màu chỉ khác nhau ở kênh lam sẽ sụp đổ thành cùng một đầu ra. Ember mô hình hóa các hệ số kênh này và tạo ra các bảng màu tối đa hóa độ phân biệt cảm nhận dưới bộ lọc mục tiêu, sau đó tinh chỉnh các kênh còn lại cho việc sử dụng ban ngày.
Dự án cung cấp bốn bảng màu: 3400k-dark, 3400k-light, 2000k-dark và 1200k-dark. Các biến thể 3400K dành cho mục đích chung, xấp xỉ hiệu ứng Night Shift tối đa của MacBook. Các hồ sơ sâu hơn dành cho những người đam mê redshift thực thụ và các nhà thiên văn. Khi bộ lọc trở nên cực đoan hơn, số lượng màu phân biệt giảm—từ sáu loại ở 3400K xuống còn ba loại ở 1200K—vì không gian màu cảm nhận thu hẹp lại.
Mỗi bảng màu được tạo trong sRGB được chỉ định và xác minh dưới các hệ số bộ lọc được mô hình hóa. Các bản xuất bao gồm chủ đề terminal cho Alacritty, iTerm2 và Windows Terminal, cùng với các vai trò bề mặt giao diện (một thang nền và nền trước), màu biểu đồ phân loại, bản đồ tuần tự 256 mẫu và các tạo phẩm Matplotlib/CSS/JSON/Python. Ember không tự áp dụng bộ lọc; nó giả định bạn đã có một bộ lọc đang chạy.
Đối với người dùng terminal, việc nhập chủ đề rất đơn giản: sao chép một tệp vào cấu hình Alacritty của bạn, nhập một preset trong iTerm2 hoặc dán một scheme vào JSON của Windows Terminal. Các vai trò giao diện nhất quán giữa các họ, với bg_0 là canvas và bg_5 là trạng thái nền mạnh nhất. API Matplotlib cung cấp các hàm categorical(), sequential() và surfaces(), với các kiểm tra dung lượng khớp với bảng màu đã chọn.
Ember là một công cụ niche nhưng chu đáo cho bất kỳ ai dành nhiều giờ nhìn chằm chằm vào terminal và bảng điều khiển dưới bộ lọc ấm. Nó trung thực về các đánh đổi: bộ lọc sâu hơn có nghĩa là ít màu phân biệt hơn, và dự án gắn nhãn các khe terminal bí danh thay vì giả vờ chúng là duy nhất. Tài liệu rõ ràng về những gì mô phỏng cho thấy và những gì chúng không cho thấy.
Bộ lọc ấm không phải là một lớp phủ màu: nó nhân đỏ, lục và lam với các hệ số khác nhau. Ở 1200K, hệ số lam bằng không, vì vậy các màu chỉ khác nhau ở kênh lam tạo ra đầu ra giống hệt nhau.
| Bảng màu | Sử dụng khi | Loại phân biệt |
|---|---|---|
| 3400k-dark | Chủ đề ấm đa năng trên nền gần đen | 6 |
| 3400k-light | Dịch chuyển ấm vừa phải trên bề mặt sáng | 6 |
| 2000k-dark | Redshift gần 2000K | 4 |
| 1200k-dark | Hồ sơ căng thẳng cực đoan 1200K | 3 |
Thảo luận
0 bình luận
Hãy là người đầu tiên thảo luận.