Skip to content

docs: spec PIC package composition + correct composition status#37

Merged
colinrozzi merged 1 commit into
mainfrom
docs-pic-composition
Jul 12, 2026
Merged

docs: spec PIC package composition + correct composition status#37
colinrozzi merged 1 commit into
mainfrom
docs-pic-composition

Conversation

@colinrozzi

Copy link
Copy Markdown
Owner

Spec: PIC package composition + accurate composition status

Requested spec for the next step of package-to-package composition, plus a docs correction.

  • docs/pic-composition.md (new) — design spec for porting CompositionBuilder onto the 0.8.x PIC loader. The current builder gives each package its own memory and copies bytes between them on every cross-call; the PIC version lets N packages share one memory (one allocator, disjoint bases) and wires A's import directly to B's export — no cross-memory copy. Includes the two-package adder+doubler example to build first, honest open questions (return-buffer free, memory floor scaling), and the path to level-3 static merge into one .wasm.
  • README — the "Static Composition — compose multiple packages into one module" checkbox was overstated; reworked into an accurate level-1/2/3 roadmap (runtime composition shipped ✓, PIC dynamic linking shipped ✓, PIC composition specced, static merge future).
  • package-linking-exploration.md — pointer to the new spec.

Docs only — no code. For review before merge.

🤖 Generated with Claude Code

Adds docs/pic-composition.md — the design spec for porting CompositionBuilder onto
the 0.8.x PIC shared-memory loader (N packages share one memory, cross-calls pass
pointers directly instead of copying between memories), with a two-package
adder+doubler example and the path to static merge into one .wasm.

Also corrects the README: the shipped composition is RUNTIME composition (separate
memories, cross-memory bridge), not a merged module; adds the level-1/2/3 roadmap.
package-linking-exploration.md gets a pointer to the new spec.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@colinrozzi colinrozzi merged commit 358f144 into main Jul 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant