| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
refactor(moui_theme): extract audit package out of common public API Move the 18 design_system_*.mbt audit/evidence files from common/ into a new moui_theme/audit package and convert the 142 audit methods on DesignPreset (DesignPreset::xxx) to top-level pub fn xxx(preset), since MoonBit forbids defining methods on a type from another package (Error 4059). The 5 shared audit enums (DesignTokenCategory/Layer/Status, DesignSystemSource, DesignTokenCoverage) move with the audit files; DesignSchemeVariant stays in common (construction-surface dependency). color/color_byte become pub in common (shared helpers). common/pkg.generated.mbti shrinks 1118 -> 355 lines; DesignPreset keeps only its 6 construction-surface methods (theme/tokens/label/...). The 4 variant packages drop their report()/manifest()/component_token_matrix() audit-forwarding shims so package "wzzc-dev/moui_theme/material" // wzzc-dev/moui_theme@0.1.0 pub fn dark_theme(density? : @common.DesignDensity) -> @core.Theme pub fn high_contrast_theme(system_scheme? : @core.ColorScheme, density? : @common.DesignDensity) -> @core.Theme pub fn light_theme(density? : @common.DesignDensity) -> @core.Theme pub fn preset() -> @common.DesignPreset pub fn system_theme(system_scheme? : @core.ColorScheme, density? : @common.DesignDensity) -> @core.Theme pub fn theme(scheme? : @core.ColorScheme, density? : @common.DesignDensity) -> @core.Theme pub fn tokens(scheme? : @core.ColorScheme, density? : @common.DesignDensity) -> @common.DesignSystemTokens pub fn tokens_for_variant(variant? : @common.DesignSchemeVariant, system_scheme? : @core.ColorScheme, density? : @common.DesignDensity) -> @common.DesignSystemTokens only shows the construction surface. The 8003-line theme_test.mbt moves into audit. examples/design_systems/app now imports moui_theme/audit and routes audit calls through @audit.xxx(@variant.preset()) — its demo functionality is preserved (this is why internal/ was rejected: the example is an audit visualizer that must reach the audit package). WIP: 10 audit tests regress (moui_token values come back empty) — these are conversion-introduced argument-order bugs in the method->fn transform that need targeted debugging. All packages compile; mbti shrink verified. Not using internal/: MoonBit forbids cross-package methods regardless, so internal wouldn't avoid the method->fn conversion, and it would block the design_systems audit-visualizer example from importing audit. | 4 个月前 | |
Add on_hover modifier and related functionality - Implemented the on_hover modifier to allow views to respond to hover events. - Added tests for on_hover to ensure it behaves as a transparent observer without focus or semantics roles. - Enhanced the PlatformServices to include a WindowDragRegionSource for managing window drag regions. - Created a new WindowDragRegionSource struct to handle declarative drag regions for custom window chrome. - Added tests for the WindowDragRegionSource to verify its behavior and integration with platform services. - Updated API surface to reflect new methods and structures related to hover and drag functionalities. | 1 个月前 | |
chore(release): moonc 0.10.16 refresh, module version bumps, drop browser example Toolchain and dependencies: - .moonbit-toolchain pins moonc 0.10.16+b1a0e846e (worker 0.1.202610191); the whole workspace is reformatted with the new canonical moon fmt and the pr profile's fmt --check gate enforces it from here on - third-party dependencies move to their manifest-migrated releases (async 0.22.5, x 0.5.6, svg 0.6.0, accesskit 0.4.2, zeno 0.1.5, quickcheck 0.15.0, pdflite 0.4.0, mbtexcel 0.3.0, crater/css/pixelmatch) - wzzc-dev module family bumps one patch across the board (moui 0.2.4, richtext/markdown/webview/i18n/devtools/agent/agent_mcp 0.2.2, web/sun/tui renderer 0.2.2-0.2.3, skia/sun/tui/theme/webview 0.2.2, 3d family 0.2.2, terminal_host 0.2.1, cli 0.2.5, moui_studio 0.1.2 in its submodule) with every internal pin and generated interface refreshed; the 23 public modules are published in release-stage order Adaptations the new toolchain requires: - accesskit 0.4.2: TreeUpdate::set_tree now takes the TreeInfo record - quickcheck 0.15: quick_check_silence raises; the tooling probe handles it - the views-facade and source-file ratchets move to the post-upgrade counts Product surface: - examples/browser is removed: its crater/js_engine stack depends on registry tarballs that still ship the legacy moon.mod.json manifest, which the new toolchain cannot install - checks/profiles.json and the dead-message catalog follow the ai_world -> new_world rename that the rename commit missed | 10 天前 | |
chore: clear MoonBit toolchain-upgrade warnings workspace-wide The moonc 0.10.14 upgrade introduced new lint categories that fired ~31k warnings across the workspace. All own-code warnings are now eliminated on native and wasm-gc (moon check --warn-list +73 reports 0): - unnecessary_annotation: drop redundant @pkg.Type:: / Type:: qualifiers on constructor and variant references - test_unqualified_package: qualify cross-package types in black-box tests with the package alias (e.g. @renderer.Renderer) - implicit_impl_as_method: make the deprecated implicit trait-method promotions explicit with #doc(hidden) extend declarations collected in per-package extends_*.mbt files (trait-family split for moui/core). Promotions keep working; the generated .mbti interface is unchanged, so API-surface budgets and public declaration counts stay at baseline. - unused_package: drop unused moon.pkg imports; move test-only imports into for "test" / for "wbtest" blocks (moui/backend/common keeps its architecture-mandated core import with a targeted warnings = "-unused_package" opt-out) - deprecated APIs: Array::new -> Array, sub/view -> exact_view - misc: unused variables (_self), reserved keyword (move -> move_event), unused fields, unused type declarations, dead functions Also updates checks/source-file-policy.json ratchets (shrunk files ratchet down, tests grown by required qualification ratchet up) and the maintenance-baseline line budget for the reformatted tool catalog. examples/momark and examples/deepseek_harness_desktop carry the same cleanup as local submodule commits (not pushed). Known pre-existing issue (not caused by this change): the local .mooncakes cache holds bobzhang/pdflite@0.1.38 (a yanked package superseded by moonbitlang/pdflite), whose rijndael dependency uses toolchain-removed syntax (@strconv.from_str, fnalias). Root-level moon check and check-generated-interfaces.mjs fail on those third-party sources until the dependency is migrated. | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 个月前 | ||
| 1 个月前 | ||
| 10 天前 | ||
| 1 个月前 |