「Tương lai của định dạng văn bản không phải là CSS」: Kỹ sư Midjourney mở nguồn Pretext

BlockBeatNews

Theo theo dõi của 1M AI News, kỹ sư của Midjourney và tác giả thư viện hoạt hình React react-motion Cheng Lou đã mở mã nguồn Pretext, một thư viện đo lường và định dạng văn bản thuần JavaScript/TypeScript, không phụ thuộc vào thư viện nào. Pretext bỏ qua việc đo lường DOM của trình duyệt (như getBoundingClientRect, offsetHeight), tránh gây ra sự tái bố trí (layout reflow), sử dụng các phép tính thuần túy để tính chiều cao của văn bản và xuống dòng.

Pretext hoạt động theo hai giai đoạn: prepare() đo chiều rộng ký tự một lần bằng API Canvas, layout() dựa trên dữ liệu chiều rộng đã lưu trong bộ nhớ đệm để thực hiện các phép tính thuần túy. Trong bài kiểm tra chuẩn với 500 đoạn văn bản, prepare() mất khoảng 19ms, layout() chỉ cần 0,09ms. Cheng Lou trong bài viết kèm theo đã viết: “Việc nâng cao hiệu suất không phải là tiến bộ dần dần, mà là bước nhảy chất lượng: 0,05ms so với 30ms, không cần tái bố trí lần nào so với năm trăm lần.”

Thư viện hỗ trợ tất cả các ngôn ngữ như Trung, Nhật, Hàn, Ả Rập và các emoji, văn bản hỗn hợp hai chiều, có thể render ra DOM, Canvas, SVG. Các ứng dụng điển hình bao gồm:

  1. Danh sách ảo và loại bỏ che khuất mà không cần đo chiều cao dự đoán
  2. Các bố cục tùy chỉnh do JavaScript điều khiển như dòng chảy mưa (waterfall)
  3. Bubble chat nhiều dòng tự điều chỉnh độ rộng thu nhỏ
  4. Định dạng văn bản xung quanh hình ảnh trong chỉnh sửa và bố cục
Tuyên bố miễn trừ trách nhiệm: Thông tin trên trang này có thể đến từ bên thứ ba và không đại diện cho quan điểm hoặc ý kiến của Gate. Nội dung hiển thị trên trang này chỉ mang tính chất tham khảo và không cấu thành bất kỳ lời khuyên tài chính, đầu tư hoặc pháp lý nào. Gate không đảm bảo tính chính xác hoặc đầy đủ của thông tin và sẽ không chịu trách nhiệm cho bất kỳ tổn thất nào phát sinh từ việc sử dụng thông tin này. Đầu tư vào tài sản ảo tiềm ẩn rủi ro cao và chịu biến động giá đáng kể. Bạn có thể mất toàn bộ vốn đầu tư. Vui lòng hiểu rõ các rủi ro liên quan và đưa ra quyết định thận trọng dựa trên tình hình tài chính và khả năng chấp nhận rủi ro của riêng bạn. Để biết thêm chi tiết, vui lòng tham khảo Tuyên bố miễn trừ trách nhiệm.
Bình luận
0/400
Không có bình luận