Three independently ugly bugs that all fed the same log flood:
* Electron's `WebFrameMain.send` writes every "Render frame was disposed"
to stderr via `console.error`. When the worker fans a second
agent-event past a reloading renderer, we produced thousands of
identical lines and stalled the main loop on stderr I/O. Added a
`mainFrame.detached` guard so the send is short-circuited before
Electron's own catch block fires, and installed a targeted filter in
`suppress-warnings.ts` (now actually imported from the entry point)
so the specific `console.error("Error sending from webFrameMain:"…)`
noise never reaches the terminal. Any other payload still surfaces.
* `dispatchAgentMessage` accepted the human-reader sentinel as a wake
target when an agent replied to `__board__` — `wakeAgentIfPossible`
then called `db.getAgent("__board__")`, threw, and the dispatcher
kept repeating on every send. Strip `HUMAN_SENDER_ID` at
`resolveMessageWakeTargets`, and keep a defense-in-depth guard in the
heartbeat so a stray caller (future automation fan-out) cannot
reintroduce the crash.
* Pi's skills loader rejects any SKILL.md whose frontmatter `name`
diverges from its parent directory. The four bundled `my-writing-style`
copies declared `name: writing-style-skill`, so every install emitted
a warning and dropped the skill. They also lived as orphan gitlinks
(mode 160000 without .gitmodules), and the global `*.md` gitignore
hid every other SKILL.md from version control. Fixed the frontmatter
to match the dir, converted the dangling submodules to plain trees,
and allowlisted `builtin-skills/**/*.md` so a fresh clone carries the
catalogue instead of silently losing it.
5.9 KiB
5.9 KiB
name, description, triggers, parameters, outputs, retry, observability, level, prerequisites, sasmp_version, bonded_agent, bond_type
| name | description | triggers | parameters | outputs | retry | observability | level | prerequisites | sasmp_version | bonded_agent | bond_type | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mobile-development | iOS (Swift, SwiftUI), Android (Kotlin, Compose), cross-platform (Flutter, React Native), and game development (Unity, Unreal). |
|
|
|
|
|
advanced |
|
1.3.0 | 01-core-paths | PRIMARY_BOND |
Mobile Development Skill
Quick Reference
| Platform | Language | Framework | Timeline | Job Market |
|---|---|---|---|---|
| iOS | Swift | SwiftUI | 6-9 mo | High |
| Android | Kotlin | Compose | 6-9 mo | High |
| Cross-Platform | Dart | Flutter | 4-6 mo | Growing |
| Games | C# | Unity | 12-24 mo | Moderate |
Learning Paths
iOS Development
[1] Swift Fundamentals (4-6 wk)
│ └─ Types, optionals, closures, protocols
│
▼
[2] SwiftUI (4-6 wk)
│ └─ Views, modifiers, state, binding
│
▼
[3] Navigation + Data (3-4 wk)
│ └─ NavigationStack, SwiftData/Core Data
│
▼
[4] Networking + Async (2-3 wk)
│ └─ URLSession, async/await, Combine
│
▼
[5] Testing + App Store (2 wk)
└─ XCTest, TestFlight, submission
2025 Stack: Swift 5.10 + SwiftUI + SwiftData + Xcode 16
Android Development
[1] Kotlin Fundamentals (4-6 wk)
│ └─ Null safety, coroutines, data classes
│
▼
[2] Jetpack Compose (4-6 wk)
│ └─ Composables, state, effects
│
▼
[3] Architecture (3-4 wk)
│ └─ MVVM, Room, Navigation
│
▼
[4] Networking + DI (2-3 wk)
│ └─ Retrofit, Hilt, Flow
│
▼
[5] Testing + Play Store (2 wk)
└─ JUnit, Espresso, release
2025 Stack: Kotlin 2.0 + Jetpack Compose + Room + Hilt
Flutter (Cross-Platform)
[1] Dart Fundamentals (2-3 wk)
│
▼
[2] Flutter Widgets (3-4 wk)
│
▼
[3] State Management (2-3 wk)
│ └─ Riverpod or Bloc
│
▼
[4] Backend Integration (2 wk)
│ └─ Firebase, REST APIs
│
▼
[5] Deploy to Both Stores (1 wk)
2025 Stack: Flutter 3.x + Dart 3.x + Riverpod + Firebase
Game Development
[1] Game Basics (4-6 wk)
│ └─ Game loop, input handling
│
▼
[2] Unity/C# Fundamentals (6-8 wk)
│ └─ GameObjects, Components, Scripts
│
▼
[3] Physics + Graphics (4-6 wk)
│ └─ Rigidbody, colliders, shaders
│
▼
[4] Audio + Polish (2-4 wk)
│
▼
[5] Publish (ongoing)
└─ Steam, App Store, Play Store
2025 Stack: Unity 6 LTS + C# OR Unreal 5.4 + C++
Platform Decision Tree
Which platform?
│
├─► Apple ecosystem only?
│ └─► iOS (Swift + SwiftUI)
│
├─► Android ecosystem only?
│ └─► Android (Kotlin + Compose)
│
├─► Both platforms?
│ ├─► Performance-critical? → Native for both
│ ├─► Budget/time limited? → Flutter
│ └─► Web developer background? → React Native
│
└─► Making games?
├─► 2D/3D indie → Unity
├─► AAA quality → Unreal
└─► Simple 2D → Godot
Game Engine Comparison
| Engine | Market | Language | Learning | Best For |
|---|---|---|---|---|
| Unity | 51% | C# | Medium | Indie, mobile, VR |
| Unreal | 31% | C++/BP | Hard | AAA, high-fidelity |
| Godot | 10% | GDScript | Easy | Indie, 2D |
Troubleshooting
Native vs Cross-platform?
├─► Need platform-specific APIs (HealthKit, ARCore)? → Native
├─► Performance-critical (AR/VR, complex animations)? → Native
├─► Budget or time limited? → Flutter
├─► Team knows JavaScript? → React Native
└─► Starting from scratch? → Flutter (best DX)
Simulator works, device doesn't?
├─► Missing entitlements/capabilities?
├─► Different iOS/Android version?
├─► Network connectivity issues?
└─► Always test on real devices from day 1
App rejected by store?
├─► Read rejection reason carefully
├─► Check App Store Review Guidelines
├─► Most common: metadata issues, crashes, spam
└─► Appeal if unjustified
Common Failure Modes
| Symptom | Root Cause | Recovery |
|---|---|---|
| Slow UI | Too many recompositions | Profile, optimize state |
| Memory leaks | Not cleaning up resources | Use lifecycle-aware components |
| App rejected | Guidelines violation | Read guidelines BEFORE building |
| Game stutters | Draw call overhead | Object pooling, LOD, batching |
Portfolio Projects
Mobile (Progressive)
- Todo App - CRUD basics
- Weather App - API integration
- Chat App - Real-time, auth
- Payment App - Stripe, security
Games
- 2D Platformer - Physics basics
- 3D Runner - 3D graphics, particles
- Multiplayer Game - Networking
Next Actions
Specify your target platform for a detailed learning plan.