3 điểm bởi GN⁺ 2024-10-16 | 1 bình luận | Chia sẻ qua WhatsApp
  • Graphite là một công cụ alpha kết hợp trình chỉnh sửa vector mã nguồn mở miễn phí với engine hoạt hình, cung cấp chỉnh sửa không phá hủy thông qua compositing theo layer và thiết kế sinh dựa trên node
  • Không chỉ là một trình chỉnh sửa vector đơn thuần, Graphite hướng tới trở thành bộ công cụ đồ họa 2D tất cả trong một, trong đó các công cụ chỉnh sửa hướng tới người dùng vận hành trên lõi đồ thị node bên trong
  • Hiện tại đây là một ứng dụng web offline gọn nhẹ tập trung vào chỉnh sửa đồ họa vector theo thủ tục, cung cấp chỉnh sửa vector, layer dựa trên node và quy trình làm việc thủ tục cho thiết kế đồ họa
  • Ứng dụng web có thể dùng ngay, còn các ứng dụng desktop cho Windows, Mac và Linux đang ở giai đoạn release candidate, nên muốn thử nghiệm trước khi phát hành chính thức thì phải truy cập qua kênh Discord
  • Kiến trúc chạy cục bộ và riêng tư trên phần cứng của người dùng mà không cần server; trên web, Graphite nhắm tới độ overhead thấp với WebAssembly và WebGPU

Vị trí hiện tại của Graphite

  • Graphite là một trình chỉnh sửa đồ họa vector mã nguồn mở miễn phí đồng thời là engine hoạt hình, hiện được cung cấp dưới dạng alpha
  • Trọng tâm cốt lõi là chỉnh sửa không phá hủy, kết hợp compositing dựa trên layer với thiết kế sinh dựa trên node
  • Ví dụ công việc bao gồm phép toán boolean không phá hủy, họa tiết chấm bi theo thủ tục, hoạt hình creative coding dựa trên node, và fractal Mandelbrot được tô bằng họa tiết nhiễu
  • Có thể xem bản cập nhật mới nhất trong video May Update - Graphite, the Open Source 2D Graphics Suite

Bộ công cụ đồ họa 2D vượt ra ngoài trình chỉnh sửa vector

  • Graphite khởi đầu là một trình chỉnh sửa vector nhưng đang mở rộng thành một bộ công cụ đồ họa tất cả trong một cho mục đích tổng quát
  • Nó được thiết kế theo cách gần với một game engine hơn là ứng dụng sáng tạo thông thường, và các công cụ chỉnh sửa cung cấp quy trình làm việc thân thiện với người dùng trên lõi đồ thị node
  • Quy trình làm việc mà dự án hướng tới bao quát nhiều lĩnh vực sáng tạo 2D
    • thiết kế đồ họa
    • motion graphics
    • chỉnh sửa ảnh
    • vẽ kỹ thuật số
    • dàn trang và in ấn
    • compositing VFX

Tính năng hiện có và mở rộng sắp tới

  • Các tính năng hiện tại gồm công cụ chỉnh sửa vector, quy trình làm việc thủ tục cho thiết kế đồ họa, layer dựa trên node, và mô hình miễn phí mã nguồn mở
  • Hiện nay Graphite có thể được dùng như một ứng dụng web offline gọn nhẹ tập trung vào chỉnh sửa đồ họa vector theo thủ tục
  • Các tính năng dự kiến sẽ bao gồm mở rộng công cụ cho phạm vi sáng tạo 2D rộng hơn
    • công cụ sáng tạo tất cả trong một cho mọi tác vụ 2D
    • khả năng xử lý raster hoàn chỉnh
    • ứng dụng native cho Windows, Mac, Linux cùng phiên bản web
    • chỉnh sửa cộng tác theo thời gian thực

Ưu tiên web và chuẩn bị phát hành desktop

  • Ứng dụng web hiện đã có thể sử dụng, còn ứng dụng desktop cho Windows, Mac và Linux đang ở giai đoạn release candidate
  • Liên kết tải về để thử nghiệm trước khi phát hành chính thức có trong kênh #🔥announcements trên Discord
  • Dù được thiết kế chủ yếu cho ứng dụng desktop chuyên nghiệp, Graphite vẫn có thể chạy trong trình duyệt để truy cập nhanh hơn
  • Bất kể nền tảng nào, ứng dụng đều chạy cục bộ và riêng tư trên phần cứng của người dùng, không có server
  • Công việc kỹ thuật để phân phối ứng dụng native vẫn cần thêm thời gian, nên nền tảng web trở thành mục tiêu ban đầu để có thể truy cập bản mới nhất trên mọi thiết bị
  • Hiện tại có thể cài đặt dưới dạng PWA để có trải nghiệm gần giống ứng dụng desktop hơn
  • Trên desktop, Graphite nhắm tới hiệu năng native cho các tác vụ nặng về đồ họa; trên web, mục tiêu là độ overhead thấp với WebAssemblyWebGPU

Cách chỉnh sửa theo thủ tục thay đổi quy trình làm việc

  • Graphite định vị mình là một bộ sản phẩm thiết kế đồ họa tổng hợp dựa trên chỉnh sửa theo thủ tục, giúp mọi công việc trở thành không phá hủy
  • Thay vì chỉnh sửa trực tiếp từng phần tử, người dùng có thể lặp lại nhanh bằng cách điều chỉnh tham số node
  • Việc rải các hình tròn có thể được tạo bằng vài node, còn mật độ, kích thước và vùng bố trí có thể thay đổi bằng thanh trượt hoặc chỉnh đường dẫn
  • Có thể trực tiếp thử cách điều chỉnh theo thủ tục này trong demo red-dress
  • Trong chỉnh sửa không phá hủy, các quyết định được gắn với những tham số có thể điều chỉnh về sau, và có thể kéo thanh giá trị để nội suy giữa nhiều trạng thái
  • Có thể thử việc hòa trộn giữa các phối màu hoặc biến đổi hình dạng trước khi rải lên canvas trong demo changing-seasons

Tận dụng đầu ra dựa trên đồ thị node

  • Graphite biểu diễn artwork dưới dạng đồ thị node, cho phép tùy biến, kết hợp, tự động hóa, tái sử dụng và chia sẻ quy trình làm việc với nội dung
  • Có thể làm việc mà không bị vỡ pixel ngay cả khi pan/zoom vô hạn, và xuất ra ở độ phân giải tùy ý
  • Trong tương lai dự kiến sẽ có khả năng biên dịch các chương trình độc lập thực thi từ hệ thống node
  • Kế hoạch tương lai cũng bao gồm khả năng triển khai pipeline tài sản vào môi trường sản xuất của studio

Tài liệu học tập và cộng đồng

1 bình luận

 
GN⁺ 2024-10-16
Các ý kiến trên Hacker News
  • Các bài liên quan gồm những bài sau. Còn bài nào khác không?
    [Open source Rust graphics editor] Graphite progress report (Q2 2024) - https://news.ycombinator.com/item?id=41138691 - tháng 8 năm 2024
    Graphite 2D graphics editor built in Rust: Looking back on 2023 and what's next - https://news.ycombinator.com/item?id=38855850 - tháng 1 năm 2024
    Graphite: 2D Raster and Vector Editor - https://news.ycombinator.com/item?id=38169500 - tháng 11 năm 2023
    Graphite: Open-source raster and vector 2D graphics editor - https://news.ycombinator.com/item?id=36901406 - tháng 7 năm 2023
    Graphite – open-source raster and vector 2D graphics editor written in Rust - https://news.ycombinator.com/item?id=30675530 - tháng 3 năm 2022

  • Tuyệt vời. Tôi thích Inkscape, nhưng công cụ này trông cũng quá hay
    Thấy công cụ được làm dưới dạng ứng dụng web khiến tôi phấn khích. Vì khi trọng tâm dịch chuyển nhiều hơn sang web, năng lực của nền tảng web cởi mở và dễ tiếp cận hơn cũng tăng lên
    Rust cũng rất tuyệt, và có lẽ nó được biên dịch sang WebAssembly
    Tuy vậy, tôi tò mò vì sao ba người đầy nhiệt huyết và tài năng như vậy lại không đi theo con đường gọi vốn Series A/B, post-money SAFE, họp báo truyền thông
    Gần đây khi thấy nhiều rapper AI, các mô hình đóng gói fine-tuning trọng số mở, v.v., tôi thường nghĩ như vậy. Có lẽ không thể định giá được đam mê, và hạnh phúc cũng không phải là định giá doanh nghiệp

    • Tôi không thể nói thay OP, nhưng lý do công ty tôi không nhận đầu tư rốt cuộc là vì tôi biết mình sẽ phải hy sinh những thứ mình trân trọng để đổi lấy tăng trưởng
      Tôi muốn vận hành một công ty nhỏ nhưng làm ăn trung thực và bền vững, hơn là một tập đoàn khổng lồ rỗng ruột vì tối đa hóa tăng trưởng
      Các nhà sáng lập cũng cảm thấy cùng sự mệt mỏi kiểu “tại sao lại phá hỏng những thứ tốt đẹp”. Ít nhất một số người trong chúng tôi là vậy
    • Rất khó gọi vốn cho một trình biên tập vector
      Ở mảng mô hình trọng số mở, phần lớn đổi mới diễn ra bên trong các công ty, và các công ty dùng mã nguồn mở để thu hút lập trình viên hoặc đánh gục đối thủ tiềm năng. Kiểu như Meta dùng một phần cực nhỏ doanh thu quảng cáo để phá thị trường của OpenAI/Microsoft
      Một số cá nhân cũng nhận được khoản tài trợ nhỏ từ các VC muốn gây dựng tên tuổi trong AI. Ví dụ a16z tài trợ cho một số mô hình
      Đồng thời, với những người giàu có có năng lực và đang làm công việc kỹ thuật lương cao, chẳng hạn kiếm 300.000–500.000 đô la, việc gọi vốn không phải lúc nào cũng hấp dẫn
      Nếu tự làm startup thì khả năng cao lương sẽ giảm, và nếu mô hình mở không kiếm đủ tiền, thứ còn lại có thể chỉ là cổ phần vô giá trị cùng 1–2 năm căng thẳng cao độ
    • Nhận tiền đầu tư nghĩa là bán một phần doanh nghiệp trước khi doanh nghiệp kết thúc, đôi khi thậm chí trước khi nó bắt đầu. Phần cổ phần bị tách ra chính là ý nghĩa đó
      Thông thường càng gọi vốn sớm thì điều khoản càng bất lợi
      Nếu không cần số tiền đó, nhìn chung sẽ có lợi hơn nếu trì hoãn gọi vốn cho đến khi đã xây được nền móng và công ty có tương lai ít đáng ngờ hơn
      Trong quá trình đó, bạn cũng có thể quyết định không bán quá nhiều cho nhà đầu tư; nếu bạn thực sự coi trọng sản phẩm hoặc đội ngũ thì điều đó tạo ra khác biệt lớn. Nhà đầu tư bên ngoài hầu như không quan tâm đến cả hai thứ ấy và thường khiến cả hai phải thỏa hiệp. Họ là những người làm tài chính và đến để kiếm tiền. Trước khi bán, bạn cần chắc chắn mục tiêu của hai bên khớp nhau
    • Có khi họ chỉ muốn làm việc cho chính mình chứ không phải cho VC thì sao?
  • Phát hành được một công cụ phức tạp như thế này là một thành tựu lớn, xin chúc mừng
    Một ngày nào đó tôi muốn tự làm một công cụ đồ họa vector có bộ giải ràng buộc. Tôi là dân nghiệp dư về thiết kế đồ họa, nhưng nhiều lúc thấy Inkscape cực kỳ khó dùng
    Một số hình phải tạo bằng những tổ hợp lệnh kỳ lạ, và sau khi thiết kế xong cũng khó chỉnh sửa. Cách đặt ràng buộc cho đường thẳng và đường cong rồi chỉnh kích thước như sketch trong Fusion 360 trực quan và tương tác hơn nhiều
    Cũng có thể đã có công cụ như vậy mà tôi chưa biết

    • Đúng vậy. Thực ra tính năng đó nằm trong lộ trình của chúng tôi. Thay vì tự làm riêng, bạn cũng có thể tham gia
    • Gần nhất có lẽ là Solvespace, và Dune3D cũng đáng xem thử
  • Trông có vẻ hay. Tôi đã dùng Illustrator 25 năm, và gần đây thường nghĩ sẽ thật tốt nếu có một cách tiếp cận hướng node thay cho Appearance stack
    Khi có bản binary thì tôi sẽ xem thử. Tôi không thích ứng dụng web

    • Xem video thì thấy cần có bảng mẫu màu toàn cục. Nếu có thể thay đổi mọi thứ được vẽ cùng một màu — fill, stroke, hiệu ứng, v.v. — chỉ bằng vài cú nhấp chuột thì sẽ rất mạnh
    • Electron có thực sự khác PWA đến vậy về trải nghiệm sử dụng không?
      Cá nhân tôi, nếu ứng dụng cũng được cung cấp bằng Electron thì tôi luôn cố dùng PWA
      Dù sao cũng sẽ phụ thuộc vào engine trình duyệt, nên tôi nghĩ dùng engine vốn đã mở sẵn và được cập nhật định kỳ thì tốt hơn
  • Có vài góp ý. Đang làm thì đột nhiên xuất hiện lỗi màu đỏ “The document cannot be rendered in it current state” và yêu cầu bấm nút Node Graph

    1. Tôi không tìm thấy nút đó. Sẽ tốt hơn nếu hiển thị hình nút, hoặc đặt ngay trong thông báo lỗi
    2. Sẽ tốt hơn nếu có thể chọn được văn bản lỗi
    3. Sẽ tốt hơn nếu có thể báo lỗi trực tiếp từ trong ứng dụng
    • Khi làm tutorial, đến bước lặp tròn các tia nắng thì gặp cùng lỗi đó. Nhấn Ctrl-Z thì thay vì chỉ hoàn tác thay đổi sai cuối cùng, gần như toàn bộ công việc bị hoàn tác
    • Cảm ơn phản hồi. Thứ bạn gặp là lỗi kiểu, tương tự như khi trình biên dịch của một ngôn ngữ lập trình báo rằng mã không hợp lệ
      Bản thân nó không phải là bug, nhưng đôi khi xảy ra vì các node của chúng tôi chưa đủ tổng quát. Chúng tôi vừa sửa vấn đề trong đó các node Stroke và Fill áp dụng được cho dữ liệu vector, nhưng không áp dụng được cho dữ liệu nhóm chứa một hoặc nhiều dữ liệu vector
      Những vấn đề như vậy, nếu hợp lý, nên được tạo issue
      Thông báo lỗi màu đỏ cũng cho biết cần nhìn vào đâu. Nó nói có thể mở bằng nút “Node Graph” ở góc trên bên phải của viewport
      Tôi tự hỏi liệu cửa sổ có quá nhỏ khiến nút đó bị các nút khác đẩy ra ngoài hay không. Rất hoan nghênh phản hồi về cách cải thiện câu chữ của thông báo. Hiện tại khó làm hộp thoại đó trực quan hơn hoặc có tính tương tác hơn, nhưng đáng để trau chuốt cùng với việc cải thiện tổng thể chức năng chẩn đoán trong tương lai
    • Chỉ cần dùng công cụ cọ vẽ cũng đã gặp lỗi này
  • Tôi phải đọc lại đoạn giới thiệu vài lần mới hiểu đây là gì
    Ban đầu tôi đọc thành một thứ thay thế Blender, nhưng khi thử thì thấy toàn là 2D và trông giống Photoshop nên khá bối rối
    Rốt cuộc là đang nhắc đến Blender như một lựa chọn nguồn mở phổ biến thay cho phần mềm dựng hình/kết xuất 3D đóng, rồi nói đến một Photoshop tiếp theo phải không?

    • Đọc lại thì có vẻ chúng tôi đã viết chưa rõ như ý định. Blender gần như hoàn hảo và không có lý do gì để thay thế
      Đúng như bạn hiểu, ý là trở thành một Blender thứ hai trong lĩnh vực 2D. Chúng tôi hướng tới một công cụ đa dụng có thể bắt kịp và vượt qua các đối thủ thương mại bằng đổi mới thực sự
    • Nhưng Photoshop cũng không phải phép so sánh chính xác. Công cụ này nhắm tới đồ họa dựa trên vector, còn Photoshop chủ yếu dựa trên raster
      Tôi không rành các sản phẩm Adobe và dùng Inkscape, nhưng đối ứng gần nhất ở đây có lẽ là Adobe Illustrator
  • Chỉ nhìn ảnh chụp màn hình thôi đã thấy ấn tượng. Không cần xem kỹ hơn cũng biết nó khác biệt
    Tôi vẫn luôn nói rằng chúng ta cần thêm những dự án kiểu Blender để đối đầu với Adobe. Có vẻ cũng có kế hoạch nhắm tới các ứng dụng khác, nên tôi sẽ theo dõi và hy vọng dự án thành công

  • Trông thật sự rất tuyệt. Rất cần các công cụ nguồn mở tốt cho thiết kế [1]
    Nên thêm Graphite vào danh sách này [2]. Tôi chắc chắn sẽ dùng thử và theo dõi tiến độ
    1: https://www.youtube.com/watch?v=lthVYUB8JLs
    2: https://github.com/KenneyNL/Adobe-Alternatives

    • Cảm ơn. Việc đề xuất đưa Graphite vào những danh sách như vậy thì chúng tôi để cộng đồng làm, chứ sẽ không tự làm
      Hiện tại, hạng mục phù hợp duy nhất là giải pháp thay thế Illustrator. Sang năm, chúng tôi dự định xây dựng chỉnh sửa raster như năng lực cốt lõi tiếp theo, nhưng cho đến nay vẫn chỉ tập trung vào chỉnh sửa vector
    • Nói thêm, theo một nghĩa nào đó cũng có thể tự host, nên có thể là ứng viên cho danh sách awesome-selfhosted [1]
      1. https://github.com/awesome-selfhosted/awesome-selfhosted
  • Có thể là tôi đang làm sai gì đó, nhưng việc mỗi đường thẳng, hình tròn, hình hộp tự động trở thành lớp riêng của nó, thay vì nằm dưới một layer rõ ràng như trong Inkscape, hơi không trực quan
    Vì vậy layer gần như trở nên vô dụng

  • Thật vui khi thấy đây là một sản phẩm thật sự đứng vững bằng giá trị của chính sản phẩm, thay vì đem việc được viết bằng Rust ra làm điểm bán hàng
    Tôi cảm thấy ngày nay có quá nhiều sản phẩm dùng công nghệ mới hào nhoáng trong quá trình phát triển rồi biến điều đó thành điểm bán. Ở đây thì thú vị, nhưng người dùng công cụ chỉ quan tâm đến khía cạnh kỹ thuật trong phạm vi nó ảnh hưởng đến độ ổn định, hiệu năng và khả năng tiếp tục phát triển
    Tôi không phải họa sĩ minh họa nên không có nhiều điều để nói thêm, nhưng chúc các nhà phát triển biến nó thành một công cụ thành công