Skip to main content
Docs: Overview

Documentation

PIE is a set of web components. Items are built from interaction elements, published from pie-elements-ng; players render them in your page, and the assessment toolkit adds tools, accommodations and read-aloud. Your application keeps content, sessions, scores and policy.

The system

Authors and students use a host application, which embeds the PIE players with an item config, session and policy and receives session-changed. The players load elements from the PIE bundle host as IIFE bundles, from an ESM CDN, or from the host's own build with the preloaded strategy; all are built from the @pie-element packages on npm. Optional services: a host-run TTS server for speech and word timings, and the PIE API service as player backend for content, sessions and scoring.

The packages

Every player package publishes as @pie-players/<name>, all at one shared version. Elements publish separately as @pie-element/*.

Package map. The item, section, assessment and print players depend on the assessment toolkit, which uses tool composition, the 15 pie-tool packages, calculator providers, the TTS client and server-side TTS packages. Everything rests on pie-players-shared, pie-theme, pie-context and the provider contracts. The developer panels are pie-section-player-tools packages.

Guides

Source documentation

These pages summarize; the repositories hold the full references. Getting started(opens in new tab) · Architecture(opens in new tab) · pie-players(opens in new tab) · pie-elements-ng(opens in new tab) · pie-qti(opens in new tab)