Unify and document archipelago framework #12

Closed
opened 2026-02-16 16:09:46 +00:00 by timur · 1 comment
Owner

Archipelagos is meant to be a framework for creating portable, modular dioxus UI components that work against hero_rpc servers, and can be compiled into isolated widgets. The idea of an archipelago is basically that it is:

  • a set of islands (components) within a certain domain such as calendar or messaging
  • has an archipelago (layout of islands) that is self contained with a hero_rpc client.
  • the archipelago is responsible as a view controller of the islands, whereas islands are simple components
  • the archipelago has a wrapper which it uses to track navigation within and between its islands and layouts

Currently, the documentation and implementation around this is not unified. Especially since we need to skill around using this: geomind_code/dev_docs#7, this organization and unification has become necessary.

Archipelagos is meant to be a framework for creating portable, modular dioxus UI components that work against `hero_rpc` servers, and can be compiled into isolated widgets. The idea of an archipelago is basically that it is: - a set of islands (components) within a certain domain such as calendar or messaging - has an archipelago (layout of islands) that is self contained with a `hero_rpc` client. - the archipelago is responsible as a view controller of the islands, whereas islands are simple components - the archipelago has a wrapper which it uses to track navigation within and between its islands and layouts Currently, the documentation and implementation around this is not unified. Especially since we need to skill around using this: https://forge.ourworld.tf/geomind_code/dev_docs/issues/7, this organization and unification has become necessary.
Owner

Status: all three parts of this issue are complete

1. Code unification

PR #21 (development_unify_archipelago_framework) was merged into development. This delivered:

  • Unified single-crate-per-archipelago pattern
  • Metadata-based registry with auto-discovery via build.rs
  • Island and Archipelago traits in core/src/island.rs
  • IslandContext, IslandSize, IslandMode, ArchipelagoSize types
  • Generated registry, router, and props in server/src/generated/

2. Documentation

Already on development:

  • 12 docs in docs/: ARCHITECTURE.md, BUILD.md, CLIENT_INTEGRATION.md, VIEW_SYSTEM.md, THEMING.md, STYLING.md, SERVER_AUTODISCOVERY.md, WASM_OPTIMIZATION.md, MCP_DATA_ATTRIBUTES.md, OBJECT_VIEW_COMPONENTS.md, HERO_OS_SPECS.md, HIERARCHICAL_ARCHIPELAGOS.md
  • Comprehensive README — project structure, all archipelagos, embedding, context config, SDK integration

PR #28 adds docs/CREATING_ISLANDS.md — a practical step-by-step guide for developers creating new islands (crate setup, metadata, theming, auto-discovery registration) + README link.

3. Skill for Claude (dev_docs #7)

The skill already exists on geomind_code/dev_docs development branch at claude/skills/archipelagos/SKILL.md958 lines covering:

  • Architecture overview and key concepts
  • Step-by-step creating a new archipelago (9 steps)
  • Core types reference (IslandContext, IslandSize, IslandMode, etc.)
  • MCP tool integration
  • Design system and CSS variables
  • Client helper pattern (WASM vs native)
  • Porting guide with HTML-to-RSX reference
  • Gotchas and common mistakes

dev_docs #7 can also be closed.

Closing condition

This issue can be closed when PR #28 is merged.

## Status: all three parts of this issue are complete ### 1. Code unification PR #21 (`development_unify_archipelago_framework`) was merged into development. This delivered: - Unified single-crate-per-archipelago pattern - Metadata-based registry with auto-discovery via `build.rs` - `Island` and `Archipelago` traits in `core/src/island.rs` - `IslandContext`, `IslandSize`, `IslandMode`, `ArchipelagoSize` types - Generated registry, router, and props in `server/src/generated/` ### 2. Documentation Already on `development`: - **12 docs in `docs/`**: ARCHITECTURE.md, BUILD.md, CLIENT_INTEGRATION.md, VIEW_SYSTEM.md, THEMING.md, STYLING.md, SERVER_AUTODISCOVERY.md, WASM_OPTIMIZATION.md, MCP_DATA_ATTRIBUTES.md, OBJECT_VIEW_COMPONENTS.md, HERO_OS_SPECS.md, HIERARCHICAL_ARCHIPELAGOS.md - **Comprehensive README** — project structure, all archipelagos, embedding, context config, SDK integration PR #28 adds `docs/CREATING_ISLANDS.md` — a practical step-by-step guide for developers creating new islands (crate setup, metadata, theming, auto-discovery registration) + README link. ### 3. Skill for Claude (dev_docs #7) The skill already exists on [geomind_code/dev_docs](https://forge.ourworld.tf/geomind_code/dev_docs) `development` branch at `claude/skills/archipelagos/SKILL.md` — **958 lines** covering: - Architecture overview and key concepts - Step-by-step creating a new archipelago (9 steps) - Core types reference (IslandContext, IslandSize, IslandMode, etc.) - MCP tool integration - Design system and CSS variables - Client helper pattern (WASM vs native) - Porting guide with HTML-to-RSX reference - Gotchas and common mistakes [dev_docs #7](https://forge.ourworld.tf/geomind_code/dev_docs/issues/7) can also be closed. ### Closing condition This issue can be closed when **PR #28** is merged.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_archipelagos#12
No description provided.