Commit Graph

4 Commits

  • fix(tui): Container change detection for proper differential rendering
    Fixed rendering artifact where duplicate bottom borders appeared when components
    dynamically shifted positions (e.g., Ctrl+C in agent clearing status container).
    
    Root cause: Container wasn't reporting as "changed" when cleared (0 children),
    causing differential renderer to skip re-rendering that area.
    
    Solution: Container now tracks previousChildCount and reports changed when
    child count changes, ensuring proper re-rendering when containers are cleared.
    
    - Added comprehensive test reproducing the layout shift artifact
    - Fixed Container to track and report child count changes
    - All tests pass including new layout shift artifact test
  • refactor(tui): Move examples from README to test directory
    - Move chat application example to test/chat-app.ts
    - Move multi-component layout example to test/multi-layout.ts
    - Update README to reference example files instead of inline code
    - Add proper exit handlers (Ctrl+C) to all examples
    - Simplify README by reducing inline code examples
  • docs(tui): Update README with surgical differential rendering documentation
    - Add surgical differential rendering as the main feature
    - Document the three rendering strategies (surgical, partial, full)
    - Add performance metrics documentation
    - Simplify component examples to be more concise
    - Add comprehensive testing section with VirtualTerminal API
    - Include testing best practices and performance testing guidance
    - Remove duplicate TextEditor documentation section
  • Initial monorepo setup with npm workspaces and dual TypeScript configuration
    - Set up npm workspaces for three packages: pi-tui, pi-agent, and pi (pods)
    - Implemented dual TypeScript configuration:
      - Root tsconfig.json with path mappings for development and type checking
      - Package-specific tsconfig.build.json for clean production builds
    - Configured lockstep versioning with sync script for inter-package dependencies
    - Added comprehensive documentation for development and publishing workflows
    - All packages at version 0.5.0 ready for npm publishing