Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@rpechuk
Copy link
Collaborator

@rpechuk rpechuk commented Feb 9, 2025

This PR contains and MVP for the new Publish CLI tool that will be used to transform YAML/JSON specs into shippable visualizations.

Current Changes:

  • Added mosaic-publish CLI tool for compiling and optimizing specs, handling data export, interactivity, and optimizations.

TODOs:

  • Add more user control over optimization params/streamline current user control (selective dataset inclusion, DuckDB export settings, granular optimization flags, etc.).
  • Refactor duplicated logic between MosaicClient and new base classes. Namely combine both base classes into one base class that discribes any activatable client. (See feat: consolidated activatable logic to core #683)
    • Open Question: Where should this be created since these span multiple packages
  • Expand README and add tests for CLI and utilities
  • Add further optimization and improve upon current optimizations:
    • Namely work on better pre-rendering + hydration
    • Automatic Tiling implementation
    • Cache hydration
    • Smart spec re-writing
    • etc.

Open Questions:

  • How should we handle interactive pre-rendered visualizations before data is loaded?
  • Are there any better/other output formats we should support?
  • Is the current way of handling dependencies correct (w/o relative reference to package and instead using npm version)?

@rpechuk rpechuk requested a review from jheer February 9, 2025 21:07
@rpechuk rpechuk changed the base branch from main to ron/activatable-interface February 9, 2025 21:24
Base automatically changed from ron/activatable-interface to main February 13, 2025 18:33
@rpechuk rpechuk marked this pull request as ready for review February 17, 2025 00:43
@rpechuk rpechuk changed the base branch from main to ron/ast-to-dom-typing February 21, 2025 03:37
Base automatically changed from ron/ast-to-dom-typing to v0.13.0 February 28, 2025 23:48
Base automatically changed from v0.13.0 to main March 1, 2025 00:22
@rpechuk
Copy link
Collaborator Author

rpechuk commented Mar 3, 2025

Following up on #705 does it make sense to move away from CDN imports in published visualization code to avoid having to cut a release of other packages for a publish package release?

IMO, this has both benifts and downsides so maybe it makes sense to allow end user to choose and parametrize available optimizations based on user choice and available functionality.

rpechuk and others added 20 commits March 10, 2025 19:47
* feat: add typing and import/export to caches

* feat: add type propogation jsDocs

* feat: add cache publishing

* fix: change exporting to export Map

* fix: remove unnecessary params
…nator` for clause sources (#772)

* feat: change Activatable interface to ClauseSource interface

* feat: add clause source bookkeeping in coordinator

* fix: handle undefined clauseSources

* fix: remove selection reset from clause source reset fn

* feat: add clause source registration to coordinator

* fix: update typing on clause function + finish updating reset functions

* Simplify code in Interval2D.js

* Simplify code in Nearest.js

* Simplify code in PanZoom.js

* Simplify code in Region.js

* Simplify code in Toggle.js

* fix: move registration to constructor + add no arg clause functionality

* fix: update panzoom clause to throw error on improper usage

---------

Co-authored-by: Jeffrey Heer <[email protected]>
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.

2 participants