From 57d54c87836dc76f6641091ccdee669ebe4027bb Mon Sep 17 00:00:00 2001 From: Nilton Constantino Date: Sat, 17 Jan 2026 10:19:00 +0000 Subject: [PATCH] add more specs --- .output.txt | 272 ++++++++++++++++++ docs/specs/README.md | 2 +- docs/specs/topics/chapter-1.md | 4 +- docs/specs/topics/chapter-10.md | 4 +- docs/specs/topics/chapter-11.md | 4 +- docs/specs/topics/chapter-12.md | 8 +- docs/specs/topics/chapter-13.md | 110 +++++++ docs/specs/topics/chapter-14.md | 135 +++++++++ docs/specs/topics/chapter-2.md | 4 +- docs/specs/topics/chapter-3.md | 4 +- docs/specs/topics/chapter-4.md | 4 +- docs/specs/topics/chapter-5.md | 4 +- docs/specs/topics/chapter-6.md | 4 +- docs/specs/topics/chapter-7.md | 4 +- docs/specs/topics/chapter-8.md | 4 +- docs/specs/topics/chapter-9.md | 4 +- ...ble-of-contens.md => table-of-contents.md} | 3 + 17 files changed, 547 insertions(+), 27 deletions(-) create mode 100644 .output.txt create mode 100644 docs/specs/topics/chapter-13.md create mode 100644 docs/specs/topics/chapter-14.md rename docs/specs/topics/{table-of-contens.md => table-of-contents.md} (83%) diff --git a/.output.txt b/.output.txt new file mode 100644 index 00000000..fb08d662 --- /dev/null +++ b/.output.txt @@ -0,0 +1,272 @@ +Binary file ./target/release/host-desktop matches +Binary file ./target/release/host_desktop matches +Binary file ./target/release/deps/libarrayvec-c95a10d26948dd38.rlib matches +Binary file ./target/release/deps/libtermcolor-b11d5b8df7e39794.rlib matches +Binary file ./target/release/deps/libwgpu-a4c1a3a7397e23e3.rmeta matches +Binary file ./target/release/deps/liblock_api-cda9c2c894d0a494.rmeta matches +Binary file ./target/release/deps/host_desktop-a0aad3f8a6646a87 matches +Binary file ./target/release/deps/liblock_api-cda9c2c894d0a494.rlib matches +Binary file ./target/release/deps/libglob-13bf4226b6c87e4d.rlib matches +Binary file ./target/release/deps/libsmallvec-890d3e5c9a3bb3f1.rmeta matches +Binary file ./target/release/deps/libwinit-e1a459b51fbef6fc.rmeta matches +Binary file ./target/release/deps/host_desktop-3dd789f7b61320d3 matches +Binary file ./target/release/deps/libwgpu_hal-d1beac31cbf24d04.rlib matches +Binary file ./target/release/deps/libproc_macro2-68497fd3a796ea52.rlib matches +Binary file ./target/release/deps/liblibloading-bd86a37c77f28ec4.rlib matches +Binary file ./target/release/deps/host_desktop-99c8928cc573c648 matches +Binary file ./target/release/deps/libwgpu_core-f4f8615662fe9b1d.rmeta matches +Binary file ./target/release/deps/libcore_graphics-c5a8590d6a94a292.rlib matches +Binary file ./target/release/deps/libobjc2_encode-2e3c5f7ae89f7b99.rmeta matches +Binary file ./target/release/deps/libcore_graphics-c5a8590d6a94a292.rmeta matches +Binary file ./target/release/deps/libwgpu_core-fb00332fb74f4fc2.rmeta matches +Binary file ./target/release/deps/libmetal-7063667ada04e6eb.rlib matches +Binary file ./target/release/deps/libregex_automata-6409a92f6d36b4ac.rlib matches +Binary file ./target/release/deps/libthiserror_impl-d74a030c39dec222.dylib matches +Binary file ./target/release/deps/libcore_foundation_sys-ce8be5ceae32943b.rlib matches +Binary file ./target/release/deps/libmetal-7063667ada04e6eb.rmeta matches +Binary file ./target/release/deps/libforeign_types_macros-cd3997d28a9ec978.dylib matches +Binary file ./target/release/deps/libmetal-af9b1ef03eb48927.rmeta matches +Binary file ./target/release/deps/host_desktop-2c80d6dc647f92e3 matches +Binary file ./target/release/deps/libobjc2_foundation-b4710c8acb2038be.rlib matches +Binary file ./target/release/deps/libwgpu-a4c1a3a7397e23e3.rlib matches +Binary file ./target/release/deps/libcore_foundation_sys-367f724f17029ce0.rmeta matches +Binary file ./target/release/deps/libcore_foundation_sys-ce8be5ceae32943b.rmeta matches +Binary file ./target/release/deps/libbit_set-1b5e3f8923ec44a9.rmeta matches +Binary file ./target/release/deps/libbit_set-1b5e3f8923ec44a9.rlib matches +Binary file ./target/release/deps/libpixels-4c23c4a9acdd1e5e.rlib matches +Binary file ./target/release/deps/libforeign_types_macros-27dd1e1f5146e417.dylib matches +Binary file ./target/release/deps/liblibloading-0d44b4cea9275729.rmeta matches +Binary file ./target/release/deps/libsyn-6216905f107245cb.rlib matches +Binary file ./target/release/deps/libwgpu-7a2e26aa5d91a1d8.rmeta matches +Binary file ./target/release/deps/libwgpu_hal-d775efa4194cb1ad.rmeta matches +Binary file ./target/release/deps/libwgpu_types-3bd064914125af8c.rlib matches +Binary file ./target/release/deps/libwgpu-7a2e26aa5d91a1d8.rlib matches +Binary file ./target/release/deps/libwgpu_core-fb00332fb74f4fc2.rlib matches +Binary file ./target/release/deps/libonce_cell-ec70e270c6619e6a.rlib matches +Binary file ./target/release/deps/libwgpu_core-f4f8615662fe9b1d.rlib matches +Binary file ./target/release/deps/libobjc2_app_kit-a8cabcb353b005fe.rmeta matches +Binary file ./target/release/deps/libcore_graphics-0d10f8ab5e3eeef9.rmeta matches +Binary file ./target/release/deps/libeither-f9f85922343a1a50.rlib matches +Binary file ./target/release/deps/libonce_cell-ec70e270c6619e6a.rmeta matches +Binary file ./target/release/deps/libwinit-1b93ca6d263ab86c.rlib matches +Binary file ./target/release/deps/libcoreaudio_sys-169171fb9ad8371b.rlib matches +Binary file ./target/release/deps/liblibloading-0d44b4cea9275729.rlib matches +Binary file ./target/release/deps/liblibloading-bd86a37c77f28ec4.rmeta matches +Binary file ./target/release/deps/libsyn-6216905f107245cb.rmeta matches +Binary file ./target/release/deps/libproc_macro2-68497fd3a796ea52.rmeta matches +Binary file ./target/release/deps/libpixels-419276c17a01641b.rlib matches +Binary file ./target/release/deps/libarrayvec-c95a10d26948dd38.rmeta matches +Binary file ./target/release/deps/libcore_graphics-0d10f8ab5e3eeef9.rlib matches +Binary file ./target/release/deps/libwgpu_hal-d1beac31cbf24d04.rmeta matches +Binary file ./target/release/deps/libobjc2_encode-2e3c5f7ae89f7b99.rlib matches +Binary file ./target/release/deps/libwinit-1b93ca6d263ab86c.rmeta matches +Binary file ./target/release/deps/libobjc2-979948cbb7ba4068.rlib matches +Binary file ./target/release/deps/libhashbrown-55057a1579ced0e8.rmeta matches +Binary file ./target/release/deps/libtermcolor-b11d5b8df7e39794.rmeta matches +Binary file ./target/release/deps/libobjc2_foundation-b4710c8acb2038be.rmeta matches +Binary file ./target/release/deps/libeither-f9f85922343a1a50.rmeta matches +Binary file ./target/release/deps/libobjc2-979948cbb7ba4068.rmeta matches +Binary file ./target/release/deps/libwgpu_types-3bd064914125af8c.rmeta matches +Binary file ./target/release/deps/libsmallvec-890d3e5c9a3bb3f1.rlib matches +Binary file ./target/release/deps/libringbuf-f3ac34df5cd80cd1.rmeta matches +Binary file ./target/release/deps/libhashbrown-55057a1579ced0e8.rlib matches +Binary file ./target/release/deps/libpixels-419276c17a01641b.rmeta matches +Binary file ./target/release/deps/libthiserror_impl-d503853b836e7617.dylib matches +Binary file ./target/release/deps/libcore_foundation_sys-367f724f17029ce0.rlib matches +Binary file ./target/release/deps/libpixels-4c23c4a9acdd1e5e.rmeta matches +Binary file ./target/release/deps/libsyn-ce73377f75734f6d.rlib matches +Binary file ./target/release/deps/libpin_project_lite-c31755dd0f32e66e.rmeta matches +Binary file ./target/release/deps/libsyn-ce73377f75734f6d.rmeta matches +Binary file ./target/release/deps/libpin_project_lite-c31755dd0f32e66e.rlib matches +Binary file ./target/release/deps/libmetal-af9b1ef03eb48927.rlib matches +Binary file ./target/release/deps/libglob-13bf4226b6c87e4d.rmeta matches +Binary file ./target/release/deps/libregex_automata-6409a92f6d36b4ac.rmeta matches +Binary file ./target/release/deps/libbindgen-d56e185e0f917221.rlib matches +Binary file ./target/release/deps/libbindgen-d56e185e0f917221.rmeta matches +Binary file ./target/release/deps/libcoreaudio_sys-169171fb9ad8371b.rmeta matches +Binary file ./target/release/deps/libwgpu_hal-d775efa4194cb1ad.rlib matches +Binary file ./target/release/deps/libwinit-e1a459b51fbef6fc.rlib matches +Binary file ./target/release/deps/libringbuf-f3ac34df5cd80cd1.rlib matches +Binary file ./target/release/deps/libobjc2_app_kit-a8cabcb353b005fe.rlib matches +./target/release/build/coreaudio-sys-822a12536c00b6b7/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/release/build/coreaudio-sys-822a12536c00b6b7/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/release/build/coreaudio-sys-822a12536c00b6b7/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/release/build/coreaudio-sys-822a12536c00b6b7/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/release/build/coreaudio-sys-822a12536c00b6b7/out/coreaudio.rs: contentsEndIndex: *mut CFIndex, +./target/release/build/coreaudio-sys-822a12536c00b6b7/out/coreaudio.rs: contentsEndIndex: *mut CFIndex, +Binary file ./target/release/build/coreaudio-sys-e073a0f72f782fef/build-script-build matches +Binary file ./target/release/build/coreaudio-sys-e073a0f72f782fef/build_script_build-e073a0f72f782fef matches +Binary file ./target/debug/host-desktop matches +Binary file ./target/debug/incremental/host_desktop-1zhdhnqowbkyt/s-hex2enfzuu-0kk6cal-aq36hgybv4f1f3zz7y88i97y0/bou9j3gxm1u5c2xc4oh24lzf0.o matches +Binary file ./target/debug/incremental/host_desktop-1zhdhnqowbkyt/s-hex29qhq3d-1ozft2f-4v0qevx3s5bftf97xou71a5xw/bou9j3gxm1u5c2xc4oh24lzf0.o matches +Binary file ./target/debug/incremental/host_desktop-1xr4ozr8cgbde/s-hex2eglu5w-0edm13w-8fojziat9agp9iiinn9y1gjmy/bruo3ablawj2jg687nbroln46.o matches +Binary file ./target/debug/incremental/host_desktop-1xr4ozr8cgbde/s-hex29sds7x-0v160ye-3ylsbn5ynbcu1sh4qnpbuqh4w/bruo3ablawj2jg687nbroln46.o matches +Binary file ./target/debug/host_desktop matches +Binary file ./target/debug/deps/libmetal-3c7d9183ac7e9498.rmeta matches +Binary file ./target/debug/deps/host_desktop-cae119444feda318 matches +Binary file ./target/debug/deps/libthiserror_impl-8d43e6686eda9116.dylib matches +Binary file ./target/debug/deps/libmetal-5e5580f32e152487.rmeta matches +Binary file ./target/debug/deps/libpixels-37dcc9975d9246c1.rlib matches +Binary file ./target/debug/deps/metal-a0a96f0387b15ffc.metal.70c83f4ef76e80ae-cgu.03.rcgu.o matches +Binary file ./target/debug/deps/libpixels-37dcc9975d9246c1.rmeta matches +Binary file ./target/debug/deps/libwgpu_core-2c6af98ffa888931.rmeta matches +Binary file ./target/debug/deps/objc2_foundation-e59d93ac7e55410c.objc2_foundation.970817969d45f622-cgu.02.rcgu.o matches +Binary file ./target/debug/deps/host_desktop-dc268d9a3d21cbf6.bruo3ablawj2jg687nbroln46.1cl60rt.rcgu.o matches +Binary file ./target/debug/deps/libregex_automata-564bd9db33826b79.rlib matches +Binary file ./target/debug/deps/libcore_foundation_sys-4ee851e51443c20b.rmeta matches +Binary file ./target/debug/deps/libpixels-93edc9c825d4acaf.rmeta matches +Binary file ./target/debug/deps/libtermcolor-401936708ccdaced.rmeta matches +Binary file ./target/debug/deps/metal-5e5580f32e152487.metal.9bfebd513e9c680d-cgu.03.rcgu.o matches +Binary file ./target/debug/deps/libmetal-a0a96f0387b15ffc.rmeta matches +Binary file ./target/debug/deps/objc2_foundation-e59d93ac7e55410c.objc2_foundation.970817969d45f622-cgu.12.rcgu.o matches +Binary file ./target/debug/deps/host_desktop-8728c05ce8b07700 matches +Binary file ./target/debug/deps/objc2_app_kit-50289a0548e27a3d.objc2_app_kit.bf1132a86a185d69-cgu.05.rcgu.o matches +Binary file ./target/debug/deps/libsyn-e0676fb4748bdb0d.rlib matches +Binary file ./target/debug/deps/libwinit-2c38f547e9e8ea47.rlib matches +Binary file ./target/debug/deps/libcore_graphics-81315c2a7b0f4d12.rlib matches +Binary file ./target/debug/deps/libpixels-aa513df1ab58f462.rlib matches +Binary file ./target/debug/deps/libglob-5b5400670514c222.rlib matches +Binary file ./target/debug/deps/libbindgen-066714860036ec92.rlib matches +Binary file ./target/debug/deps/wgpu-f8356a2bde5c28f5.wgpu.6c971ffa9770ec97-cgu.09.rcgu.o matches +Binary file ./target/debug/deps/libsyn-299b11bf45938ebf.rlib matches +Binary file ./target/debug/deps/libringbuf-3fa8f71e75689eb3.rmeta matches +Binary file ./target/debug/deps/libpixels-da7b9d2b2b652959.rmeta matches +Binary file ./target/debug/deps/libarrayvec-f7ca6e572c50cc9d.rmeta matches +Binary file ./target/debug/deps/libcore_graphics-cf0bafc553479f34.rlib matches +Binary file ./target/debug/deps/libforeign_types_macros-f4060fe5543a75c5.dylib matches +Binary file ./target/debug/deps/libobjc2_foundation-d1cb3c0afe99b105.rmeta matches +Binary file ./target/debug/deps/wgpu-8131e376b6060e8a.wgpu.90fae55b99e37d22-cgu.09.rcgu.o matches +Binary file ./target/debug/deps/libwgpu_core-eaa88fec8fdde714.rlib matches +Binary file ./target/debug/deps/prometeu_core-3863736648422a41.aorbsrgopbhi1a2ggy3r2vmki.0kng8my.rcgu.o matches +Binary file ./target/debug/deps/liblibloading-e81497b8e27d4164.rlib matches +Binary file ./target/debug/deps/libonce_cell-4a5135b5efdc4b11.rlib matches +Binary file ./target/debug/deps/host_desktop-dc268d9a3d21cbf6 matches +Binary file ./target/debug/deps/libwgpu-69bcd0ef27daa7a8.rmeta matches +Binary file ./target/debug/deps/libobjc2_encode-b0478ac980bb44ee.rlib matches +Binary file ./target/debug/deps/wgpu_hal-5a041856c1b12816.wgpu_hal.d6f74266f90c1850-cgu.12.rcgu.o matches +Binary file ./target/debug/deps/libeither-36b08d764da66ab3.rlib matches +Binary file ./target/debug/deps/wgpu_hal-5a041856c1b12816.wgpu_hal.d6f74266f90c1850-cgu.00.rcgu.o matches +Binary file ./target/debug/deps/metal-5e5580f32e152487.metal.9bfebd513e9c680d-cgu.07.rcgu.o matches +Binary file ./target/debug/deps/libproc_macro2-474ea62bb60cfaec.rmeta matches +Binary file ./target/debug/deps/libcore_foundation_sys-f663c85c629a2cb9.rlib matches +Binary file ./target/debug/deps/liblock_api-b39d18939fd97e2b.rlib matches +Binary file ./target/debug/deps/libregex_automata-564bd9db33826b79.rmeta matches +Binary file ./target/debug/deps/libonce_cell-4a5135b5efdc4b11.rmeta matches +Binary file ./target/debug/deps/libbindgen-066714860036ec92.rmeta matches +Binary file ./target/debug/deps/libobjc2_app_kit-b741d855324bdc6e.rmeta matches +Binary file ./target/debug/deps/libobjc2-9f96412373f13645.rlib matches +Binary file ./target/debug/deps/libwinit-96a6bc679d285428.rmeta matches +Binary file ./target/debug/deps/libcore_foundation_sys-288a2d755650be3d.rlib matches +Binary file ./target/debug/deps/libpin_project_lite-566e20c278d3df7c.rmeta matches +Binary file ./target/debug/deps/libhashbrown-8708d95d28fcc90f.rlib matches +Binary file ./target/debug/deps/host_desktop-bdd227eb15330052.bou9j3gxm1u5c2xc4oh24lzf0.0kp0llr.rcgu.o matches +Binary file ./target/debug/deps/liblock_api-bbf09bff5a42552d.rmeta matches +Binary file ./target/debug/deps/libwgpu_hal-91c466e5b4387cb1.rlib matches +Binary file ./target/debug/deps/libtermcolor-401936708ccdaced.rlib matches +Binary file ./target/debug/deps/libobjc2_app_kit-50289a0548e27a3d.rlib matches +Binary file ./target/debug/deps/metal-a0a96f0387b15ffc.metal.70c83f4ef76e80ae-cgu.07.rcgu.o matches +Binary file ./target/debug/deps/libwgpu_hal-3a28a5df5695371b.rmeta matches +Binary file ./target/debug/deps/libobjc2_foundation-e59d93ac7e55410c.rlib matches +Binary file ./target/debug/deps/host_desktop-bdd227eb15330052.bou9j3gxm1u5c2xc4oh24lzf0.0vn58st.rcgu.o matches +Binary file ./target/debug/deps/libthiserror_impl-68cc04284ad139c4.dylib matches +Binary file ./target/debug/deps/libonce_cell-a51ddecf1af729e7.rmeta matches +Binary file ./target/debug/deps/host_desktop-bdd227eb15330052.bou9j3gxm1u5c2xc4oh24lzf0.1qxxwbh.rcgu.o matches +Binary file ./target/debug/deps/libobjc2_app_kit-50289a0548e27a3d.rmeta matches +Binary file ./target/debug/deps/libobjc2_foundation-e59d93ac7e55410c.rmeta matches +Binary file ./target/debug/deps/libproc_macro2-474ea62bb60cfaec.rlib matches +Binary file ./target/debug/deps/libwgpu-8131e376b6060e8a.rlib matches +Binary file ./target/debug/deps/libcore_graphics-ec3434a66952dc92.rmeta matches +Binary file ./target/debug/deps/libwgpu-f8356a2bde5c28f5.rlib matches +Binary file ./target/debug/deps/libringbuf-9889116ffdb2fee2.rmeta matches +Binary file ./target/debug/deps/libwinit-7cd4d8d02332f91d.rmeta matches +Binary file ./target/debug/deps/prometeu_core-287544038c487298.6tjg1wsw2a2l8z2atddu015li.1dxtzwq.rcgu.o matches +Binary file ./target/debug/deps/libcore_foundation_sys-b58d4b6cd84d5e88.rmeta matches +Binary file ./target/debug/deps/libpin_project_lite-f10bd6b530829508.rmeta matches +Binary file ./target/debug/deps/libcore_graphics-cf0bafc553479f34.rmeta matches +Binary file ./target/debug/deps/libsmallvec-b144e35a5a8d9c6a.rmeta matches +Binary file ./target/debug/deps/libeither-36b08d764da66ab3.rmeta matches +Binary file ./target/debug/deps/libsyn-299b11bf45938ebf.rmeta matches +Binary file ./target/debug/deps/libcore_graphics-023ff8904699b2d7.rmeta matches +Binary file ./target/debug/deps/host_desktop-dc268d9a3d21cbf6.bruo3ablawj2jg687nbroln46.19h1yw9.rcgu.o matches +Binary file ./target/debug/deps/libcore_graphics-81315c2a7b0f4d12.rmeta matches +Binary file ./target/debug/deps/libmetal-dd48b15c20226100.rmeta matches +Binary file ./target/debug/deps/libcoreaudio_sys-732365173c2c85b3.rlib matches +Binary file ./target/debug/deps/host_desktop-dc268d9a3d21cbf6.bruo3ablawj2jg687nbroln46.098u1v1.rcgu.o matches +Binary file ./target/debug/deps/libwinit-2c38f547e9e8ea47.rmeta matches +Binary file ./target/debug/deps/libwgpu_types-18512ad2e6ab9143.rmeta matches +Binary file ./target/debug/deps/libcore_foundation_sys-288a2d755650be3d.rmeta matches +Binary file ./target/debug/deps/metal-a0a96f0387b15ffc.metal.70c83f4ef76e80ae-cgu.10.rcgu.o matches +Binary file ./target/debug/deps/libobjc2_encode-b0478ac980bb44ee.rmeta matches +Binary file ./target/debug/deps/libbit_set-9bdc71f689294952.rmeta matches +Binary file ./target/debug/deps/host_desktop-40125dfdc70e38c6 matches +Binary file ./target/debug/deps/libwgpu_core-aa1693b20a390406.rmeta matches +Binary file ./target/debug/deps/prometeu_core-287544038c487298.6tjg1wsw2a2l8z2atddu015li.10rzbks.rcgu.o matches +Binary file ./target/debug/deps/liblibloading-e81497b8e27d4164.rmeta matches +Binary file ./target/debug/deps/libwgpu_types-86d6672056a13a6e.rmeta matches +Binary file ./target/debug/deps/libsmallvec-9c802af0601edfd2.rmeta matches +Binary file ./target/debug/deps/wgpu-8131e376b6060e8a.wgpu.90fae55b99e37d22-cgu.04.rcgu.o matches +Binary file ./target/debug/deps/libwgpu_hal-509a4b2aa99e2ed9.rmeta matches +Binary file ./target/debug/deps/wgpu-f8356a2bde5c28f5.wgpu.6c971ffa9770ec97-cgu.04.rcgu.o matches +Binary file ./target/debug/deps/libbindgen-860fea1839cadf43.rmeta matches +Binary file ./target/debug/deps/libcore_foundation_sys-f663c85c629a2cb9.rmeta matches +Binary file ./target/debug/deps/prometeu_core-3863736648422a41.aorbsrgopbhi1a2ggy3r2vmki.17i634w.rcgu.o matches +Binary file ./target/debug/deps/libtermcolor-d34131e0c15fe18f.rmeta matches +Binary file ./target/debug/deps/libbit_set-9bdc71f689294952.rlib matches +Binary file ./target/debug/deps/libcoreaudio_sys-7d8185f4401b4ad7.rmeta matches +Binary file ./target/debug/deps/objc2_app_kit-50289a0548e27a3d.objc2_app_kit.bf1132a86a185d69-cgu.04.rcgu.o matches +Binary file ./target/debug/deps/libwgpu_core-eaa88fec8fdde714.rmeta matches +Binary file ./target/debug/deps/libwinit-b4f75995a1573005.rmeta matches +Binary file ./target/debug/deps/libwgpu_types-18512ad2e6ab9143.rlib matches +Binary file ./target/debug/deps/metal-5e5580f32e152487.metal.9bfebd513e9c680d-cgu.10.rcgu.o matches +Binary file ./target/debug/deps/libwgpu_core-8db633be203d1ef3.rmeta matches +Binary file ./target/debug/deps/libbit_set-a4f2782653c45591.rmeta matches +Binary file ./target/debug/deps/libhashbrown-0dfa14b90efbece1.rmeta matches +Binary file ./target/debug/deps/liblibloading-7dbac48a3753fb87.rmeta matches +Binary file ./target/debug/deps/libpixels-aa513df1ab58f462.rmeta matches +Binary file ./target/debug/deps/libwinit-96a6bc679d285428.rlib matches +Binary file ./target/debug/deps/libwgpu-8c3a841e722ac9a7.rmeta matches +Binary file ./target/debug/deps/objc2_encode-b0478ac980bb44ee.objc2_encode.10da953cacea14f7-cgu.1.rcgu.o matches +Binary file ./target/debug/deps/libcoreaudio_sys-732365173c2c85b3.rmeta matches +Binary file ./target/debug/deps/libwgpu_hal-91c466e5b4387cb1.rmeta matches +Binary file ./target/debug/deps/libobjc2_encode-710c97b4c1b88b94.rmeta matches +Binary file ./target/debug/deps/libpin_project_lite-566e20c278d3df7c.rlib matches +Binary file ./target/debug/deps/libbindgen-860fea1839cadf43.rlib matches +Binary file ./target/debug/deps/libarrayvec-f7ca6e572c50cc9d.rlib matches +Binary file ./target/debug/deps/libforeign_types_macros-0a79874c5ba18311.dylib matches +Binary file ./target/debug/deps/libmetal-a0a96f0387b15ffc.rlib matches +Binary file ./target/debug/deps/libwgpu-8131e376b6060e8a.rmeta matches +Binary file ./target/debug/deps/liblibloading-b65f37797a96cab1.rmeta matches +Binary file ./target/debug/deps/libwgpu_hal-5a041856c1b12816.rlib matches +Binary file ./target/debug/deps/libsyn-e0676fb4748bdb0d.rmeta matches +Binary file ./target/debug/deps/libwgpu_core-8db633be203d1ef3.rlib matches +Binary file ./target/debug/deps/libwgpu-f8356a2bde5c28f5.rmeta matches +Binary file ./target/debug/deps/libobjc2-cd2054bbe82cf712.rmeta matches +Binary file ./target/debug/deps/libhashbrown-8708d95d28fcc90f.rmeta matches +Binary file ./target/debug/deps/liblibloading-7dbac48a3753fb87.rlib matches +Binary file ./target/debug/deps/libglob-5b5400670514c222.rmeta matches +Binary file ./target/debug/deps/wgpu_hal-91c466e5b4387cb1.wgpu_hal.9f659ea2d0f45c04-cgu.00.rcgu.o matches +Binary file ./target/debug/deps/libmetal-5e5580f32e152487.rlib matches +Binary file ./target/debug/deps/libarrayvec-626f57c146396266.rmeta matches +Binary file ./target/debug/deps/wgpu_hal-91c466e5b4387cb1.wgpu_hal.9f659ea2d0f45c04-cgu.12.rcgu.o matches +Binary file ./target/debug/deps/libwgpu_hal-5a041856c1b12816.rmeta matches +Binary file ./target/debug/deps/prometeu_core-287544038c487298.6tjg1wsw2a2l8z2atddu015li.0ytvlcx.rcgu.o matches +Binary file ./target/debug/deps/libsmallvec-9c802af0601edfd2.rlib matches +Binary file ./target/debug/deps/libringbuf-9889116ffdb2fee2.rlib matches +Binary file ./target/debug/deps/liblock_api-b39d18939fd97e2b.rmeta matches +Binary file ./target/debug/deps/libobjc2-9f96412373f13645.rmeta matches +./target/debug/build/coreaudio-sys-e006bc649cb449c6/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/debug/build/coreaudio-sys-e006bc649cb449c6/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/debug/build/coreaudio-sys-e006bc649cb449c6/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/debug/build/coreaudio-sys-e006bc649cb449c6/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/debug/build/coreaudio-sys-e006bc649cb449c6/out/coreaudio.rs: contentsEndIndex: *mut CFIndex, +./target/debug/build/coreaudio-sys-e006bc649cb449c6/out/coreaudio.rs: contentsEndIndex: *mut CFIndex, +Binary file ./target/debug/build/coreaudio-sys-b2791270302003fd/build_script_build-b2791270302003fd matches +Binary file ./target/debug/build/coreaudio-sys-b2791270302003fd/build-script-build matches +./target/debug/build/coreaudio-sys-7e29865be3373ce8/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/debug/build/coreaudio-sys-7e29865be3373ce8/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/debug/build/coreaudio-sys-7e29865be3373ce8/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/debug/build/coreaudio-sys-7e29865be3373ce8/out/coreaudio.rs: contentsDeallocator: CFAllocatorRef, +./target/debug/build/coreaudio-sys-7e29865be3373ce8/out/coreaudio.rs: contentsEndIndex: *mut CFIndex, +./target/debug/build/coreaudio-sys-7e29865be3373ce8/out/coreaudio.rs: contentsEndIndex: *mut CFIndex, +Binary file ./target/debug/build/coreaudio-sys-529a9a5328945262/build_script_build-529a9a5328945262 matches +Binary file ./target/debug/build/coreaudio-sys-529a9a5328945262/build-script-build matches diff --git a/docs/specs/README.md b/docs/specs/README.md index 208f48f4..aa5d9e1d 100644 --- a/docs/specs/README.md +++ b/docs/specs/README.md @@ -296,4 +296,4 @@ A avaliação pode considerar: PROMETEU avalia **processo**, não apenas resultado. -< [Sumário](topics/table-of-contens.md) > \ No newline at end of file +< [Sumário](topics/table-of-contents.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-1.md b/docs/specs/topics/chapter-1.md index 7b3cd83f..656dabc9 100644 --- a/docs/specs/topics/chapter-1.md +++ b/docs/specs/topics/chapter-1.md @@ -1,4 +1,4 @@ -< [Sumário](../table-of-contens.md) | [Adiante](chapter-2.md) > +< [Sumário](table-of-contents.md) | [Adiante](chapter-2.md) > # ⏱️ **Modelo de Tempo e Ciclos** @@ -251,4 +251,4 @@ O modelo de tempo e ciclos permite ensinar: - trade-offs técnicos - leitura de perfis reais -< [Sumário](../table-of-contens.md) | [Adiante](chapter-2.md) > \ No newline at end of file +< [Sumário](table-of-contents.md) | [Adiante](chapter-2.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-10.md b/docs/specs/topics/chapter-10.md index 6659e48c..9334885a 100644 --- a/docs/specs/topics/chapter-10.md +++ b/docs/specs/topics/chapter-10.md @@ -1,4 +1,4 @@ -< [Voltar](chapter-9.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-11.md) > +< [Voltar](chapter-9.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-11.md) > # 🛠️ **Debug, Inspeção e Profiling** @@ -347,4 +347,4 @@ O aluno aprende: - tempo e memória são visíveis - certificação é baseada em evidência -< [Voltar](chapter-9.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-11.md) > \ No newline at end of file +< [Voltar](chapter-9.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-11.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-11.md b/docs/specs/topics/chapter-11.md index ede3d103..c92b76bf 100644 --- a/docs/specs/topics/chapter-11.md +++ b/docs/specs/topics/chapter-11.md @@ -1,4 +1,4 @@ -< [Voltar](chapter-10.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-12.md) > +< [Voltar](chapter-10.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-12.md) > # 🌍 **Garantias de Portabilidade e Execução Multiplataforma** @@ -255,4 +255,4 @@ O aluno aprende: - certificação é universal - portabilidade é garantida por design -< [Voltar](chapter-10.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-12.md) > \ No newline at end of file +< [Voltar](chapter-10.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-12.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-12.md b/docs/specs/topics/chapter-12.md index b9b4500d..d909d338 100644 --- a/docs/specs/topics/chapter-12.md +++ b/docs/specs/topics/chapter-12.md @@ -1,6 +1,6 @@ -< [Voltar](chapter-11.md) | [Sumário](table-of-contens.md) > +< [Voltar](chapter-11.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-13.md) > -# 🧠 Firmware Spec — PrometeuOS (POS) + PrometeuHub +# 🧠 Firmware — PrometeuOS (POS) + PrometeuHub ## 1. Visão Geral @@ -232,5 +232,5 @@ Este firmware permite ensinar: - Todo cartucho é um App; o header define `app_mode` (GAME/SYSTEM). - `GAME` roda tela cheia; `SYSTEM` roda integrado ao Hub em janela. - `FRAME_SYNC` é o boundary do frame lógico. - -< [Voltar](chapter-11.md) | [Sumário](table-of-contens.md) > \ No newline at end of file + +< [Voltar](chapter-11.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-13.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-13.md b/docs/specs/topics/chapter-13.md new file mode 100644 index 00000000..b55f7685 --- /dev/null +++ b/docs/specs/topics/chapter-13.md @@ -0,0 +1,110 @@ +< [Voltar](chapter-12.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-14.md) > + +# Cartuchos + +**Versão:** 1.0 (baseline estável) +**Status:** Proposta + +--- + +## 1. Objetivo + +Definir um contrato mínimo e estável para cartuchos Prometeu, permitindo: + +* Identificação do app +* Seleção de modo (Game/System) +* Resolução de entrypoint +* Carregamento previsível pelo runtime + +--- + +## 2. Conceito + +Um cartucho é a unidade distribuível do Prometeu. Ele pode existir como: + +* **Diretório (dev)** — ideal para desenvolvimento e hot-reload +* **Arquivo empacotado (.pmc)** — ideal para distribuição + +Ambos compartilham o mesmo layout lógico. + +--- + +## 3. Layout Lógico + +``` +/ + ├── manifest.json + ├── program.pbc + └── assets/ + └── ... +``` + +Campos obrigatórios: + +* `manifest.json` +* `program.pbc` (bytecode Prometeu) + +--- + +## 4. manifest.json (Contrato v1) + +```json +{ + "magic": "PMTU", + "cartridge_version": 1, + "app_id": 1234, + "title": "Meu Jogo", + "app_version": "1.0.0", + "app_mode": "Game", // Game | System + "entrypoint": "main" +} +``` + +### Campos + +* `magic`: string fixa `PMTU` +* `cartridge_version`: versão do formato +* `app_id`: identificador numérico único +* `title`: nome do app +* `app_version`: versão do app +* `app_mode`: `Game` ou `System` +* `entrypoint`: símbolo ou índice reconhecido pela VM + +--- + +## 5. Regras do Runtime + +* Validar `magic` e `cartridge_version` +* Ler `app_mode` para decidir fluxo de execução +* Resolver `entrypoint` no `program.pbc` +* Ignorar `assets/` se não suportado ainda + +--- + +## 6. Modos de Uso + +### Diretório (desenvolvimento) + +``` +prometeu --run ./mycart/ +``` + +### Arquivo empacotado + +``` +prometeu --run mygame.pmc +``` + +Ambos devem se comportar de forma idêntica no runtime. + +--- + +## 7. Estabilidade do Contrato + +A partir do v1: + +* `manifest.json` é a fonte de verdade +* Campos só podem ser adicionados de forma backward-compatible +* Mudanças incompatíveis exigem `cartridge_version` novo + +< [Voltar](chapter-12.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-14.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-14.md b/docs/specs/topics/chapter-14.md new file mode 100644 index 00000000..28189e1b --- /dev/null +++ b/docs/specs/topics/chapter-14.md @@ -0,0 +1,135 @@ +< [Voltar](chapter-13.md) | [Sumário](table-of-contents.md) > + +# Boot Profiles + +**Versão:** 1.0 +**Status:** Proposta + +--- + +## 1. Objetivo + +Definir como o Prometeu decide o que executar ao iniciar: + +* Hub +* Cartucho automaticamente +* Modo debug + +--- + +## 2. Conceito de BootTarget + +No início do boot, o POS resolve um alvo: + +```rust +enum BootTarget { + Hub, + Cartridge { path: String, debug: bool }, +} +``` + +--- + +## 3. Regras Gerais + +### Se BootTarget == Hub + +* Firmware entra em `HubHome` +* Nenhum cartucho é carregado automaticamente + +### Se BootTarget == Cartridge + +1. Carregar cartucho +2. Ler `app_mode` no manifest +3. Aplicar regras: + +* `Game`: + + * Entrar em `RunningGame` +* `System`: + + * Permanecer em `HubHome` + * Abrir o app como janela/system tool + +--- + +## 4. CLI do Host + +### Boot padrão + +``` +prometeu +``` + +Resultado: entra no Hub + +### Executar cartucho + +``` +prometeu run +``` + +Resultado: + +* Game → entra direto no jogo +* System → abre como tool no Hub + +### Executar com debugger + +``` +prometeu debug +``` + +Resultado: + +* Mesmo fluxo do `run` +* Runtime inicia em modo debug +* Aguarda conexão do Debugger Java + +--- + +## 5. Estados do Firmware + +Firmware mantém apenas: + +* `Boot` +* `HubHome` +* `RunningGame` +* `AppCrashed` + +System apps nunca mudam o estado do firmware. + +--- + +## 6. Comportamento em Hardware Real (futuro) + +* Se miniSD/cartucho físico presente no boot: + + * POS pode: + + * sempre ir ao Hub, ou + * auto-executar conforme configuração do usuário + +--- + +## 7. Integração com Debugger + +Quando `debug == true`: + +* Runtime: + + * Inicializa + * Abre socket DevTools + * Aguarda comando `start` +* Somente após isso inicia execução do cartucho + +--- + +## 8. Estabilidade + +* BootTarget é contrato interno do POS +* CLI do host deve respeitar essas regras +* Novos modos de boot devem ser extensões compatíveis + + +< [Voltar](chapter-13.md) | [Sumário](table-of-contents.md) > diff --git a/docs/specs/topics/chapter-2.md b/docs/specs/topics/chapter-2.md index 05d22fcf..47bd6e2c 100644 --- a/docs/specs/topics/chapter-2.md +++ b/docs/specs/topics/chapter-2.md @@ -1,4 +1,4 @@ -< [Voltar](chapter-1.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-3.md) > +< [Voltar](chapter-1.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-3.md) > # ⚙️ ** PVM (PROMETEU VM) — Instruction Set** @@ -392,4 +392,4 @@ Nenhuma instrução existente muda de significado. * integrada ao CAP * base de todo cartucho PROMETEU -< [Voltar](chapter-1.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-3.md) > \ No newline at end of file +< [Voltar](chapter-1.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-3.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-3.md b/docs/specs/topics/chapter-3.md index b0374d6b..08eccb9e 100644 --- a/docs/specs/topics/chapter-3.md +++ b/docs/specs/topics/chapter-3.md @@ -1,4 +1,4 @@ -< [Voltar](chapter-2.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-4.md) > +< [Voltar](chapter-2.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-4.md) > # 🧠 **Memória: Stack, Heap e Alocação** @@ -306,4 +306,4 @@ Tudo com **feedback imediato e visível**. - GC é visível e mensurável - memória participa da certificação -< [Voltar](chapter-2.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-4.md) > \ No newline at end of file +< [Voltar](chapter-2.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-4.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-4.md b/docs/specs/topics/chapter-4.md index 495de89c..647ba4fe 100644 --- a/docs/specs/topics/chapter-4.md +++ b/docs/specs/topics/chapter-4.md @@ -1,4 +1,4 @@ -< [Voltar](chapter-3.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-5.md) > +< [Voltar](chapter-3.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-5.md) > # 🎨 **Periférico GFX (Sistema Gráfico)** @@ -597,4 +597,4 @@ O GFX do PROMETEU é simples **por escolha**, não por limitação. - Projeção rasterizada por frame - Profundidade definida por ordem de desenho -< [Voltar](chapter-3.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-5.md) > \ No newline at end of file +< [Voltar](chapter-3.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-5.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-5.md b/docs/specs/topics/chapter-5.md index 660ff43c..7609c54d 100644 --- a/docs/specs/topics/chapter-5.md +++ b/docs/specs/topics/chapter-5.md @@ -1,4 +1,4 @@ -< [Voltar](chapter-4.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-6.md) > +< [Voltar](chapter-4.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-6.md) > # 🔊 Periférico AUDIO (Sistema de Som) @@ -328,4 +328,4 @@ Mas abstraído para: - Conceito de “CPU de áudio” - Implementação é papel do host -< [Voltar](chapter-4.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-6.md) > \ No newline at end of file +< [Voltar](chapter-4.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-6.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-6.md b/docs/specs/topics/chapter-6.md index 6e0348e9..38b2a6e8 100644 --- a/docs/specs/topics/chapter-6.md +++ b/docs/specs/topics/chapter-6.md @@ -1,4 +1,4 @@ -< [Voltar](chapter-5.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-7.md) > +< [Voltar](chapter-5.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-7.md) > # 🎮 **Periférico INPUT (Sistema de Entrada)** @@ -257,4 +257,4 @@ Com feedback claro e reproduzível. - input participa do CAP - modelo é determinístico -< [Voltar](chapter-5.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-7.md) > \ No newline at end of file +< [Voltar](chapter-5.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-7.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-7.md b/docs/specs/topics/chapter-7.md index bf760b2d..8ddf1d72 100644 --- a/docs/specs/topics/chapter-7.md +++ b/docs/specs/topics/chapter-7.md @@ -1,4 +1,4 @@ -< [Voltar](chapter-6.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-8.md) > +< [Voltar](chapter-6.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-8.md) > # 🖐️ Periférico TOUCH (Sistema de Entrada via ponteiro absoluto) @@ -259,4 +259,4 @@ O TOUCH no PROMETEU é: - universal - determinístico -< [Voltar](chapter-6.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-8.md) > \ No newline at end of file +< [Voltar](chapter-6.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-8.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-8.md b/docs/specs/topics/chapter-8.md index 23f72aca..c57f18d5 100644 --- a/docs/specs/topics/chapter-8.md +++ b/docs/specs/topics/chapter-8.md @@ -1,4 +1,4 @@ -< [Voltar](chapter-7.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-9.md) > +< [Voltar](chapter-7.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-9.md) > # 📀 Periférico MEMCARD (Sistema de save/load) @@ -235,4 +235,4 @@ O periférico MEMCARD no PROMETEU: - é difícil de abusar - cresce sem quebrar compatibilidade -< [Voltar](chapter-7.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-9.md) > \ No newline at end of file +< [Voltar](chapter-7.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-9.md) > \ No newline at end of file diff --git a/docs/specs/topics/chapter-9.md b/docs/specs/topics/chapter-9.md index b0537dc7..e825e5b0 100644 --- a/docs/specs/topics/chapter-9.md +++ b/docs/specs/topics/chapter-9.md @@ -1,4 +1,4 @@ -< [Voltar](chapter-8.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-10.md) > +< [Voltar](chapter-8.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-10.md) > # ⚡ **Eventos e Interrupções** @@ -286,4 +286,4 @@ Tudo com **ordem, clareza e mensuração**. - custos são explícitos - comportamento é determinístico -< [Voltar](chapter-8.md) | [Sumário](table-of-contens.md) | [Adiante](chapter-10.md) > \ No newline at end of file +< [Voltar](chapter-8.md) | [Sumário](table-of-contents.md) | [Adiante](chapter-10.md) > \ No newline at end of file diff --git a/docs/specs/topics/table-of-contens.md b/docs/specs/topics/table-of-contents.md similarity index 83% rename from docs/specs/topics/table-of-contens.md rename to docs/specs/topics/table-of-contents.md index 6d467dbb..ffc0fd7a 100644 --- a/docs/specs/topics/table-of-contens.md +++ b/docs/specs/topics/table-of-contents.md @@ -11,6 +11,9 @@ - [Capitulo 9: Eventos e Interrupções](chapter-9.md) - [Capitulo 10: Debug, Inspeção e Profiling](chapter-10.md) - [Capitulo 11: Garantias de Portabilidade e Execução Multiplataforma](chapter-11.md) +- [Capitulo 12: Firmware — PrometeuOS (POS) + PrometeuHub](chapter-12.md) +- [Capitulo 13: Cartucho](chapter-13.md) +- [Capitulo 14: Boot Profiles](chapter-14.md) --- [Voltar para o README](../README.md) \ No newline at end of file