From abfd381fbc5b0fbdb8213548abc7c9e7607af4eb Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Sun, 14 Jun 2026 07:45:54 +0000 Subject: [PATCH] 0515 doc: fold internal bundled dependencies into owning libraries --- doc/librarys/README.md | 10 ++++++---- doc/librarys/nwcore/README.md | 20 ++++++++++++++++++++ doc/librarys/nwiniparser/README.md | 8 -------- doc/librarys/nwtermbox2/README.md | 7 ------- doc/librarys/nwtui/README.md | 13 +++++++++---- doc/librarys/nwunicode-tables/README.md | 8 -------- doc/librarys/nwyyjson/README.md | 6 ------ 7 files changed, 35 insertions(+), 37 deletions(-) delete mode 100644 doc/librarys/nwiniparser/README.md delete mode 100644 doc/librarys/nwtermbox2/README.md delete mode 100644 doc/librarys/nwunicode-tables/README.md delete mode 100644 doc/librarys/nwyyjson/README.md diff --git a/doc/librarys/README.md b/doc/librarys/README.md index e873616..f5c64b2 100644 --- a/doc/librarys/README.md +++ b/doc/librarys/README.md @@ -19,13 +19,15 @@ which imported helpers are only low-level dependencies. ## Wrapped or vendored third-party libraries +These pages document third-party libraries that are useful project-facing +surfaces or long-lived wrapped dependencies. Some vendored packages are +intentionally documented under their owning Mars library instead of receiving a +standalone public page. For example, iniparser and Unicode tables are internal +`nwcore` details, and termbox2 is an internal `nwtui` backend. + - [nwowfat](nwowfat/README.md): bundled libowfat support library. - [nwmatrixssl](nwmatrixssl/README.md): bundled MatrixSSL TLS implementation. - [nwlibsodium](nwlibsodium/README.md): bundled libsodium cryptographic primitives. -- [nwiniparser](nwiniparser/README.md): bundled INI parser used below the Mars INI wrapper. -- [nwyyjson](nwyyjson/README.md): bundled yyjson parser. -- [nwtermbox2](nwtermbox2/README.md): bundled terminal UI backend. -- [nwunicode-tables](nwunicode-tables/README.md): generated/imported Unicode conversion tables. ## Naming rule diff --git a/doc/librarys/nwcore/README.md b/doc/librarys/nwcore/README.md index aa1d442..b0a54d7 100644 --- a/doc/librarys/nwcore/README.md +++ b/doc/librarys/nwcore/README.md @@ -30,6 +30,10 @@ These APIs are Mars-owned and may be used directly by Mars code: - `ini.h` - `spinlock.h` +`ini.h` is the public Mars INI API. The bundled iniparser sources are an +implementation detail below that wrapper and should not be called directly from +new Mars code. + ## Imported NSS core runtime The following NSS runtime groups are currently imported and built into @@ -48,6 +52,9 @@ The following NSS runtime groups are currently imported and built into - `library/debug`: NSS production debug output base. - `library/misc`: registration, version display and histogram helpers. - `library/guid`, `library/id`, `library/utc`, `library/unicode`. +- `third_party/unicodeTables`: table data used by the `nwcore` Unicode + conversion runtime. New code should use the `nwcore` Unicode APIs, not the + table generator or table data directly. - `nss/lib`: NSS bitmap, CRC and hash support. - `sharedsrc`: NSS shared source include fragments used by small translation units such as `uni2utf.c` and `utf2uni.c`. @@ -70,3 +77,16 @@ so. NSS imports should keep original filenames and directory shape where practical. Only minimal Linux-userspace fixes should be applied. Large fake wrappers should not be added when a real NSS implementation exists. + +## Internal bundled dependencies + +The following bundled packages currently support `nwcore` but are not public +Mars library APIs: + +- `third_party/iniparser`: backing implementation for the Mars `ini.h` wrapper. +- `third_party/unicodeTables`: generated/imported table data for the NSS/Mars + Unicode conversion layer. + +Keep these dependencies hidden behind `nwcore` APIs. If another component needs +configuration parsing or Unicode conversion, extend/document the `nwcore` API +instead of reaching into the bundled package directly. diff --git a/doc/librarys/nwiniparser/README.md b/doc/librarys/nwiniparser/README.md deleted file mode 100644 index 2f2e50d..0000000 --- a/doc/librarys/nwiniparser/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# nwiniparser - -`nwiniparser` documents the bundled iniparser source under -`third_party/iniparser`. - -Mars code should normally use the `nwcore` INI wrapper from `ini.h`. Direct use -of iniparser should stay inside the wrapper or tightly scoped compatibility -code. diff --git a/doc/librarys/nwtermbox2/README.md b/doc/librarys/nwtermbox2/README.md deleted file mode 100644 index 120752a..0000000 --- a/doc/librarys/nwtermbox2/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# nwtermbox2 - -`nwtermbox2` documents the bundled termbox2 backend under `third_party/termbox2`. - -Project tools should prefer `nwtui` as the public terminal abstraction. -Direct termbox2 calls should stay inside `nwtui` unless a lower-level terminal -backend feature is intentionally required. diff --git a/doc/librarys/nwtui/README.md b/doc/librarys/nwtui/README.md index de108f2..bd76236 100644 --- a/doc/librarys/nwtui/README.md +++ b/doc/librarys/nwtui/README.md @@ -1,8 +1,13 @@ # nwtui `nwtui` is the Mars terminal UI helper library. It provides the project-facing -terminal abstraction and uses the bundled `nwtermbox2` backend. +terminal abstraction and uses the bundled termbox2 backend. -Use `nwtui` from Mars tools that need terminal interaction. Do not call the -termbox2 backend directly from new higher-level code unless the `nwtui` API is -missing the required operation. +Use `nwtui` from Mars tools that need terminal interaction. Do not call +termbox2 directly from new higher-level code. If a terminal feature is missing, +extend the `nwtui` wrapper and keep backend details below that API. + +## Internal backend + +- `third_party/termbox2`: backend implementation detail for `nwtui`. It is not + a public Mars library API. diff --git a/doc/librarys/nwunicode-tables/README.md b/doc/librarys/nwunicode-tables/README.md deleted file mode 100644 index f4277ab..0000000 --- a/doc/librarys/nwunicode-tables/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# nwunicode-tables - -`nwunicode-tables` documents the Unicode conversion table support under -`third_party/unicodeTables` and the NSS Unicode runtime imported into `nwcore`. - -The table library provides data used by `nwcore` Unicode conversion helpers. -New Mars code should use the `nwcore` Unicode APIs instead of reading generated -tables directly. diff --git a/doc/librarys/nwyyjson/README.md b/doc/librarys/nwyyjson/README.md deleted file mode 100644 index b0173f1..0000000 --- a/doc/librarys/nwyyjson/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# nwyyjson - -`nwyyjson` documents the bundled yyjson parser under `third_party/yyjson`. - -Use the bundled target when JSON parsing is required. Higher-level Mars APIs -should hide raw yyjson details where possible.