diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a8077fd..801e5292 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,329 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## 2024-10-23 + +### Changes + +--- + +Packages with breaking changes: + + - [`thermion_dart` - `v0.2.1-dev.0.0.10`](#thermion_dart---v021-dev0010) + - [`thermion_flutter` - `v0.2.1-dev.9`](#thermion_flutter---v021-dev9) + - [`thermion_flutter_ffi` - `v0.2.1-dev.9`](#thermion_flutter_ffi---v021-dev9) + - [`thermion_flutter_platform_interface` - `v0.2.1-dev.9`](#thermion_flutter_platform_interface---v021-dev9) + - [`thermion_flutter_web` - `v0.2.0`](#thermion_flutter_web---v020) + +Packages with other changes: + + - There are no other changes in this release. + +--- + +#### `thermion_dart` - `v0.2.1-dev.0.0.10` + + - Change defaults for DelegateInputHandler + + - **REFACTOR**: move native types to own header, add methods for create/destroy material instance, add priority/layer to load_glb_from_buffer. + - **REFACTOR**: native types. + - **REFACTOR**: continual refactor to support multiple render targets. + - **REFACTOR**: native types. + - **REFACTOR**: move native types to own header, add methods for create/destroy material instance, add priority/layer to load_glb_from_buffer. + - **REFACTOR**: Dart types. + - **REFACTOR**: Dart types. + - **REFACTOR**: continual refactor to support multiple render targets. + - **REFACTOR**: native types. + - **REFACTOR**: native types. + - **FIX**: set render target to null for each view and then destroy render targets when viewer disposed. + - **FIX**: add check for nan NDC coordinates for viewport translation. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FIX**: properly destroy entities/material/etc in Gizmo on destruction, remove custom scene creation logic. + - **FIX**: dont calculate surface orientation for non-triangle geometry. + - **FIX**: set View render target to nullptr if Dart renderTarget is null. + - **FIX**: properly destroy entities/material/etc in Gizmo on destruction, remove custom scene creation logic. + - **FIX**: add Fence to capture() and set stencil buffer by default. + - **FIX**: emscripten export visibility for add_light. + - **FIX**: (wasm) use correct coords for pick, free memory correctly, keep pixelratio copy. + - **FIX**: add more nan checks for gizmo manipulation. + - **FIX**: add check for nan NDC coordinates for viewport translation. + - **FIX**: (web) add emscripten guards for flushAndWait call when swapchain destroyed. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FIX**: dont calculate surface orientation for non-triangle geometry. + - **FIX**: add more nan checks for gizmo manipulation. + - **FIX**: set View render target to nullptr if Dart renderTarget is null. + - **FIX**: set render target to null for each view and then destroy render targets when viewer disposed. + - **FIX**: move ThermionWin32.h to include. + - **FIX**: move ThermionWin32.h to include. + - **FIX**: (wasm) use correct coords for pick, free memory correctly, keep pixelratio copy. + - **FIX**: emscripten export visibility for add_light. + - **FIX**: ignore pick results directly on axis. + - **FIX**: add Fence to capture() and set stencil buffer by default. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FIX**: (web) add emscripten guards for flushAndWait call when swapchain destroyed. + - **FIX**: ignore pick results directly on axis. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FEAT**: download WASM module directly on web (no need to embed in index.html any more) and expose updateViewportAndCameraProjection. + - **FEAT**: layers, grid. + - **FEAT**: simplify FixedOrbitCameraRotationDelegate. + - **FEAT**: produce debug symbols on Windows. + - **FEAT**: move HighlightOverlay to nested class, move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector. + - **FEAT**: set InputType.SCALE1 to ROTATE by default for DelegateInputHandler.fixedOrbit. + - **FEAT**: parent the cloned entity instance when setting stencil highlight. + - **FEAT**: add getAncestor method. + - **FEAT**: add getAncestor method. + - **FEAT**: set stencil highlight on gizmo attach. + - **FEAT**: move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector and removeStencilHighlight. + - **FEAT**: download WASM module directly on web (no need to embed in index.html any more) and expose updateViewportAndCameraProjection. + - **FEAT**: move HighlightOverlay to nested class, move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector. + - **FEAT**: add removeStencilHighlight, accept color param for setStencilHighlight, queuePositionUpdateFromViewportCoords to ThermionDartApi. + - **FEAT**: add removeStencilHighlight, queuePositionUpdateFromViewportCoords to ThermionViewer. + - **FEAT**: camera and resizing improvements. + - **FEAT**: add flag for keepData for gltf instancing, add highlightScene, add stencilHighlight method. + - **FEAT**: grid uses own material. + - **FEAT**: set SCALE2:InputAction.ZOOM by default. + - **FEAT**: add grid material. + - **FEAT**: expose setLightDirection and setLightPosition. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: use imported texture on iOS. + - **FEAT**: add setGizmoVisibility/pickGizmo methods to ThermionViewer. + - **FEAT**: remove gizmo view references, exclude gizmo entities from picking, add createIbl. + - **FEAT**: createIbl. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: expose API methods for create_ibl, pick/set gizmo visibility. + - **FEAT**: create transparent overlay for gizmo for easier picking. + - **FEAT**: rescale gizmo based on distance from camera. + - **FEAT**: rescale gizmo based on distance from camera. + - **FEAT**: track zoom delta for DelegateInputHandler. + - **FEAT**: expose setLayerEnabled, viewportDimensions and getCameraFov on ThermionView. + - **FEAT**: layers, grid. + - **FEAT**: add capture() function and expose viewportDimensions on ThermionViewer (allows easier saving of captured images to PNG). + - **FEAT**: ignore grid overlay and gizmo center when picking, implement highlighting. + - **FEAT**: SceneManager updates (setLayer, add grid, queueRelativePositionUpdateWorld. + - **FEAT**: expose set_layer_enabled, get_camera_fov and queue_relative_position_updateg_world_axis to ThermionDartApi.h. + - **FEAT**: add getCameraFov to FilamentViewer. + - **FEAT**: add new grid overlay files to web CmakeLists. + - **FEAT**: re-implement (native) Gizmo class, expose preserveScaling parameter for setParent, add methods for getting viewport bounding box from renderable entity. + - **FEAT**: more work on multiple views/swapchains. + - **FEAT**: rescale gizmo based on distance from camera. + - **FEAT**: add capture() function and expose viewportDimensions on ThermionViewer (allows easier saving of captured images to PNG). + - **FEAT**: (web) allow table growth in emscripten module for passing C-style callback function pointers. + - **FEAT**: (web) add capture() method and missing camera navigation controls. + - **FEAT**: rescale gizmo based on distance from camera. + - **FEAT**: add grid material. + - **FEAT**: add startOffset parameter to gltf playAnimation. + - **FEAT**: create transparent overlay for gizmo for easier picking. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: produce debug symbols on Windows. + - **FEAT**: (web) add capture() method and missing camera navigation controls. + - **FEAT**: re-implement (native) Gizmo class, expose preserveScaling parameter for setParent, add methods for getting viewport bounding box from renderable entity. + - **FEAT**: add new grid overlay files to web CmakeLists. + - **FEAT**: expose API methods for create_ibl, pick/set gizmo visibility. + - **FEAT**: add setParameterFloat2 method. + - **FEAT**: createIbl. + - **FEAT**: simplify FixedOrbitCameraRotationDelegate. + - **FEAT**: add setParameterFloat2 method. + - **FEAT**: expose setLayerEnabled, viewportDimensions and getCameraFov on ThermionView. + - **FEAT**: (web) allow table growth in emscripten module for passing C-style callback function pointers. + - **FEAT**: add getCameraFov to FilamentViewer. + - **FEAT**: camera and resizing improvements. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: use imported texture on iOS. + - **FEAT**: add removeStencilHighlight, accept color param for setStencilHighlight, queuePositionUpdateFromViewportCoords to ThermionDartApi. + - **FEAT**: expose set_layer_enabled, get_camera_fov and queue_relative_position_updateg_world_axis to ThermionDartApi.h. + - **FEAT**: more work on multiple views/swapchains. + - **FEAT**: move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector and removeStencilHighlight. + - **FEAT**: remove gizmo view references, exclude gizmo entities from picking, add createIbl. + - **FEAT**: add setGizmoVisibility/pickGizmo methods to ThermionViewer. + - **FEAT**: add uvScale to unlit material. + - **FEAT**: add setParameterFloat2 method. + - **FEAT**: add setParameterFloat2 method. + - **FEAT**: set stencil highlight on gizmo attach. + - **FEAT**: add startOffset parameter to gltf playAnimation. + - **FEAT**: add ThirdPersonCameraDelegate. + - **FEAT**: add uvScale to unlit material. + - **FEAT**: add ThirdPersonCameraDelegate. + - **FEAT**: expose setLightDirection and setLightPosition. + - **FEAT**: set camera model matrix directly. + - **FEAT**: expose more camera methods. + - **FEAT**: add getAncestor method. + - **FEAT**: grid uses own material. + - **FEAT**: add flag for keepData for gltf instancing, add highlightScene, add stencilHighlight method. + - **FEAT**: set camera model matrix directly. + - **FEAT**: add removeStencilHighlight, queuePositionUpdateFromViewportCoords to ThermionViewer. + - **FEAT**: expose more camera methods. + - **FEAT**: ignore grid overlay and gizmo center when picking, implement highlighting. + - **FEAT**: layers, grid. + - **FEAT**: layers, grid. + - **FEAT**: parent the cloned entity instance when setting stencil highlight. + - **FEAT**: add getAncestor method. + - **FEAT**: SceneManager updates (setLayer, add grid, queueRelativePositionUpdateWorld. + - **DOCS**: add quickstart to README. + - **DOCS**: add quickstart to README. + - **BREAKING** **REFACTOR**: remove RenderThread methods no longer needed. + - **BREAKING** **REFACTOR**: refactor to support multiple Views/Render Targets. + - **BREAKING** **REFACTOR**: refactor to support multiple Views/Render Targets. + - **BREAKING** **REFACTOR**: remove RenderThread methods no longer needed. + - **BREAKING** **FIX**: Dart-only release mode builds on Window. + - **BREAKING** **FIX**: (windows) add flushAndWait call to capture() to prevent stalling on Windows; use provided buffer as pixelBuffer rather than duplicate allocation. + - **BREAKING** **FIX**: fix min SDK for thermion_dart. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: add meshoptimizer lib on Windows. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: Dart-only release mode builds on Window. + - **BREAKING** **FIX**: (web/wasm) free pick callbacks on dispose. + - **BREAKING** **FIX**: (windows) add flushAndWait call to capture() to prevent stalling on Windows; use provided buffer as pixelBuffer rather than duplicate allocation. + - **BREAKING** **FIX**: add meshoptimizer lib on Windows. + - **BREAKING** **FIX**: (web/wasm) free pick callbacks on dispose. + - **BREAKING** **FIX**: fix min SDK for thermion_dart. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FEAT**: update web/http dependencies. + - **BREAKING** **FEAT**: big refactor to support multiple swapchains. + - **BREAKING** **FEAT**: update web/http dependencies. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: set baseColorIndex to -1 by default in unlit materialss. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: big refactor to support multiple swapchains. + - **BREAKING** **FEAT**: set baseColorIndex to -1 by default in unlit materialss. + - **BREAKING** **CHORE**: cleanup deleted export. + - **BREAKING** **CHORE**: remove EntityTransformController (requires replacement). + - **BREAKING** **CHORE**: restructure viewer folders as libraries to only export the public interface. + - **BREAKING** **CHORE**: View.getCamera returns Future. + - **BREAKING** **CHORE**: cleanup deleted export. + - **BREAKING** **CHORE**: remove EntityTransformController (requires replacement). + - **BREAKING** **CHORE**: View.getCamera returns Future. + - **BREAKING** **CHORE**: restructure viewer folders as libraries to only export the public interface. + +#### `thermion_flutter` - `v0.2.1-dev.9` + + - **REFACTOR**: continual refactor to support multiple render targets. + - **REFACTOR**: continual refactor to support multiple render targets. + - **FIX**: (flutter) pass ThermionFlutterOptions to ThermionWidget, use dpr for resizeTexture, delete unnecessary TransparencyPainter class. + - **FIX**: (flutter/web) use window.devicePixelRatio for viewport. + - **FIX**: use internal Set for determining first ThermionTextureWidget to call requestFrame and cleanup destruction logic. + - **FIX**: (flutter) pass ThermionFlutterOptions to ThermionWidget, use dpr for resizeTexture, delete unnecessary TransparencyPainter class. + - **FIX**: fix all Windows warnings so apps will compile with /WX. + - **FIX**: (flutter) desktop gesture detector changes for new Gizmo methods. + - **FIX**: (flutter/web) use window.devicePixelRatio for viewport. + - **FIX**: use internal Set for determining first ThermionTextureWidget to call requestFrame and cleanup destruction logic. + - **FIX**: fix all Windows warnings so apps will compile with /WX. + - **FIX**: (flutter) desktop gesture detector changes for new Gizmo methods. + - **FEAT**: highlight gizmo on hover. + - **FEAT**: add rendering check to ThermionWidget ticker. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: allow passing null options to ThermionWidget. + - **FEAT**: (flutter) (web) if importCanvasAsWidget is false, render transparency. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: use imported texture on iOS. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: highlight gizmo on hover. + - **FEAT**: (flutter) (web) if importCanvasAsWidget is false, render transparency. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: add rendering check to ThermionWidget ticker. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: camera and resizing improvements. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: (flutter) (windows) add Destroy() to BackingWindow. + - **FEAT**: (flutter) (windows) add Destroy() to BackingWindow. + - **FEAT**: camera and resizing improvements. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: allow passing null options to ThermionWidget. + - **FEAT**: use imported texture on iOS. + - **BREAKING** **FIX**: remove EntityControllerMouseWidget (replace with GestureHandler). + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FIX**: remove EntityControllerMouseWidget (replace with GestureHandler). + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: resize canvas on web. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: resize canvas on web. + - **BREAKING** **CHORE**: remove superseded HardwareKeyboard* classes. + - **BREAKING** **CHORE**: (flutter) cleanup for pub.dev publishing. + - **BREAKING** **CHORE**: remove EntityListWidget - will replace with new Scene. + - **BREAKING** **CHORE**: rename controller to viewer in gesture detector widgets. + - **BREAKING** **CHORE**: rename controller to viewer in gesture detector widgets. + - **BREAKING** **CHORE**: remove EntityListWidget - will replace with new Scene. + - **BREAKING** **CHORE**: (flutter) cleanup for pub.dev publishing. + - **BREAKING** **CHORE**: remove superseded HardwareKeyboard* classes. + +#### `thermion_flutter_ffi` - `v0.2.1-dev.9` + + - **REFACTOR**: continual refactor to support multiple render targets. + - **REFACTOR**: continual refactor to support multiple render targets. + - **FIX**: on resize, destroy swapchain if destroySwapChainOnResize is true. + - **FIX**: add listener in ThermionFlutterTextureBackedPlatform to unset viewer on dispose. + - **FIX**: add listener in ThermionFlutterMethodChannelInterface to unset viewer on dispose. + - **FIX**: clean up destruction logic for FlutterPlatformTexture. + - **FIX**: on resize, destroy swapchain if destroySwapChainOnResize is true. + - **FIX**: add listener in ThermionFlutterTextureBackedPlatform to unset viewer on dispose. + - **FIX**: add listener in ThermionFlutterMethodChannelInterface to unset viewer on dispose. + - **FIX**: clean up destruction logic for FlutterPlatformTexture. + - **FIX**: web/JS bool checks need to compare to int. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: use imported texture on iOS. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: (flutter) move DPR calculation to resizeTexture and add createViewerWithOptions method to ThermionFlutterFFI. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: use imported texture on iOS. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: (flutter) move DPR calculation to resizeTexture and add createViewerWithOptions method to ThermionFlutterFFI. + - **BREAKING** **REFACTOR**: refactor to support multiple Views/Render Targets. + - **BREAKING** **REFACTOR**: refactor to support multiple Views/Render Targets. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FEAT**: big refactor to support multiple swapchains. + - **BREAKING** **FEAT**: big refactor to support multiple swapchains. + +#### `thermion_flutter_platform_interface` - `v0.2.1-dev.9` + + - **REFACTOR**: continual refactor to support multiple render targets. + - **REFACTOR**: continual refactor to support multiple render targets. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: add ThermionFlutterOptions classes, rename interface parameter for offsetTop and ensure pixelRatio is passed to resizeTexture. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: add ThermionFlutterOptions classes, rename interface parameter for offsetTop and ensure pixelRatio is passed to resizeTexture. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + +#### `thermion_flutter_web` - `v0.2.0` + + - **FIX**: (flutter/web) use window.devicePixelRatio for viewport. + - **FIX**: (flutter/web) use window.devicePixelRatio for viewport. + - **FEAT**: (flutter) (web) use options to determine whether to create canvas, and set fixed position + offset. + - **FEAT**: add ThermionFlutterOptions classes, rename interface parameter for offsetTop and ensure pixelRatio is passed to resizeTexture. + - **FEAT**: (flutter) (web) use options to determine whether to create canvas, and set fixed position + offset. + - **FEAT**: add ThermionFlutterOptions classes, rename interface parameter for offsetTop and ensure pixelRatio is passed to resizeTexture. + - **FEAT**: allow passing assetPathPrefix to ThermionViewerWasm to account for Flutter build asset paths. + - **BREAKING** **FEAT**: (flutter) (web) upgrade package:web dep to 1.0.0. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: resize canvas on web. + - **BREAKING** **FEAT**: (flutter) (web) upgrade package:web dep to 1.0.0. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: resize canvas on web. + - **BREAKING** **CHORE**: restructure viewer folders as libraries to only export the public interface. + - **BREAKING** **CHORE**: restructure viewer folders as libraries to only export the public interface. + + ## 2024-10-23 ### Changes diff --git a/thermion_dart/CHANGELOG.md b/thermion_dart/CHANGELOG.md index cd773efe..6f3bd8c3 100644 --- a/thermion_dart/CHANGELOG.md +++ b/thermion_dart/CHANGELOG.md @@ -1,3 +1,185 @@ +## 0.2.1-dev.0.0.10 + +> Note: This release has breaking changes. + + - Change defaults for DelegateInputHandler + + - **REFACTOR**: move native types to own header, add methods for create/destroy material instance, add priority/layer to load_glb_from_buffer. + - **REFACTOR**: native types. + - **REFACTOR**: continual refactor to support multiple render targets. + - **REFACTOR**: native types. + - **REFACTOR**: move native types to own header, add methods for create/destroy material instance, add priority/layer to load_glb_from_buffer. + - **REFACTOR**: Dart types. + - **REFACTOR**: Dart types. + - **REFACTOR**: continual refactor to support multiple render targets. + - **REFACTOR**: native types. + - **REFACTOR**: native types. + - **FIX**: set render target to null for each view and then destroy render targets when viewer disposed. + - **FIX**: add check for nan NDC coordinates for viewport translation. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FIX**: properly destroy entities/material/etc in Gizmo on destruction, remove custom scene creation logic. + - **FIX**: dont calculate surface orientation for non-triangle geometry. + - **FIX**: set View render target to nullptr if Dart renderTarget is null. + - **FIX**: properly destroy entities/material/etc in Gizmo on destruction, remove custom scene creation logic. + - **FIX**: add Fence to capture() and set stencil buffer by default. + - **FIX**: emscripten export visibility for add_light. + - **FIX**: (wasm) use correct coords for pick, free memory correctly, keep pixelratio copy. + - **FIX**: add more nan checks for gizmo manipulation. + - **FIX**: add check for nan NDC coordinates for viewport translation. + - **FIX**: (web) add emscripten guards for flushAndWait call when swapchain destroyed. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FIX**: dont calculate surface orientation for non-triangle geometry. + - **FIX**: add more nan checks for gizmo manipulation. + - **FIX**: set View render target to nullptr if Dart renderTarget is null. + - **FIX**: set render target to null for each view and then destroy render targets when viewer disposed. + - **FIX**: move ThermionWin32.h to include. + - **FIX**: move ThermionWin32.h to include. + - **FIX**: (wasm) use correct coords for pick, free memory correctly, keep pixelratio copy. + - **FIX**: emscripten export visibility for add_light. + - **FIX**: ignore pick results directly on axis. + - **FIX**: add Fence to capture() and set stencil buffer by default. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FIX**: (web) add emscripten guards for flushAndWait call when swapchain destroyed. + - **FIX**: ignore pick results directly on axis. + - **FIX**: move createUnlitMaterialInstance and createGeometry to render thread. + - **FEAT**: download WASM module directly on web (no need to embed in index.html any more) and expose updateViewportAndCameraProjection. + - **FEAT**: layers, grid. + - **FEAT**: simplify FixedOrbitCameraRotationDelegate. + - **FEAT**: produce debug symbols on Windows. + - **FEAT**: move HighlightOverlay to nested class, move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector. + - **FEAT**: set InputType.SCALE1 to ROTATE by default for DelegateInputHandler.fixedOrbit. + - **FEAT**: parent the cloned entity instance when setting stencil highlight. + - **FEAT**: add getAncestor method. + - **FEAT**: add getAncestor method. + - **FEAT**: set stencil highlight on gizmo attach. + - **FEAT**: move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector and removeStencilHighlight. + - **FEAT**: download WASM module directly on web (no need to embed in index.html any more) and expose updateViewportAndCameraProjection. + - **FEAT**: move HighlightOverlay to nested class, move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector. + - **FEAT**: add removeStencilHighlight, accept color param for setStencilHighlight, queuePositionUpdateFromViewportCoords to ThermionDartApi. + - **FEAT**: add removeStencilHighlight, queuePositionUpdateFromViewportCoords to ThermionViewer. + - **FEAT**: camera and resizing improvements. + - **FEAT**: add flag for keepData for gltf instancing, add highlightScene, add stencilHighlight method. + - **FEAT**: grid uses own material. + - **FEAT**: set SCALE2:InputAction.ZOOM by default. + - **FEAT**: add grid material. + - **FEAT**: expose setLightDirection and setLightPosition. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: use imported texture on iOS. + - **FEAT**: add setGizmoVisibility/pickGizmo methods to ThermionViewer. + - **FEAT**: remove gizmo view references, exclude gizmo entities from picking, add createIbl. + - **FEAT**: createIbl. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: expose API methods for create_ibl, pick/set gizmo visibility. + - **FEAT**: create transparent overlay for gizmo for easier picking. + - **FEAT**: rescale gizmo based on distance from camera. + - **FEAT**: rescale gizmo based on distance from camera. + - **FEAT**: track zoom delta for DelegateInputHandler. + - **FEAT**: expose setLayerEnabled, viewportDimensions and getCameraFov on ThermionView. + - **FEAT**: layers, grid. + - **FEAT**: add capture() function and expose viewportDimensions on ThermionViewer (allows easier saving of captured images to PNG). + - **FEAT**: ignore grid overlay and gizmo center when picking, implement highlighting. + - **FEAT**: SceneManager updates (setLayer, add grid, queueRelativePositionUpdateWorld. + - **FEAT**: expose set_layer_enabled, get_camera_fov and queue_relative_position_updateg_world_axis to ThermionDartApi.h. + - **FEAT**: add getCameraFov to FilamentViewer. + - **FEAT**: add new grid overlay files to web CmakeLists. + - **FEAT**: re-implement (native) Gizmo class, expose preserveScaling parameter for setParent, add methods for getting viewport bounding box from renderable entity. + - **FEAT**: more work on multiple views/swapchains. + - **FEAT**: rescale gizmo based on distance from camera. + - **FEAT**: add capture() function and expose viewportDimensions on ThermionViewer (allows easier saving of captured images to PNG). + - **FEAT**: (web) allow table growth in emscripten module for passing C-style callback function pointers. + - **FEAT**: (web) add capture() method and missing camera navigation controls. + - **FEAT**: rescale gizmo based on distance from camera. + - **FEAT**: add grid material. + - **FEAT**: add startOffset parameter to gltf playAnimation. + - **FEAT**: create transparent overlay for gizmo for easier picking. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: produce debug symbols on Windows. + - **FEAT**: (web) add capture() method and missing camera navigation controls. + - **FEAT**: re-implement (native) Gizmo class, expose preserveScaling parameter for setParent, add methods for getting viewport bounding box from renderable entity. + - **FEAT**: add new grid overlay files to web CmakeLists. + - **FEAT**: expose API methods for create_ibl, pick/set gizmo visibility. + - **FEAT**: add setParameterFloat2 method. + - **FEAT**: createIbl. + - **FEAT**: simplify FixedOrbitCameraRotationDelegate. + - **FEAT**: add setParameterFloat2 method. + - **FEAT**: expose setLayerEnabled, viewportDimensions and getCameraFov on ThermionView. + - **FEAT**: (web) allow table growth in emscripten module for passing C-style callback function pointers. + - **FEAT**: add getCameraFov to FilamentViewer. + - **FEAT**: camera and resizing improvements. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: use imported texture on iOS. + - **FEAT**: add removeStencilHighlight, accept color param for setStencilHighlight, queuePositionUpdateFromViewportCoords to ThermionDartApi. + - **FEAT**: expose set_layer_enabled, get_camera_fov and queue_relative_position_updateg_world_axis to ThermionDartApi.h. + - **FEAT**: more work on multiple views/swapchains. + - **FEAT**: move createGeometry to SceneManager, add queueRelativePositionUpdateFromViewportVector and removeStencilHighlight. + - **FEAT**: remove gizmo view references, exclude gizmo entities from picking, add createIbl. + - **FEAT**: add setGizmoVisibility/pickGizmo methods to ThermionViewer. + - **FEAT**: add uvScale to unlit material. + - **FEAT**: add setParameterFloat2 method. + - **FEAT**: add setParameterFloat2 method. + - **FEAT**: set stencil highlight on gizmo attach. + - **FEAT**: add startOffset parameter to gltf playAnimation. + - **FEAT**: add ThirdPersonCameraDelegate. + - **FEAT**: add uvScale to unlit material. + - **FEAT**: add ThirdPersonCameraDelegate. + - **FEAT**: expose setLightDirection and setLightPosition. + - **FEAT**: set camera model matrix directly. + - **FEAT**: expose more camera methods. + - **FEAT**: add getAncestor method. + - **FEAT**: grid uses own material. + - **FEAT**: add flag for keepData for gltf instancing, add highlightScene, add stencilHighlight method. + - **FEAT**: set camera model matrix directly. + - **FEAT**: add removeStencilHighlight, queuePositionUpdateFromViewportCoords to ThermionViewer. + - **FEAT**: expose more camera methods. + - **FEAT**: ignore grid overlay and gizmo center when picking, implement highlighting. + - **FEAT**: layers, grid. + - **FEAT**: layers, grid. + - **FEAT**: parent the cloned entity instance when setting stencil highlight. + - **FEAT**: add getAncestor method. + - **FEAT**: SceneManager updates (setLayer, add grid, queueRelativePositionUpdateWorld. + - **DOCS**: add quickstart to README. + - **DOCS**: add quickstart to README. + - **BREAKING** **REFACTOR**: remove RenderThread methods no longer needed. + - **BREAKING** **REFACTOR**: refactor to support multiple Views/Render Targets. + - **BREAKING** **REFACTOR**: refactor to support multiple Views/Render Targets. + - **BREAKING** **REFACTOR**: remove RenderThread methods no longer needed. + - **BREAKING** **FIX**: Dart-only release mode builds on Window. + - **BREAKING** **FIX**: (windows) add flushAndWait call to capture() to prevent stalling on Windows; use provided buffer as pixelBuffer rather than duplicate allocation. + - **BREAKING** **FIX**: fix min SDK for thermion_dart. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: add meshoptimizer lib on Windows. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: Dart-only release mode builds on Window. + - **BREAKING** **FIX**: (web/wasm) free pick callbacks on dispose. + - **BREAKING** **FIX**: (windows) add flushAndWait call to capture() to prevent stalling on Windows; use provided buffer as pixelBuffer rather than duplicate allocation. + - **BREAKING** **FIX**: add meshoptimizer lib on Windows. + - **BREAKING** **FIX**: (web/wasm) free pick callbacks on dispose. + - **BREAKING** **FIX**: fix min SDK for thermion_dart. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FIX**: replace queuePosition/Rotation with queueTransforms. + - **BREAKING** **FEAT**: update web/http dependencies. + - **BREAKING** **FEAT**: big refactor to support multiple swapchains. + - **BREAKING** **FEAT**: update web/http dependencies. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: set baseColorIndex to -1 by default in unlit materialss. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: big refactor to support multiple swapchains. + - **BREAKING** **FEAT**: set baseColorIndex to -1 by default in unlit materialss. + - **BREAKING** **CHORE**: cleanup deleted export. + - **BREAKING** **CHORE**: remove EntityTransformController (requires replacement). + - **BREAKING** **CHORE**: restructure viewer folders as libraries to only export the public interface. + - **BREAKING** **CHORE**: View.getCamera returns Future. + - **BREAKING** **CHORE**: cleanup deleted export. + - **BREAKING** **CHORE**: remove EntityTransformController (requires replacement). + - **BREAKING** **CHORE**: View.getCamera returns Future. + - **BREAKING** **CHORE**: restructure viewer folders as libraries to only export the public interface. + ## 0.2.1-dev.0.0.9 > Note: This release has breaking changes. diff --git a/thermion_dart/pubspec.yaml b/thermion_dart/pubspec.yaml index 5b661a89..f08d046e 100644 --- a/thermion_dart/pubspec.yaml +++ b/thermion_dart/pubspec.yaml @@ -1,6 +1,6 @@ name: thermion_dart description: 3D rendering toolkit for Dart. -version: 0.2.1-dev.0.0.9 +version: 0.2.1-dev.0.0.10 homepage: https://thermion.dev repository: https://github.com/nmfisher/thermion diff --git a/thermion_flutter/thermion_flutter/CHANGELOG.md b/thermion_flutter/thermion_flutter/CHANGELOG.md index 3ebda737..0f3241ce 100644 --- a/thermion_flutter/thermion_flutter/CHANGELOG.md +++ b/thermion_flutter/thermion_flutter/CHANGELOG.md @@ -1,3 +1,66 @@ +## 0.2.1-dev.9 + +> Note: This release has breaking changes. + + - **REFACTOR**: continual refactor to support multiple render targets. + - **REFACTOR**: continual refactor to support multiple render targets. + - **FIX**: (flutter) pass ThermionFlutterOptions to ThermionWidget, use dpr for resizeTexture, delete unnecessary TransparencyPainter class. + - **FIX**: (flutter/web) use window.devicePixelRatio for viewport. + - **FIX**: use internal Set for determining first ThermionTextureWidget to call requestFrame and cleanup destruction logic. + - **FIX**: (flutter) pass ThermionFlutterOptions to ThermionWidget, use dpr for resizeTexture, delete unnecessary TransparencyPainter class. + - **FIX**: fix all Windows warnings so apps will compile with /WX. + - **FIX**: (flutter) desktop gesture detector changes for new Gizmo methods. + - **FIX**: (flutter/web) use window.devicePixelRatio for viewport. + - **FIX**: use internal Set for determining first ThermionTextureWidget to call requestFrame and cleanup destruction logic. + - **FIX**: fix all Windows warnings so apps will compile with /WX. + - **FIX**: (flutter) desktop gesture detector changes for new Gizmo methods. + - **FEAT**: highlight gizmo on hover. + - **FEAT**: add rendering check to ThermionWidget ticker. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: allow passing null options to ThermionWidget. + - **FEAT**: (flutter) (web) if importCanvasAsWidget is false, render transparency. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: use imported texture on iOS. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: highlight gizmo on hover. + - **FEAT**: (flutter) (web) if importCanvasAsWidget is false, render transparency. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: add rendering check to ThermionWidget ticker. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: camera and resizing improvements. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: (flutter) (windows) add Destroy() to BackingWindow. + - **FEAT**: (flutter) (windows) add Destroy() to BackingWindow. + - **FEAT**: camera and resizing improvements. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: (flutter) (windows) add DestroyRenderingSurface method. + - **FEAT**: allow passing null options to ThermionWidget. + - **FEAT**: use imported texture on iOS. + - **BREAKING** **FIX**: remove EntityControllerMouseWidget (replace with GestureHandler). + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FIX**: remove EntityControllerMouseWidget (replace with GestureHandler). + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: resize canvas on web. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: resize canvas on web. + - **BREAKING** **CHORE**: remove superseded HardwareKeyboard* classes. + - **BREAKING** **CHORE**: (flutter) cleanup for pub.dev publishing. + - **BREAKING** **CHORE**: remove EntityListWidget - will replace with new Scene. + - **BREAKING** **CHORE**: rename controller to viewer in gesture detector widgets. + - **BREAKING** **CHORE**: rename controller to viewer in gesture detector widgets. + - **BREAKING** **CHORE**: remove EntityListWidget - will replace with new Scene. + - **BREAKING** **CHORE**: (flutter) cleanup for pub.dev publishing. + - **BREAKING** **CHORE**: remove superseded HardwareKeyboard* classes. + ## 0.2.1-dev.8 - **FIX**: fix all Windows warnings so apps will compile with /WX. diff --git a/thermion_flutter/thermion_flutter/pubspec.yaml b/thermion_flutter/thermion_flutter/pubspec.yaml index 00e62e4b..26d30433 100644 --- a/thermion_flutter/thermion_flutter/pubspec.yaml +++ b/thermion_flutter/thermion_flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: thermion_flutter description: Flutter plugin for 3D rendering with the Thermion toolkit. -version: 0.2.1-dev.8 +version: 0.2.1-dev.9 homepage: https://thermion.dev repository: https://github.com/nmfisher/thermion @@ -17,10 +17,10 @@ dependencies: plugin_platform_interface: ^2.0.0 ffi: ^2.1.2 animation_tools_dart: ^0.1.0 - thermion_dart: ^0.2.1-dev.0.0.9 - thermion_flutter_platform_interface: ^0.2.1-dev.8 - thermion_flutter_ffi: ^0.2.1-dev.8 - thermion_flutter_web: ^0.1.1 + thermion_dart: ^0.2.1-dev.0.0.10 + thermion_flutter_platform_interface: ^0.2.1-dev.9 + thermion_flutter_ffi: ^0.2.1-dev.9 + thermion_flutter_web: ^0.2.0 logging: ^1.2.0 web: ^1.0.0 diff --git a/thermion_flutter/thermion_flutter_ffi/CHANGELOG.md b/thermion_flutter/thermion_flutter_ffi/CHANGELOG.md index 56873f1c..e547ab50 100644 --- a/thermion_flutter/thermion_flutter_ffi/CHANGELOG.md +++ b/thermion_flutter/thermion_flutter_ffi/CHANGELOG.md @@ -1,3 +1,33 @@ +## 0.2.1-dev.9 + +> Note: This release has breaking changes. + + - **REFACTOR**: continual refactor to support multiple render targets. + - **REFACTOR**: continual refactor to support multiple render targets. + - **FIX**: on resize, destroy swapchain if destroySwapChainOnResize is true. + - **FIX**: add listener in ThermionFlutterTextureBackedPlatform to unset viewer on dispose. + - **FIX**: add listener in ThermionFlutterMethodChannelInterface to unset viewer on dispose. + - **FIX**: clean up destruction logic for FlutterPlatformTexture. + - **FIX**: on resize, destroy swapchain if destroySwapChainOnResize is true. + - **FIX**: add listener in ThermionFlutterTextureBackedPlatform to unset viewer on dispose. + - **FIX**: add listener in ThermionFlutterMethodChannelInterface to unset viewer on dispose. + - **FIX**: clean up destruction logic for FlutterPlatformTexture. + - **FIX**: web/JS bool checks need to compare to int. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: use imported texture on iOS. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: (flutter) move DPR calculation to resizeTexture and add createViewerWithOptions method to ThermionFlutterFFI. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: use imported texture on iOS. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: (flutter) move DPR calculation to resizeTexture and add createViewerWithOptions method to ThermionFlutterFFI. + - **BREAKING** **REFACTOR**: refactor to support multiple Views/Render Targets. + - **BREAKING** **REFACTOR**: refactor to support multiple Views/Render Targets. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FEAT**: big refactor to support multiple swapchains. + - **BREAKING** **FEAT**: big refactor to support multiple swapchains. + ## 0.2.1-dev.8 - **FIX**: on resize, destroy swapchain if destroySwapChainOnResize is true. diff --git a/thermion_flutter/thermion_flutter_ffi/pubspec.yaml b/thermion_flutter/thermion_flutter_ffi/pubspec.yaml index 3bf903e4..cf5e9bc0 100644 --- a/thermion_flutter/thermion_flutter_ffi/pubspec.yaml +++ b/thermion_flutter/thermion_flutter_ffi/pubspec.yaml @@ -1,7 +1,7 @@ name: thermion_flutter_ffi description: An FFI implementation for thermion_flutter (i.e. all platforms except web). repository: https://github.com/nmfisher/thermion_flutter/thermion_flutter -version: 0.2.1-dev.8 +version: 0.2.1-dev.9 environment: sdk: ">=3.3.0 <4.0.0" @@ -23,8 +23,8 @@ dependencies: flutter: sdk: flutter plugin_platform_interface: ^2.1.0 - thermion_flutter_platform_interface: ^0.2.1-dev.8 - thermion_dart: ^0.2.1-dev.0.0.9 + thermion_flutter_platform_interface: ^0.2.1-dev.9 + thermion_dart: ^0.2.1-dev.0.0.10 logging: ^1.2.0 dev_dependencies: diff --git a/thermion_flutter/thermion_flutter_platform_interface/CHANGELOG.md b/thermion_flutter/thermion_flutter_platform_interface/CHANGELOG.md index 247dc11b..7a110c9a 100644 --- a/thermion_flutter/thermion_flutter_platform_interface/CHANGELOG.md +++ b/thermion_flutter/thermion_flutter_platform_interface/CHANGELOG.md @@ -1,3 +1,20 @@ +## 0.2.1-dev.9 + +> Note: This release has breaking changes. + + - **REFACTOR**: continual refactor to support multiple render targets. + - **REFACTOR**: continual refactor to support multiple render targets. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: add ThermionFlutterOptions classes, rename interface parameter for offsetTop and ensure pixelRatio is passed to resizeTexture. + - **FEAT**: support multiple ThermionWidget on Android. + - **FEAT**: working implementation of multiple widgets on macos. + - **FEAT**: add createViewerWithOptions to ThermionFlutterPlugin and mark createViewer as deprecated. + - **FEAT**: add ThermionFlutterOptions classes, rename interface parameter for offsetTop and ensure pixelRatio is passed to resizeTexture. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + - **BREAKING** **FIX**: (flutter) pass pixelRatio to createTexture. + ## 0.2.1-dev.8 - Update a dependency to the latest release. diff --git a/thermion_flutter/thermion_flutter_platform_interface/pubspec.yaml b/thermion_flutter/thermion_flutter_platform_interface/pubspec.yaml index ca2a66fd..864fe674 100644 --- a/thermion_flutter/thermion_flutter_platform_interface/pubspec.yaml +++ b/thermion_flutter/thermion_flutter_platform_interface/pubspec.yaml @@ -1,7 +1,7 @@ name: thermion_flutter_platform_interface description: A common platform interface for the thermion_flutter plugin. repository: https://github.com/nmfisher/thermion_flutter/thermion_flutter -version: 0.2.1-dev.8 +version: 0.2.1-dev.9 environment: sdk: ">=3.3.0 <4.0.0" @@ -11,7 +11,7 @@ dependencies: flutter: sdk: flutter plugin_platform_interface: ^2.1.0 - thermion_dart: ^0.2.1-dev.0.0.9 + thermion_dart: ^0.2.1-dev.0.0.10 dev_dependencies: flutter_test: diff --git a/thermion_flutter/thermion_flutter_web/CHANGELOG.md b/thermion_flutter/thermion_flutter_web/CHANGELOG.md index 3d71de1e..113f5fc4 100644 --- a/thermion_flutter/thermion_flutter_web/CHANGELOG.md +++ b/thermion_flutter/thermion_flutter_web/CHANGELOG.md @@ -1,3 +1,23 @@ +## 0.2.0 + +> Note: This release has breaking changes. + + - **FIX**: (flutter/web) use window.devicePixelRatio for viewport. + - **FIX**: (flutter/web) use window.devicePixelRatio for viewport. + - **FEAT**: (flutter) (web) use options to determine whether to create canvas, and set fixed position + offset. + - **FEAT**: add ThermionFlutterOptions classes, rename interface parameter for offsetTop and ensure pixelRatio is passed to resizeTexture. + - **FEAT**: (flutter) (web) use options to determine whether to create canvas, and set fixed position + offset. + - **FEAT**: add ThermionFlutterOptions classes, rename interface parameter for offsetTop and ensure pixelRatio is passed to resizeTexture. + - **FEAT**: allow passing assetPathPrefix to ThermionViewerWasm to account for Flutter build asset paths. + - **BREAKING** **FEAT**: (flutter) (web) upgrade package:web dep to 1.0.0. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: resize canvas on web. + - **BREAKING** **FEAT**: (flutter) (web) upgrade package:web dep to 1.0.0. + - **BREAKING** **FEAT**: (web) (flutter) create canvas when createViewer is called (no longer need to manually add canvas element to web HTML). + - **BREAKING** **FEAT**: resize canvas on web. + - **BREAKING** **CHORE**: restructure viewer folders as libraries to only export the public interface. + - **BREAKING** **CHORE**: restructure viewer folders as libraries to only export the public interface. + ## 0.1.1 - **FEAT**: allow passing assetPathPrefix to ThermionViewerWasm to account for Flutter build asset paths. diff --git a/thermion_flutter/thermion_flutter_web/pubspec.yaml b/thermion_flutter/thermion_flutter_web/pubspec.yaml index 1ec075b8..d2c51b46 100644 --- a/thermion_flutter/thermion_flutter_web/pubspec.yaml +++ b/thermion_flutter/thermion_flutter_web/pubspec.yaml @@ -1,7 +1,7 @@ name: thermion_flutter_web description: A web platform interface for the thermion_flutter plugin. repository: https://github.com/nmfisher/thermion_flutter/thermion_flutter -version: 0.1.1 +version: 0.2.0 environment: sdk: ">=3.3.0 <4.0.0" @@ -20,8 +20,8 @@ dependencies: sdk: flutter plugin_platform_interface: ^2.1.0 web: ^1.0.0 - thermion_dart: ^0.2.1-dev.0.0.9 - thermion_flutter_platform_interface: ^0.2.1-dev.8 + thermion_dart: ^0.2.1-dev.0.0.10 + thermion_flutter_platform_interface: ^0.2.1-dev.9 flutter_web_plugins: sdk: flutter