Release/next#61
Merged
Merged
Conversation
- Updated the SplitView UI to reflect build status with loading indicators and error messages. - Removed the DeckWatcher implementation for unsupported platforms and related types. - Introduced DeckBuildStatus, DeckBuildPhase, and DeckBuildError models for better build status management. - Updated tests to cover new build status handling and ensure proper functionality. - Removed deprecated code and cleaned up asset cache store initialization. - Adjusted pubspec dependencies to remove unnecessary references.
…eckLoader implementations - Removed BundledDeckService and its associated tests. - Introduced FileDeckLoader for file-based loading and BundledDeckLoader for asset-based loading. - Updated DeckController to use DeckLoader instead of DeckService. - Modified DeckControllerBuilder to instantiate DeckLoader based on runtime capabilities. - Enhanced tests for DeckLoader to cover various loading scenarios and error handling.
- Added `dart_mappable` and related packages to `pubspec.yaml`. - Updated tests for `Deck`, `Slide`, `Asset`, and `Block` models to improve validation and error handling. - Enhanced parsing and serialization tests for `GeneratedAsset` and `GeneratedAssetsReference`. - Ensured immutability of lists in models by adding tests for unmodifiable collections. - Refactored tests to use non-const constructors for `Slide` and other models for consistency. - Improved error handling in `ContentBlock` and `WidgetBlock` tests. - Updated `SlideConfiguration` to use non-const `SlideOptions`.
…I tool functionality
…entry point - Created `all_tests.dart` to aggregate all integration test suites for shared app lifecycle. - Removed `app_test.dart` as its functionality is now covered by the consolidated tests. - Added new test files for keyboard navigation, navigation, slide content, startup, and UI controls. - Updated helper functions for better exception handling and added new utility methods. - Modified `melos.yaml` to run the consolidated test file for integration tests on Linux and macOS. - Enhanced `DeckConfigurationMapper` to include `superdeckDir` field.
…ignore unknown keys
- Adjusted import paths for various files to improve module organization. - Introduced separate loaders for bundled and file-based deck loading. - Added version command to CLI for displaying the current SuperDeck version. - Enhanced path validation in DeckConfiguration to restrict absolute paths and traversal segments. - Implemented tests for version command and configuration validation.
Restructure deck loaders to use status-only stream API, simplify bundled loader, and rename thumbnailFile to thumbnailKey throughout for clarity. Clean up core models and tests.
Remove the 100ms render settle delay and retry loop from SlideCaptureService by disabling animations during export via the isExporting flag. Add thumbnailKey-based cache invalidation to ThumbnailService and timing logs for diagnostics. Results: ~3.3x faster on macOS, ~3.6x faster on Chrome (20 slides concurrent: 1.6s -> 0.5s).
Add IndexedDB backing to the web AssetCacheStore so thumbnails survive page reloads. Uses write-through caching with in-memory fast path and graceful fallback to memory-only if IndexedDB is unavailable. Refactor IO store to use path_provider with lazy init.
- Moved JSON snapshot utilities to a new helper file for better organization. - Updated test files to use the new helper imports. - Created a new testing utility for creating temporary files and directories. - Added a new file watcher test to ensure file change detection works as expected. - Introduced a new app theme for consistent styling across the application. - Updated references in the deck controller tests to use the new helper imports. - Removed outdated slide template test and consolidated test helpers into a single file. - Added fixture YAML files for testing configurations.
Group files by domain across core, builder, superdeck, and cli: - core: deck/, markdown/, cache/, utils/ - builder: build/, utils/ (parsers/, tasks/, assets/ unchanged) - superdeck: relative barrel exports, test/helpers/ - cli: test/src/commands/ Update AGENTS.md with file organization convention.
Verifies that when presentation content changes, only slides with updated thumbnailKeys are regenerated while unchanged slides reuse their cached AsyncThumbnail instances.
…ting, theming, and database management guidelines
- Removed the `styling.dart` file and directly imported necessary components in `default_style.dart`. - Enhanced the `app_shell.dart` to manage thumbnail warmup more efficiently, ensuring thumbnails are generated only when necessary. - Updated `superdeck_app.dart` to enforce workspace or asset cache store requirements when using a custom deck loader. - Adjusted imports across various test files to reflect the new structure and ensure proper functionality. - Added tests for the `DeckPresentationState` to verify thumbnail generation and disposal behavior. - Created a new public API test to validate exports from the SuperDeck library. - Removed obsolete navigation service tests and cleaned up related code.
Docs: - Add reference pages: builder-api, deck-controller, navigation, pdf-export - Update guides: cli-reference, custom-widgets, markdown-authoring - Refresh deck-options reference and package READMEs Core lib: - Remove superdeck_plugin.dart and drop its export from superdeck.dart - Tighten deck_controller, deck_options, deck_presentation_state, app_shell, bottom_bar, and superdeck_app - Regenerate deck_options.mapper.dart via dart_mappable Tests: - New integration suites (authoring, pdf export, watch) and cli workflows - Golden coverage (block_aligned_center, plain_markdown_slide, section_two_blocks) - Builtins widget tests (dartpad, image, qr_code) and deck controller navigation - Builder watch test and core deck_loader events test - Update deck_options and deck_presentation_state tests Config: - Add packages/cli/.superdeck/ to .gitignore (transient build state) - Add packages/cli/dart_test.yaml to serialize integration tests - Tweak test.yml workflow, playwright.config.ts, melos.yaml, pubspec.yaml Note: .github/workflows/test.yml changes deferred to follow-up — see TODO.md (OAuth workflow scope needed).
… slide counts, and remove unused diagrams
…lide handling and improve exception assertions
- Updated integration tests for slide content to include health checks and capture slides for review. - Introduced representative authored layouts and widgets in tests. - Modified section and block properties to enforce scrolling only on child blocks. - Improved documentation to clarify block and section properties. - Refactored section parser to reject scrollable property on sections. - Added new test cases for section-level validation and layout options. - Enhanced image and QR code widget tests for better coverage. - Implemented new fixtures for testing content and widget combinations. - Ensured proper handling of header and footer space in slide rendering.
…ate image widget URI parsing for Windows paths; enhance block widget rendering logic for scrollable and static states; export deck controller in superdeck; add comprehensive layout and feature matrix integration tests; improve image widget tests for various source types; ensure error handling in custom block widgets; implement scrollable widget tests for drag gestures; validate notes panel functionality in slides.
|
To view this pull requests documentation preview, visit the following URL: Documentation is deployed and generated using docs.page. |
|
Visit the preview URL for this PR (updated for commit c34e462): https://superdeck-dev--pr61-release-next-mn3qzozy.web.app (expires Thu, 04 Jun 2026 21:04:04 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: bd68fc230762285849207e7e120aaf87cd4ca2f9 |
# Conflicts: # .claude/skills~origin_main
- Deleted the `superdeck_pdf` plugin, including its source files, documentation, and tests. - Removed related files such as `.pubignore`, `CHANGELOG.md`, `LICENSE`, `README.md`, and `pubspec.yaml`. - Cleaned up the `superdeck` package documentation and updated links to reflect the new repository ownership.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.