nativemind_core 1.1.0
nativemind_core: ^1.1.0 copied to clipboard
The light base of the NativeMind widgets: design tokens, theme, editions from configuration, primitives (with the handmade DealApp button family and dialogs), the PIN keypad, composites, navigation, c [...]
1.1.0 #
Additive (SDD flows/sdd-widgets-handmade). Everything of 1.0.0 stays as it was.
- New:
NmLocalizationService— Wishyut's run-time string service (VPNclient-app, 2025, handmade, without AI; see PROVENANCE.md):load(locale, {package})readspackages/<package>/assets/lang/<code>.json(default packagenativemind_vpn,package: null= the app's ownassets/lang/; English file when the language file is missing),to(key)returns the string ([key]when missing),currentLocale(English beforeload). It is localization infrastructure, so it lives here:nativemind_vpnuses it withoutnativemind_translations(and so withoutnativemind_copilotand its plugin).nativemind_translations1.0.0 re-exports it unchanged. - Still no plugins.
1.0.0 #
First major version built on code of NativeMind people (SDD flow sdd-widgets-handmade, Phase 1). Migration:
doc/migration-1.0.md; who wrote what: PROVENANCE.md.
New
- Editions from configuration —
NmConfigs,NmConfig,NmConfigCurrent,NmEditionTheme: Anton Dodonov's 2021–22 mechanism (SoundHealer / iScillator) with his keys (title,description,defaults,forces,pages,select,visible,gradient,gradient2,forecolor*, pluspalette).NmConfig.resolve= forces → saved → defaults → first; the edition comes from--dart-define=NM_EDITION=<id>(NM_EDITION_OSoverrides the platform). An edition missing on one platform falls back to another; editions withoutforecolor*get palette colours. - Button family "size × role" of Eugene Tretiakov (DealApp, 2024):
NmWideActionButton,NmWideActionButtonNoIcon,NmWideActionButtonNoIconGrayed,NmWideYellowActionButton,NmWideActionButtonAlt,NmMediumIconActionButton,NmMediumActionButtonRed,NmMediumIconActionButtonBlue,NmToggleActionButton,NmWideCancelButton,NmMediumActionButtonSecondary,NmMediumActionButton,NmMediumActionButtonGrayed,NmTextActionButton,NmMediumActionButtonCompact,NmMediumActionButtonSecond,NmSmallActionButton,NmSmallActionButtonSecondary,NmSmallCancelButton,NmDialogGreenButton,NmDialogGrayButton,NmDialogRedButton,nmBackAndFalse,nmBackAndTrue; his tokensNmColorsRes/nmColorsRes(isManpalettes),nmButtonHeight50/45/40,nmDefaultShape,nmSwd(column width, 500). Fixed: the button heights were computed once (0 before the first frame, stale after rotation) — now getters. - Dialogs without context of Eugene Tretiakov:
nmErrorDialog,nmSuccessDialog,nmAttentionDialog,nmGetTextDialog,nmGetAmountDialog,nmYesNoDialog,nmYesNoDialogExtended,nmYesNoDialogDelayed, andNmTimerButton. They find the root navigator themselves; texts are Russian, as in DealApp. NmPinCodeKeypad+NmPinCodeModel/NmPinCodeTap: Andrey Bekhtold's PIN model (12 cells, length 4, count / fill, tap / delete / forgot), ported to Dart; look per Figma MVP Dilap (keys 65, dots 16, gaps 24).NmPalette.blue/green/orange/pinkandNmPalette.byName.
Deprecated (work until core 2.0)
NmButton()(primary) →NmMediumActionButton/NmWideActionButtonNoIcon(handmade, Eugene Tretiakov).NmButton.destructive→NmMediumActionButtonRed/NmDialogRedButton.NmConfirmDialog→nmYesNoDialogExtended/nmYesNoDialog.NmPalette.nativeMindBlue/nativeMindGreen/nativeMindOrange/nativeMindPink→blue/green/orange/pink(ids staynativeMind*, saved settings keep working).
Breaking
NmSurface(visibility matrix column) is renamedNmVisibilitySurface(it clashed with copilot'sNmSurface).NmSvgIcons(flags, payment, apps) andNmCustomIcons(telecom) moved tonativemind_widgets— their assets were always there;nativemind_widgetsexports them as before. Flags/apps go tonativemind_vpnin its 1.0.- Removed, unused by any package or app:
NmStatusBar,NmIconLegend,NmIconLegendItem,NmCommandLog,NmStatusPill,NmViewModeSwitcher,NmIconStack,NmIconStackItem,NmDeviceClock,NmCompactSearch,NmVoiceGestureButton,NmInlineTranscriptionDisplay,NmCommandPaletteShortcuts, and the input layerNmUnifiedGestureDetector,NmHoverBuilder,NmCursorRegion,NmKeyboardShortcutWrapper,NmArrowKeyNavigator,NmShortcutKeys,NmInputAdapter,NmTouchAdapter,NmMouseAdapter,NmTrackpadAdapter,NmGestureType(the recognizers, gesture settings and input mode stay). - Removed 13 unused strings of
NmLocalizations:actionSearch,actionOpen,actionMore,actionRefresh,labelSettings,labelUnknown,tableColumns,themeTitle,themeLight,themeDark,themeSystem,stateSaved,legendTitle. - Requires
nativemind_icons_fugue^0.2.0 (dev):camera,clipboard-paste,imageare only in core now.
0.1.2 #
NmAdaptiveScaffold: the phone drawer and the agent end drawer keep to the safe area. The drawer header was drawn under the status bar.
0.1.1 #
- Three more essential icons for the copilot's composer:
image,cameraandclipboard-paste(both variants, 1x / 2x / 3x). They are still innativemind_icons_fuguetoo.
0.1.0 #
The light base of the NativeMind widgets, split out of nativemind_widgets (it keeps re-exporting everything here).
- Everything from widgets' core: theme and tokens, primitives, composites, tables, navigation, charts, input, panels, the command palette, voice gesture, l10n infrastructure, the icon API and catalogues.
- Icons: only the 72 essential Fugue icons (≈ 0.9 MB, both variants, 1x / 2x / 3x). They are the icons core and
nativemind_copilotuse. Other Fugue icons come fromnativemind_icons_fugue. A missing icon shows an empty 16 px box plus one debug message, never an error.NmIconAssetssays which package holds what. - No plugins:
NmPrefsStore.fallback(in memory by default) is the store ofNmTableController,NmSidebarControllerandNmLocaleControllerwhen none is passed. It is read at the time of use;NmPrefson shared_preferences and the feature tour stay innativemind_widgets.
- Languages: the base five (en, ru, th, hi, zh).
NmLocaleRegistryletsnativemind_translationsadd more;NmL10n.supportedLocalesincludes them.