Summary
Pre-alpha breaking cleanup to simplify the package structure and make the public surface more consistent.
This issue tracks the refactor to:
rename root *API type-holder modules to *Types
keep the existing folder structure for concrete modules
export the primary concrete type as t
selectively re-export additional public helper types from the concrete module that uses them
remove unrelated open usage
remove trivial primitive aliases like string, bool, unit, and low-value callback aliases where they do not add meaning
remove window and navigator from Global without deleting Global
shift access toward owner modules such as Window, Navigator, History, Storage, Performance, and similar modules
avoid introducing any new include directives as part of the simplification
Out Of Scope
contributor docs
code-generation conventions
deleting Global
flattening the folder structure
Execution Order
Linked Issues
Shared groundwork for package simplification #239 Shared groundwork for package simplification
Simplify DOM, event, and observer module surfaces #238 Simplify DOM, event, and observer module surfaces
Simplify fetch, file, canvas, URL, and socket module surfaces #240 Simplify fetch, file, canvas, URL, and socket module surfaces
Move runtime capability access away from Global window and navigator #241 Move runtime capability access away from Global window and navigator
Simplify media and device module surfaces #243 Simplify media and device module surfaces
Final integration for package simplification #242 Final integration for package simplification
Acceptance Criteria
No root src/*API.res type-holder files remain; they are replaced by src/*Types.res.
The existing folder structure remains in place.
Each concrete module exports its main type as t.
Concrete modules selectively re-export secondary public types only where justified.
Unrelated open usage is removed.
No new include directives are introduced by this refactor.
Trivial primitive aliases are removed instead of being renamed or moved.
Global.window and Global.navigator are removed.
Source and tests stop depending on Global.window and Global.navigator.
The package passes npm run build and npm test after integration.
Summary
Pre-alpha breaking cleanup to simplify the package structure and make the public surface more consistent.
This issue tracks the refactor to:
*APItype-holder modules to*Typestopenusagestring,bool,unit, and low-value callback aliases where they do not add meaningwindowandnavigatorfromGlobalwithout deletingGlobalWindow,Navigator,History,Storage,Performance, and similar modulesincludedirectives as part of the simplificationOut Of Scope
GlobalExecution Order
Linked Issues
Acceptance Criteria
src/*API.restype-holder files remain; they are replaced bysrc/*Types.res.t.openusage is removed.includedirectives are introduced by this refactor.Global.windowandGlobal.navigatorare removed.Global.windowandGlobal.navigator.npm run buildandnpm testafter integration.