makepad/apps/storybook/resources/world_map.svg
Admin 232595aed3 apps, examples: the window manager on Android and Windows, the phone layouts, the task manager, director, mail and the rest; Flow, the asset UI and VJ move to Stage
App and example changes, with the apps that moved to the Stage repository (apps/vj, apps/asset-ui) removed here.

Covers work ebf442a94..2b1a41df4 for apps examples:

- wm: the Android super-app compiles tiles on the phone against the host engine
- cargo-makepad: the super-app APK is packed by `android dyn-pack`, in Rust
- widgets, storybook: the widget catalogue app, some eighty new widgets, a theme store with mixable style sheets, and the rule that a press belongs to
- wm, widgets: the style tween starts with all eight weights, and the new style sheet takes the last number instead of macOS's
- platform: the Android desk swipes at 120 Hz — offscreen render passes and framebuffers cached, SVG meshes kept, font families that complete
- flow: the flow-ui app and the flowgraph canvas return to the workspace, with staged progress in libs/flow
- app_main!: only ship the fonts an app declares (#1247)
- platform, widgets, wm: every Vulkan pass renders through a negative-height viewport again, so a Wayland or X11 window stands upright, and no capture
- calendar: its own colour contrast is named explicitly, now that the theme store exports one under the same name through the widgets glob
- platform, wm, director: a hosted app's software frame arrives as a top-left texture and the window manager and the director carry no flip term at al
- wm: the desktop style menu lists each style once
- cef, video, platform: what Stage's browser needs from the shared layers
- platform, wm: work builds again on iOS, tvOS and wasm, and the window manager is warning-free on Windows
- ci: tools/ci, a Splash runtime that watches a branch and runs every ci.splash it finds
- ci: the terminal gets its pty helper, director is a desktop tool, and a refused input is asked again
- apps: what the CI box found
- Remove Flow, asset and VJ applications moved into Stage
- ci: a quiet header, a build that visibly moves, and scripts that leave the machine alone
- tests: the workspace suite, run as a whole for the first time, passes outside the example UI tests
- examples: the UI tests pass, for the reasons they failed
- tests: the last three failures of the CI box's night
- tools: makepad-screen is makepad-agents, and its binary is `agents`
- tests: the three binaries over ten seconds in release come under it
- wm: the shell menu says what it did, and the CI waits for that
- mail: the phone layout lines up
- clock: the phone layout fits both orientations
- calendar, reminders, calculator, sheets: the phone layouts fit their space
- platform, widgets, wm: a touch that is taken away is cancelled, never released
- weather, notes, finance, photos, route: the phone layouts tidy up
- files: the phone layout tidies up
- wm: the phone shell's surfaces match the app and the grid
- wm on Android: every app is its own process
- clock: a cancelled release neither opens an alarm nor switches tab
- platform, wm: hosted apps ask the WM for what they cannot do themselves
- wm on Android: apps build on the phone
- wm on Android: app transitions and gestures feel like the phone's
- android: rotated Vulkan windows stop rebuilding their swapchain every frame, and hosted children get touch
- android: hosted children hand frames over with GPU fences and draw only when they have work
- wm on Android: gestures and surfaces settle like the phone's
- widgets: touch lists scroll with Android's physics
- wm on Android: the shell follows the Pixel launcher's motion
- wm on Android: Recents shows the apps over a receding home, and the home screen switches looks
- wm on Android: the look switcher stays put, the iOS dock shows its icons, background apps follow a look change
- task, cargo-makepad, widgets, audio: the task manager chooses its columns, graphs every process' network and disk traffic and installs itself as a D
- files: the tile view's three projections are toolbar buttons
- mail: the local view takes a theme-derived palette and line icons, search pages share records
- director: agent lanes form a tree and Grok joins the usage bar
- widgets, draw: skeuomorphic surfaces light each other through an optional relief buffer
- widgets, platform: a texture can light the relief buffer, menus take colour chips, and a style reload recompiles changed shader functions
- platform, widgets, audio_route, ai: window crossfades and whole-frame presents, caption controls that click, themed menus, a stereo-pair audio tap,
- builder: the Builder TUI matches the new terminal design, Windows executables carry app icons, and every app has one
- files: the Files app deletes nothing and never overwrites
- director: coding agents ask before acting unless you choose otherwise
- sheets, score, git, home: saves cannot cut a file short or overwrite another one, and checkouts cannot write outside the repository
- widgets, builder: the big widget families are features, all on by default, and the Builder takes none of them
- ai: Claude Desktop drives any app with the F10 panel
- wm: starts on Windows
- wm: children open no console windows on Windows
- wm: the whole deck out of a Builder's source, compiled only when the person opens an app
- ai: Connect hands the .mcpb to Claude Desktop itself
- wm: the clock and calendar know the date on Windows
- wm: opening an app rebuilds it when its binary is out of date; warm instances never build
- civil-time: one local wall clock for every app, and it knows the zone on Windows
- platform + wm: a hosted child redraws at its tile's new size
- calendar: the Calendars sheet is an opaque panel, and the wide layout does not float one over its sidebar
- platform: an app's package dir, icons and bundle name rebuild only that app
- build: the AI stack, csg, Scope and Source Library join the one workspace
- ai chat: the chat's backends are the CLI, MCP and cloud providers; the local model is the `localai` feature
- apps: every app that hosts the chat has a `localai` feature for the local model, off unless the app's own job runs one
- widgets: every widget family is a crate of its own under widgets/families, and makepad-widgets links, re-exports and registers the ones its features
- aichat, widgets: the chat reads the design feedback through the tweaker's hook, so linking the chat no longer needs the tweaker
- apps, examples, libs: each crate builds only the widget families it uses, and the design overlay is each app's own default feature
- ai chat: a build without local AI starts on the first provider that answers here, not on "No model"
- repo: no third-party comic archive, generated models or sample asset in the tree
- remove big example media files
- wm: in a Makepad Builder installation apps build through the Builder, however wm was started

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 20:10:58 +02:00

20 lines
3.3 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 500" width="1000" height="500">
<!-- The sea carries no id: it is drawn, and a press on it picks nothing. -->
<rect x="0" y="0" width="1000" height="500" fill="#1b2733"/>
<g fill="#4a6076" stroke="#1b2733" stroke-width="1.2">
<path id="north-america" d="M33.3 69.4 L55.6 52.8 L138.9 55.6 L222.2 55.6 L272.2 47.2 L305.6 77.8 L322.2 83.3 L347.2 105.6 L316.7 125.0 L291.7 147.2 L275.0 180.6 L266.7 166.7 L238.9 169.4 L230.6 177.8 L236.1 200.0 L255.6 205.6 L269.4 225.0 L280.6 225.0 L269.4 227.8 L258.3 213.9 L236.1 205.6 L208.3 194.4 L194.4 183.3 L183.3 161.1 L163.9 150.0 L155.6 127.8 L155.6 116.7 L130.6 97.2 L83.3 86.1 L41.7 83.3 Z"/>
<path id="greenland" d="M375.0 83.3 L416.7 72.2 L444.4 55.6 L438.9 38.9 L416.7 25.0 L375.0 19.4 L333.3 22.2 L311.1 33.3 L338.9 61.1 L355.6 75.0 Z"/>
<path id="south-america" d="M286.1 227.8 L300.0 216.7 L327.8 222.2 L355.6 236.1 L361.1 250.0 L394.4 263.9 L402.8 272.2 L391.7 294.4 L366.7 319.4 L338.9 344.4 L327.8 361.1 L319.4 380.6 L308.3 402.8 L291.7 388.9 L297.2 366.7 L302.8 341.7 L305.6 313.9 L291.7 288.9 L275.0 266.7 L277.8 250.0 L283.3 238.9 Z"/>
<path id="europe" d="M483.3 150.0 L475.0 144.4 L475.0 130.6 L497.2 122.2 L488.9 116.7 L505.6 108.3 L511.1 102.8 L522.2 100.0 L527.8 88.9 L513.9 83.3 L530.6 72.2 L547.2 58.3 L583.3 55.6 L611.1 66.7 L666.7 61.1 L666.7 97.2 L644.4 111.1 L633.3 122.2 L611.1 125.0 L602.8 125.0 L577.8 125.0 L577.8 136.1 L566.7 138.9 L563.9 150.0 L552.8 138.9 L544.4 133.3 L550.0 138.9 L541.7 144.4 L533.3 136.1 L527.8 127.8 L508.3 130.6 L500.0 138.9 Z"/>
<path id="africa" d="M483.3 150.0 L527.8 147.2 L555.6 161.1 L588.9 163.9 L597.2 172.2 L619.4 216.7 L641.7 216.7 L625.0 244.4 L613.9 255.6 L611.1 277.8 L597.2 305.6 L588.9 330.6 L572.2 344.4 L550.0 344.4 L533.3 297.2 L525.0 252.8 L525.0 238.9 L508.3 233.3 L491.7 236.1 L480.6 236.1 L463.9 225.0 L452.8 208.3 L455.6 191.7 L463.9 172.2 L475.0 161.1 Z"/>
<path id="asia" d="M666.7 61.1 L708.3 47.2 L777.8 38.9 L861.1 47.2 L944.4 55.6 L972.2 66.7 L944.4 88.9 L888.9 105.6 L861.1 130.6 L838.9 141.7 L836.1 161.1 L811.1 188.9 L791.7 222.2 L786.1 247.2 L775.0 227.8 L772.2 205.6 L761.1 205.6 L750.0 188.9 L736.1 194.4 L722.2 208.3 L713.9 227.8 L700.0 194.4 L688.9 183.3 L669.4 180.6 L658.3 180.6 L658.3 188.9 L644.4 202.8 L625.0 213.9 L619.4 208.3 L608.3 191.7 L597.2 172.2 L597.2 150.0 L583.3 150.0 L572.2 138.9 L580.6 136.1 L597.2 133.3 L613.9 130.6 L633.3 122.2 L644.4 111.1 L666.7 97.2 Z"/>
<path id="antarctica" d="M0.0 450.0 L83.3 458.3 L166.7 452.8 L250.0 444.4 L333.3 425.0 L416.7 444.4 L500.0 444.4 L583.3 438.9 L666.7 436.1 L750.0 433.3 L833.3 433.3 L916.7 450.0 L1000.0 450.0 L1000.0 486.1 L0.0 486.1 Z"/>
<!-- One id on the group: every island under it answers to oceania. -->
<g id="oceania">
<path d="M813.9 311.1 L816.7 322.2 L819.4 338.9 L827.8 347.2 L850.0 338.9 L872.2 338.9 L880.6 347.2 L888.9 355.6 L905.6 358.3 L916.7 352.8 L925.0 327.8 L902.8 291.7 L894.4 280.6 L877.8 283.3 L861.1 280.6 L852.8 288.9 L838.9 297.2 Z"/>
<path d="M980.6 347.2 L994.4 355.6 L991.7 361.1 L977.8 363.9 L972.2 372.2 L963.9 377.8 L961.1 375.0 L975.0 366.7 Z"/>
</g>
<!-- No id, so it is drawn and never picked. -->
<path d="M636.1 286.1 L638.9 300.0 L627.8 319.4 L622.2 311.1 L625.0 297.2 L633.3 283.3 Z"/>
</g>
</svg>