{ "name": "1B Space Compositor Core", "version": "20.0.1.0.0", "category": "1B Global/OS", "summary": "Wayland-to-HTML5 compositor core — OWL library + backend models", "description": """ 1B Space Compositor Core ======================== This addon is the **foundation** of the 1B Space Compositor — a fully proprietary Wayland-to-HTML5 compositor that runs real Linux applications and displays them natively inside the Odoo web client. Architecture ------------ - **Backend models**: ``compositor.app``, ``compositor.session``, ``compositor.audit.log`` - **Controllers**: ``/web/compositor/{token,apps,launch,terminate,audit}`` - **OWL library**: ``CompositorService`` — reusable JS service that other addons can import and use to embed a Wayland compositor surface anywhere in the Odoo web client. - **Auth**: JWT (HS256) issued by Odoo backend, validated by the Python compositor proxy (separate process). This addon is **reusable**: other 1B OS addons can depend on ``one_os_compositor`` and import its OWL components/services via ``@one_os_compositor/core``. Sister addons ------------- - ``one_os_compositor_shell``: the full-screen desktop shell UI (taskbar, launcher, window manager). - ``one_os_compositor_proxy``: backend bridge to the Python compositor proxy (separate aiohttp process running pywayland + GStreamer + bubblewrap). Author & License ---------------- - Author: 1bspace.com - Company: 1B Global - License: Proprietary (1B Space internal use) Tech stack ---------- - Browser: TypeScript + OWL 3.x + WebGL2 + WebCodecs + Web Workers + OffscreenCanvas - Host (in sister addon): Python + aiohttp + pywayland + PyGObject/GStreamer + bubblewrap + seccomp - Transport: WebSocket + KCP-over-WebSocket (reliable UDP-over-TCP) - Auth: JWT HS256, 15-min expiry, signed by Odoo backend See ``README.md`` for the full architecture and the ``greenfield-analysis`` / ``mit-compositor-analysis`` documents (in the 1B Space internal docs) for the deep technical background. """, "author": "1bspace.com", "website": "https://1bspace.com", "maintainer": "1B Global ", "license": "Other proprietary", "depends": ["base", "web", "bus", "mail"], "excludes": [], "data": [ "security/compositor_security.xml", "security/ir.access.csv", "data/compositor_app_data.xml", "data/ir_sequence_data.xml", "data/ir_config_parameter_data.xml", "models/compositor_app_views.xml", "models/compositor_session_views.xml", "models/compositor_audit_log_views.xml", "views/ir_actions_client_views.xml", "views/compositor_menu.xml", ], "demo": ["demo/compositor_app_demo.xml"], "assets": { "web.assets_backend": [ "one_os_compositor/static/src/lib/**/*.js", "one_os_compositor/static/src/lib/**/*.mjs", "one_os_compositor/static/src/services/**/*.js", "one_os_compositor/static/src/services/**/*.mjs", "one_os_compositor/static/src/components/**/*.js", "one_os_compositor/static/src/components/**/*.mjs", "one_os_compositor/static/src/components/**/*.xml", "one_os_compositor/static/src/scss/compositor.scss", ], "web.assets_backend_minimal": [ "one_os_compositor/static/src/lib/**/*.js", "one_os_compositor/static/src/lib/**/*.mjs", "one_os_compositor/static/src/services/**/*.js", "one_os_compositor/static/src/services/**/*.mjs", ], "web.qunit_suite_tests": [ "one_os_compositor/static/tests/**/*.js", ], }, "qweb": [], "installable": True, "application": True, "auto_install": False, "pre_init_hook": None, "post_init_hook": "_post_init_hook", "post_load": None, "external_dependencies": { "python": ["jwt"], "bin": [], }, "assets_version": "20.0.1.0.0", "live_test_url": "/compositor", "summary_login_user_field": None, }