Skip to main content

orinium_browser/
lib.rs

1//! # OriniumBrowser
2//!
3//! ## 最小実行
4//!
5//! [`browser::BrowserApp`] を通じて Window が作成されます。
6//! 詳細については、 [`browser::BrowserApp`] のドキュメントを参照してください。
7//!
8//! ```no_run
9//! use orinium_browser::browser::BrowserApp;
10//!
11//! let browser = BrowserApp::default();
12//! browser.run();
13//! ```
14//!
15//! ## 開発/寄稿のためのヒント:
16//! - [`browser::core`] -> [`engine`] -> [`platform`] の順で実装を辿ると理解が進みます。
17//!
18//! ### 参照するべきモジュール:
19//! - `core` — アプリケーションライフサイクル、タブ管理、イベントループ
20//! - `engine` — パーサ、レイアウト、描画コマンドの生成(仕様中心のロジック)
21//! - `platform` — ネットワーク、フォント、GPU、OS 統合(プラットフォーム依存実装)
22#![warn(clippy::perf)]
23#![warn(clippy::correctness)]
24#![warn(clippy::suspicious)]
25#![warn(clippy::clone_on_ref_ptr)]
26#![warn(clippy::assigning_clones)]
27#![warn(clippy::large_enum_variant)]
28#![warn(clippy::redundant_clone)]
29#![warn(clippy::needless_collect)]
30#![warn(clippy::implicit_clone)]
31#![warn(clippy::manual_memcpy)]
32#![warn(clippy::manual_slice_fill)]
33#![warn(clippy::ptr_as_ptr)]
34#![warn(clippy::cast_ptr_alignment)]
35
36#[cfg(feature = "dhat-heap")]
37#[global_allocator]
38static ALLOC: dhat::Alloc = dhat::Alloc;
39
40/// ブラウザ関連のモジュールをまとめたトップレベルモジュール
41pub mod browser;
42
43/// ブラウザのコア機能を提供するモジュール
44/// このモジュールには、HTML/CSSパーサー、DOMツリー構築、
45/// JavaScriptエンジンなどブラウザの中核となる機能が含まれます。
46pub mod engine;
47
48/// プラットフォーム依存の機能を提供するモジュール
49/// このモジュールには、ネットワーク処理、レンダリング、UI表示、
50/// ファイルI/Oなどプラットフォーム固有の実装が含まれます。
51pub mod platform;
52
53mod process;
54pub use process::*;