diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index bb6447c5..e133529c 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
 {
-  "LoopStructural": "1.6.22"
+  "LoopStructural": "1.6.5"
 }
diff --git a/LoopStructural/CHANGELOG.md b/LoopStructural/CHANGELOG.md
index 2b55d6ce..198c362e 100644
--- a/LoopStructural/CHANGELOG.md
+++ b/LoopStructural/CHANGELOG.md
@@ -1,5 +1,234 @@
 # Changelog
 
+## [1.6.5](https://github.com/lachlangrose/LoopStructural/compare/v1.6.22...v1.6.5) (2025-10-14)
+
+
+### Features
+
+* removing visualisation module. ([a51355d](https://github.com/lachlangrose/LoopStructural/commit/a51355d688ebd682e0068f45a3eba6c155ee6bcb))
+
+
+### Bug Fixes
+
+* add ability to pass handler to loopstructural logger ([dfebd48](https://github.com/lachlangrose/LoopStructural/commit/dfebd487c72830b5e5899660663db93b33e05e0b))
+* add an observer/notify datastructure ([ea4b9f0](https://github.com/lachlangrose/LoopStructural/commit/ea4b9f000e4ef43cf349bbb152a4452dc40a4351))
+* add convert from feature to structural frame ([5b34346](https://github.com/lachlangrose/LoopStructural/commit/5b34346e0b930f07044244916ded99d55cb4b3e3))
+* add default parameters datastructure ([b71c2f8](https://github.com/lachlangrose/LoopStructural/commit/b71c2f8d90c240bf2ecc99c70b021c5045f4b5e4))
+* add dipdirection2vector helper ([717d6c9](https://github.com/lachlangrose/LoopStructural/commit/717d6c940665791c44aeac0e8e1737b3b8cd48e0))
+* add export of inequalities ([05a160e](https://github.com/lachlangrose/LoopStructural/commit/05a160ee142cb8f49b715104c55a82023f569927))
+* add fault displacement to init for fault module ([a6b326f](https://github.com/lachlangrose/LoopStructural/commit/a6b326f3e455ca143e5631ef8b386793ca7c6165))
+* add fault ellipsoid vtk output ([c00a65e](https://github.com/lachlangrose/LoopStructural/commit/c00a65e46b00ebc5f87c8b136dc95f2976173528))
+* add fault function with 0 gradient ([6bd359f](https://github.com/lachlangrose/LoopStructural/commit/6bd359f00e921ad5340242af4c02725d46118b2d))
+* add fault pitch ([a05d277](https://github.com/lachlangrose/LoopStructural/commit/a05d2773663cd6c826fde90ff2465e79de17aa6f))
+* add faulted vector calc to lambda feature ([300b575](https://github.com/lachlangrose/LoopStructural/commit/300b575181f727b419c6d4e5bf755d4c909a101f))
+* add function to clean nan vertices and post_init to validate data ([f69f6d8](https://github.com/lachlangrose/LoopStructural/commit/f69f6d8132ec5f14d62785183f1f5c447414c937))
+* add get data ([c5ec096](https://github.com/lachlangrose/LoopStructural/commit/c5ec096b6d11ac293fc393e4a2ba7a331daae163))
+* add get data to faultdisplacement feature ([43f05d8](https://github.com/lachlangrose/LoopStructural/commit/43f05d8c9ee80364f193dca4c64d08f0a6ba56c4))
+* add get methods for getting specific relationships ([30f01c8](https://github.com/lachlangrose/LoopStructural/commit/30f01c837ff776d919d728877a3e4aa4aecd80e3))
+* add get stratigraphic column cmap to stratigraphic column class ([a03e716](https://github.com/lachlangrose/LoopStructural/commit/a03e71646430db6958149b2e3c23be2b5a59e33e))
+* add inequalities to interpolator builder ([2ee38ac](https://github.com/lachlangrose/LoopStructural/commit/2ee38acde97bab5a966c1995d7f70fc98a40651c))
+* add isosurfacing and scalar field method to base feature ([bbbfe0c](https://github.com/lachlangrose/LoopStructural/commit/bbbfe0cca8bf80d634c61a9667ef47b0ada4578a))
+* add logging for wavelength guess ([67bebb1](https://github.com/lachlangrose/LoopStructural/commit/67bebb1052a2948fb84e95364c06c1de99167667))
+* add methods to fold rotation angle feature ([efb46a2](https://github.com/lachlangrose/LoopStructural/commit/efb46a23e867eecaedb930a768f8c616ab2313d1))
+* add model reference when converting from feature to frame ([ef07373](https://github.com/lachlangrose/LoopStructural/commit/ef07373a816e60f4e931f4f32975ded13eb528f6))
+* add name argument to p1 gradient orthogonal ([4f92ba4](https://github.com/lachlangrose/LoopStructural/commit/4f92ba4acad233f180ed80a16870377648f5dcf1))
+* add new stratigraphic column implementation ([a495bb1](https://github.com/lachlangrose/LoopStructural/commit/a495bb16102916b7d53b15b1ab60b939ee2e3440))
+* add node/cell props to a vtk structured grid ([37bbb88](https://github.com/lachlangrose/LoopStructural/commit/37bbb88790bda366415cfb3eb4986d8f778d54cb))
+* add observer pattern imports for enhanced notification capabilities ([f237d27](https://github.com/lachlangrose/LoopStructural/commit/f237d2729073a5c56f2a73d45436f758259c757a))
+* add option to pass a dataframe directly to the create and add methods ([f756054](https://github.com/lachlangrose/LoopStructural/commit/f7560545048331137f35172ebd1324895f12faf6))
+* add other plotters to visualisation ([eb89b10](https://github.com/lachlangrose/LoopStructural/commit/eb89b104764f6891408b434667e5a5890d137337))
+* add parameter separator to clean up api ([7d8b0b1](https://github.com/lachlangrose/LoopStructural/commit/7d8b0b1c2f0c30b4d9119d9438de3ded44b04bd8))
+* add parent directory to export dir ([3b51f8f](https://github.com/lachlangrose/LoopStructural/commit/3b51f8fc398c8d61c182811d4a1478306fd825a3))
+* add remove fault ([bc4ca17](https://github.com/lachlangrose/LoopStructural/commit/bc4ca179ccaeeb59f85c44b5339e50ad7f21cd8a))
+* add scale paramater to generated vector field ([45661cf](https://github.com/lachlangrose/LoopStructural/commit/45661cffc4b7eb9114f52952bf4c650bdbdd8484))
+* add setter/getter for stratigraphic column ([f771cdd](https://github.com/lachlangrose/LoopStructural/commit/f771cdd12d101622d1e1130c94f7726d84fd96bd))
+* add type to P1 and P2 ([71ce492](https://github.com/lachlangrose/LoopStructural/commit/71ce4922f917e59913fe948b63f632beda8cbaaf))
+* add visualisation to plot gradient norm ([e774f95](https://github.com/lachlangrose/LoopStructural/commit/e774f95934b8fbec84ff37e73a098d36c6620f23))
+* add wrapper to convert between a feature and structural frame ([676c0ef](https://github.com/lachlangrose/LoopStructural/commit/676c0ef4a01b777d5c934e55a3202a4f29ea266e))
+* adding a fault topology datastructure and link with stratigraphic column ([57f362d](https://github.com/lachlangrose/LoopStructural/commit/57f362d33bf0fb07a04bae655b4fdbd26ad66a50))
+* adding abstract vtk method for support ([d15e0ad](https://github.com/lachlangrose/LoopStructural/commit/d15e0ad81a76e5b4587ad60031a31352c28d8cac))
+* adding additional logging ([5f1e65a](https://github.com/lachlangrose/LoopStructural/commit/5f1e65ac05f56ec22758f631e0908fc78635a129))
+* adding analytical fold builder ([6d238aa](https://github.com/lachlangrose/LoopStructural/commit/6d238aa01bb3ed08eaf571dad4e40ce0ac05b86f))
+* adding case when strat column hasn't been set ([53a49dd](https://github.com/lachlangrose/LoopStructural/commit/53a49dda7af06d10648914e3ae86576939e1fb6f))
+* adding cg as a solver and dict for solver params ([fba928b](https://github.com/lachlangrose/LoopStructural/commit/fba928b2749c153a277b58385d4131dad7950ded))
+* Adding colours to surfaces ([2d40563](https://github.com/lachlangrose/LoopStructural/commit/2d40563364dfb229fcd3a22b1c5e6e6bc841de6d))
+* adding constant norm interpolators ([29570f1](https://github.com/lachlangrose/LoopStructural/commit/29570f1543f2a4aa04efda2fb4d894a7dc1ed9bf))
+* adding coordinate features ([464934b](https://github.com/lachlangrose/LoopStructural/commit/464934b9f19e800648c27749121cd2efaa8de568))
+* adding copy method for lambda ([6a8d940](https://github.com/lachlangrose/LoopStructural/commit/6a8d940a0989a046663dcd3dd4ced6f443d895a6))
+* adding export methods ([ceeee02](https://github.com/lachlangrose/LoopStructural/commit/ceeee0277e05e4db9f558d5fabbef33cf7120707))
+* adding fault topology. Also requires map2loop updaet ([9a32b4c](https://github.com/lachlangrose/LoopStructural/commit/9a32b4cea7e395683d6875e4edadb1d13da8b1f7))
+* adding from dict method for bb ([71c2dcc](https://github.com/lachlangrose/LoopStructural/commit/71c2dccc60855478e04e3fc2f8aa45c969f402a2))
+* adding geoh5 export for points and grid ([c8641a6](https://github.com/lachlangrose/LoopStructural/commit/c8641a6ce1aa33340a41e6282ed3ad7d325e5979))
+* adding get_data for structural frame ([90dbb94](https://github.com/lachlangrose/LoopStructural/commit/90dbb94a9840961dcaacb2c19f0ae19a3aac26b2))
+* adding get_data method ([66ac1c1](https://github.com/lachlangrose/LoopStructural/commit/66ac1c1cb333d7fcf061605deb83361846231858))
+* adding groupname to save option to geoh5 ([d8a8c63](https://github.com/lachlangrose/LoopStructural/commit/d8a8c63cd9ce0269c8aad55df9dc492b17895e8d))
+* adding inequality pairs ([ce33ac9](https://github.com/lachlangrose/LoopStructural/commit/ce33ac9914d04550192fe621070e3b1b19e7038b))
+* adding interpolator builder. ([169545b](https://github.com/lachlangrose/LoopStructural/commit/169545b620046a983a6e2744b80273cc14060f13))
+* adding local bb option to isosurfacer ([acc5b95](https://github.com/lachlangrose/LoopStructural/commit/acc5b95869accf563ce0d151603f62bc37e9800b))
+* adding loopsolver optional depencency + admm solver option ([26edd3f](https://github.com/lachlangrose/LoopStructural/commit/26edd3fa8ee7de429a7cd3682f030dfebf79f40b))
+* adding method to evaluate all stratigraphic feature gradients. ([07b6078](https://github.com/lachlangrose/LoopStructural/commit/07b6078cf98dd6b0f405ce5f55ad709fa6aea957))
+* adding min/max angle to trig profile ([c097372](https://github.com/lachlangrose/LoopStructural/commit/c09737245c31a0b18ee6b35d2271edbc672bf939))
+* adding name argumen to finite difference gradient orthogonal ([064ae65](https://github.com/lachlangrose/LoopStructural/commit/064ae65905f75c1b6a51c46438d9469a1604304d))
+* adding offset to fault ([b75df73](https://github.com/lachlangrose/LoopStructural/commit/b75df73410f2a2662ef90cfb0b15e2413acc7d00))
+* adding omf export ([d03949e](https://github.com/lachlangrose/LoopStructural/commit/d03949e109c2d2c3ed35c4b3dcd7893f18179494))
+* adding ones column for constraints when weights missing ([44cc8fb](https://github.com/lachlangrose/LoopStructural/commit/44cc8fb02607b433ced1635ef6942536060290fa))
+* adding option to not store vertices for 2d unstructured supports to save memory ([64bc744](https://github.com/lachlangrose/LoopStructural/commit/64bc7448911cdde58d5e0dee02d203aae8d0dcd4))
+* adding option to spatially vary fold weight ([af970a0](https://github.com/lachlangrose/LoopStructural/commit/af970a085f49576ccac15f3ee0061d0782a83b4a))
+* adding plot function to fault displacement ([4771c1b](https://github.com/lachlangrose/LoopStructural/commit/4771c1bee13e0c4c62c3ac7b2608ba3318b2d8b9))
+* adding presolve and postsolve calls for interpolator ([4af60f9](https://github.com/lachlangrose/LoopStructural/commit/4af60f985dee85913f4e9b19fea0e33f1fd6905f))
+* adding random colour generator ([1a850c2](https://github.com/lachlangrose/LoopStructural/commit/1a850c27d7cb67ad89899a1641195e4a74de58ff))
+* adding random hex colour utility function ([62359d4](https://github.com/lachlangrose/LoopStructural/commit/62359d46e860b4c944f64081302e2802ee8e3472))
+* adding structure grid data class ([5e5035f](https://github.com/lachlangrose/LoopStructural/commit/5e5035f5315ded01c8089c5ca9b31dd133898aed))
+* adding value point save. ([2093f4e](https://github.com/lachlangrose/LoopStructural/commit/2093f4e83400ae5092707d8a04330322547d51e7))
+* adding vector/value points ([382eb74](https://github.com/lachlangrose/LoopStructural/commit/382eb74bb7e0165c8de8fb6d6dfcf74c6ff9bfcb))
+* adjust fault function so that gradient is 0 at the edges ([6fdec1a](https://github.com/lachlangrose/LoopStructural/commit/6fdec1a5c1bd0f0ef8a47bfcd3b2ee7623595ab1))
+* allow adding object into model at different indexes ([e1f5cde](https://github.com/lachlangrose/LoopStructural/commit/e1f5cde19e033e301db5206ddeb658270bbc5886))
+* allow data to be specified in create and add function. ([f6db4a5](https://github.com/lachlangrose/LoopStructural/commit/f6db4a5b6aabc75b7a061014b93288ec91791c57))
+* allow data to be specified in create and add function. ([c837d6c](https://github.com/lachlangrose/LoopStructural/commit/c837d6c1ea8ae232600a1f737265db9122ef3a83))
+* allow faults without trace to be built if centre exists ([436540b](https://github.com/lachlangrose/LoopStructural/commit/436540b03f99b78344b34a9b8c4f83780625adae))
+* allow iterable to be passed to isosurfacer ([e4cd13c](https://github.com/lachlangrose/LoopStructural/commit/e4cd13c895c49ce223ac71e9fc5311ddd8f70624))
+* allow model to set any type of feature using basefeature subclass check ([97122a5](https://github.com/lachlangrose/LoopStructural/commit/97122a5bdf0b2e49b3e56fd7a2b22c40bd94314e))
+* allow no isovalue for surfaces. Take middle as value ([178d78b](https://github.com/lachlangrose/LoopStructural/commit/178d78bbe775e77e0294875e3f56c7d7ce41d3fa))
+* allow scalar field of feature without a model ([2e36743](https://github.com/lachlangrose/LoopStructural/commit/2e36743f1c090bb63efaa6468f2b5388e59fda4a))
+* auto select support dimension ([078b3e5](https://github.com/lachlangrose/LoopStructural/commit/078b3e5941098081d2efeeb1bdd17f570758fb64))
+* auto select support dimension ([aba41bd](https://github.com/lachlangrose/LoopStructural/commit/aba41bd13865075437bb575a119696ab14cb14e4))
+* buffer n slices for surfaces method by 5% if range ([82c24f4](https://github.com/lachlangrose/LoopStructural/commit/82c24f4fa6abd334963a163776f8d80b4b898b57))
+* calculate fault normal using rotation of strike ([8707d53](https://github.com/lachlangrose/LoopStructural/commit/8707d5358910cf0325e6329bc65d8e31a3167f54))
+* cast data to float to avoid deprecation warning ([1692d67](https://github.com/lachlangrose/LoopStructural/commit/1692d679fee3e4ec289699afcc61655502a08ea7))
+* cast to int64 and add positive nsteps check ([10535e9](https://github.com/lachlangrose/LoopStructural/commit/10535e97c7a4090ba4f53cd66422820a905cf2c3))
+* change fault axis to info not warning ([68abea7](https://github.com/lachlangrose/LoopStructural/commit/68abea77ceaad03db2255da0a7f6bcd65ee9df4c))
+* change fault segement evaluate value to scaled displacement vector ([3b8f8c3](https://github.com/lachlangrose/LoopStructural/commit/3b8f8c3ec6ab6f885db2e1ea241f66d213ed3167))
+* change feature.scalar_field() from vtk type to structure grid ([edadfb3](https://github.com/lachlangrose/LoopStructural/commit/edadfb3f63eceb98c7624310d65fe5c89075e4fd))
+* change kwargs to build args ([cb0af22](https://github.com/lachlangrose/LoopStructural/commit/cb0af22ef96ddf21e06ca6ae0250a45de52de220))
+* change strat/fault relationship datastructure to a dictionary with tuple keys ([2a4503b](https://github.com/lachlangrose/LoopStructural/commit/2a4503b4973d7e28bf38253741fcae8b75300dbf))
+* change surfe import behaviour warning ([5d04a92](https://github.com/lachlangrose/LoopStructural/commit/5d04a9298ab1db82b13a71cbb333e68141c29a52))
+* Change to new thickness name in project file ([4e567b7](https://github.com/lachlangrose/LoopStructural/commit/4e567b77b0831b025259c7cd5727adce4f35fba6))
+* changing vtk to method instead of attribute to allow parameter overloading ([bf30047](https://github.com/lachlangrose/LoopStructural/commit/bf3004787af26a36e904b1db1bf7c43f467057fe))
+* check dimensions of bounding box constructor ([39b694b](https://github.com/lachlangrose/LoopStructural/commit/39b694b281502de8a7997ccf010dcb5d9ee4a17f))
+* check id type when creating and use add id to/from dict ([eef12b4](https://github.com/lachlangrose/LoopStructural/commit/eef12b4c2569b2957688d385da434270513ccb95))
+* check if strat col for evaluate model ([83f5e86](https://github.com/lachlangrose/LoopStructural/commit/83f5e86bbfbffa4d41809d9f0fd1647d751dbf97))
+* clarify naming for individual isosurfaces based on input name, don't add isovalue when not needed ([447fb17](https://github.com/lachlangrose/LoopStructural/commit/447fb17e64bc42e5154aef36d94c62ad91ac6f78))
+* clear column actually removes elements. Also load from dict adds in reversed order to maintain correct order ([35ff6a6](https://github.com/lachlangrose/LoopStructural/commit/35ff6a6427b32cb0ee45c3cedae998477b49a491))
+* colours correct for surfaces ([ea3709a](https://github.com/lachlangrose/LoopStructural/commit/ea3709a25c87f4b4f1fbddee77d7a66526298a66))
+* convert feature builder to folded feature builder ([fcf4f76](https://github.com/lachlangrose/LoopStructural/commit/fcf4f7637245f31487413beb9c1b593efb587a5d))
+* copy dictionary before creating structured grid to prevent shared variable ([2b05f69](https://github.com/lachlangrose/LoopStructural/commit/2b05f6938f7e73e93a45e61d0e6f399a8975b00e))
+* created structuredgrid data type to replace vtk regulargrid ([15fdb3c](https://github.com/lachlangrose/LoopStructural/commit/15fdb3c4a5a4c75af454186339cbc02b9361e685))
+* custom solver updates solved state ([6d7264c](https://github.com/lachlangrose/LoopStructural/commit/6d7264c4083ba1f09b47f980e586f43be100ff41))
+* default random colour number generate one colour ([e153355](https://github.com/lachlangrose/LoopStructural/commit/e15335544d5abda4128dbe926eba9ba7ece1fc14))
+* default regularisation should be 0.1 for both FDI and PLI. ([7c20b88](https://github.com/lachlangrose/LoopStructural/commit/7c20b885550569217c6882dc0bd206f38c1d4f00))
+* default solver is 'cg' when none specified ([5fdd296](https://github.com/lachlangrose/LoopStructural/commit/5fdd296ca7cb396c72a90c3e969c014f861adddb))
+* dictionary serialisation was reversing order ([8bb63bb](https://github.com/lachlangrose/LoopStructural/commit/8bb63bbeb49ed83745f1307210db056a53492931))
+* disable inequality data ([c9d16e9](https://github.com/lachlangrose/LoopStructural/commit/c9d16e9717b470c29a11c93dd43664de0c99e5c4))
+* disable type hint because of circular import ([c2df4f4](https://github.com/lachlangrose/LoopStructural/commit/c2df4f4ca8f4d53d430601c9394366b05a031c95))
+* don't add basement to the stratigraphic column made from dictionary ([7c98c95](https://github.com/lachlangrose/LoopStructural/commit/7c98c95195daedbf4eb33703cd30918d9c7e07a4))
+* don't add fault above an unconformity! ([a5fc543](https://github.com/lachlangrose/LoopStructural/commit/a5fc54349d4031cccd055d969ee324e6990b773c))
+* don't add unconformities to unconformities. ([ffa11f1](https://github.com/lachlangrose/LoopStructural/commit/ffa11f118fb03c0d1b76594e08ae8950bce06308))
+* don't try to access contacts if they are none ([37792a3](https://github.com/lachlangrose/LoopStructural/commit/37792a3098ad1574698982d5bd8cee519097e665))
+* enhance FaultTopology class with notification support for relationship changes ([330c662](https://github.com/lachlangrose/LoopStructural/commit/330c6624e8c2f1cfabf4c5391b4c375bf9d23d2d))
+* evaluate gradient for structural frame calls interpolator, now working ([596e59f](https://github.com/lachlangrose/LoopStructural/commit/596e59f1d28d68a54be321253c13cd8f02c94175))
+* extra import ([7d10434](https://github.com/lachlangrose/LoopStructural/commit/7d10434eb11631fa501275c14d617ed014f092a7))
+* fault orientation init as empty df rather than nan ([c004d9f](https://github.com/lachlangrose/LoopStructural/commit/c004d9f84e65a636faa0566c26797749a42da577))
+* faulted feature gradient was incorrect ([4ba56c7](https://github.com/lachlangrose/LoopStructural/commit/4ba56c7838bf2bc41198f811dbc57b1eed54d0db))
+* feature gradient masked by unconformities ([ae5324a](https://github.com/lachlangrose/LoopStructural/commit/ae5324a250379996a8725437e71db7ee2e969340))
+* flag when m2l thickness isn't estimated ([0f565f4](https://github.com/lachlangrose/LoopStructural/commit/0f565f4de4a04407d5e632e5b56eebad844bbd9b))
+* fold weights weren't being passed to interpolator ([97003a6](https://github.com/lachlangrose/LoopStructural/commit/97003a68b756e7fd91fa73d0f810cc1aaa311bed))
+* fourier series should use fitted params ([a78a8de](https://github.com/lachlangrose/LoopStructural/commit/a78a8de2e7d8cd40695a6c6c108f628a24724858))
+* get data for intrusion feature ([19fdc40](https://github.com/lachlangrose/LoopStructural/commit/19fdc403e18fd073fa883ea46f46655c1ccc194c))
+* gradient of faulted feature will not be aliased by the interpolation grid ([7e6da5b](https://github.com/lachlangrose/LoopStructural/commit/7e6da5b417702d29ccee8435b0ce734d62046b0a))
+* hide processor import error until its used ([a949ade](https://github.com/lachlangrose/LoopStructural/commit/a949ade9fa64366ec6ababb74a81894463cb44e1))
+* hide surfe warning ([7aad85b](https://github.com/lachlangrose/LoopStructural/commit/7aad85b41ddff799271879a925261eec92689ee8))
+* if nsteps &lt;0 raise error for support reshape ([bff079f](https://github.com/lachlangrose/LoopStructural/commit/bff079fd31f500ec178af480e2c7931d60e1d80d))
+* implement Observer pattern with Observable and Disposable classes ([3942920](https://github.com/lachlangrose/LoopStructural/commit/394292036bd70aaa9294da5c285f232c1b8bae3e))
+* implementing model.save method ([dd54899](https://github.com/lachlangrose/LoopStructural/commit/dd548999b3caca2d0ea7ce8dbbb3092a1eb01bd1))
+* inactive faults no longer get cropped by unconformities ([4211b9e](https://github.com/lachlangrose/LoopStructural/commit/4211b9e118a1f2a0d902974028c553449b0bc10c))
+* include nsteps in bounding box initialization when creating buffer ([9f859c9](https://github.com/lachlangrose/LoopStructural/commit/9f859c984c32cbf266a65a3ae9c6fc56514734a9))
+* increment random colour for stratigraphic colour cmap ([35cd5e6](https://github.com/lachlangrose/LoopStructural/commit/35cd5e6df1e0aada80b71e90849e9b8884c038c1))
+* indexing error ([b3f67cf](https://github.com/lachlangrose/LoopStructural/commit/b3f67cfac756a81370b4d6d3d834a6c0a8e4ad83))
+* indexing for applying fault rotation ([99f48f2](https://github.com/lachlangrose/LoopStructural/commit/99f48f23631f53f110eccbcd63a732fbfbdb27fc))
+* integrate Observable pattern into StratigraphicColumn for enhanced notification support ([6619b80](https://github.com/lachlangrose/LoopStructural/commit/6619b80191f3055d656c63f3256ee1e56e034442))
+* interpolator map support map for all 2d supports ([547fea0](https://github.com/lachlangrose/LoopStructural/commit/547fea024255d647e5f25a0aaf04e5e1d163e9d3))
+* interpolator support is rescaled for fault displacement. ([d886e81](https://github.com/lachlangrose/LoopStructural/commit/d886e81b756a9efd867db85358f48307b840e137))
+* isosurfacing of unconformity surfaces will now appear ([c003b6b](https://github.com/lachlangrose/LoopStructural/commit/c003b6b096a60a08b6704e91b2eb9d6b70040d04))
+* linting ([a32ee4f](https://github.com/lachlangrose/LoopStructural/commit/a32ee4f4973f701638eede4caef1a66e1f4baf2d))
+* linting ([7ad2311](https://github.com/lachlangrose/LoopStructural/commit/7ad2311f82514d4bac02a65b71657a4e5a947e8c))
+* linting ([b8d6532](https://github.com/lachlangrose/LoopStructural/commit/b8d65329998696e139b5896966c96b8c9bbb442b))
+* linting ([0e75342](https://github.com/lachlangrose/LoopStructural/commit/0e75342788624a691755a889db7293b39308eb3c))
+* linting ([ad3bb55](https://github.com/lachlangrose/LoopStructural/commit/ad3bb5540dd5a232fd014b8131ffdc4429b6d649))
+* linting ([0d7a052](https://github.com/lachlangrose/LoopStructural/commit/0d7a0522bc706f2018bdd642cb2f28db303fd057))
+* making allow bbox to do rescaling ([5150860](https://github.com/lachlangrose/LoopStructural/commit/5150860427c4cb3681fb29ad3278075852be74b0))
+* migrate to omf mira, omf doesn't seem to work with anything ([b7330b9](https://github.com/lachlangrose/LoopStructural/commit/b7330b97882ff468badc1168fdb7149f594fb70b))
+* norm constraint magnitude will be honoured by interpolator ([171f78a](https://github.com/lachlangrose/LoopStructural/commit/171f78a98381be5e801ca6d4994e5e57cbc75a60))
+* normalise vectors before plotting ([9d77f9e](https://github.com/lachlangrose/LoopStructural/commit/9d77f9ea61f7ed3440facd40f70eefce8c5d2fdb))
+* parameter names, and adding get_data method ([e770a45](https://github.com/lachlangrose/LoopStructural/commit/e770a45786f18780258704c6392ddb6c98930dfc))
+* pass vector tollerance through vtk method for vectorpoints ([8343bc6](https://github.com/lachlangrose/LoopStructural/commit/8343bc6f7bffdea2660747ca48ddcba02ba3e9ec))
+* projectfile updaters ([699a701](https://github.com/lachlangrose/LoopStructural/commit/699a7015c8c6fd13301f0be3e460663669e4e355))
+* put fault normal points on the trace ([2391b30](https://github.com/lachlangrose/LoopStructural/commit/2391b30ef3a344cf8b8df398bece2cfc5d43732f))
+* refactor fault ellipsoid plotter to not use fault builder ([025e286](https://github.com/lachlangrose/LoopStructural/commit/025e28635847ae8a5796160ac6784d1b72ddd968))
+* refactoring fold profiles to allow for easy user modification of fold geometry ([364ce9a](https://github.com/lachlangrose/LoopStructural/commit/364ce9a22f86ec36199f08e7061ef0eb0abc4f32))
+* remove api for now, Isosurfacer in utils ([e33c9dc](https://github.com/lachlangrose/LoopStructural/commit/e33c9dc1b2ce060ec49a2899f883eb92bea253a9))
+* remove default initialisation with mutable. ([bda68a7](https://github.com/lachlangrose/LoopStructural/commit/bda68a71d22db2fa921f1534e7491dd6995a59a5))
+* remove fold rotation inversion when axis and cross product are not in the same direction. ([3d4d90f](https://github.com/lachlangrose/LoopStructural/commit/3d4d90f90ed0dd54db74cf354cf4710fd9f99321))
+* remove get interpolator (replaced with factory) ([fc5d22a](https://github.com/lachlangrose/LoopStructural/commit/fc5d22ade1d2e292c0aef04ccc13f6e69f98c8be))
+* remove initialisation ([66a6f1d](https://github.com/lachlangrose/LoopStructural/commit/66a6f1d965c59bc0058e272ae671f4ba1aa90756))
+* remove initialisation ([62b1248](https://github.com/lachlangrose/LoopStructural/commit/62b1248dac38296c56fdc9a7f4edb988fad7a2ba))
+* remove observers before pickle ([c50afdb](https://github.com/lachlangrose/LoopStructural/commit/c50afdb0a5ed4b50b4d015e651a3db7b0cbb5162))
+* remove raise warning when no weights provided to set_normal_constraints ([33146d5](https://github.com/lachlangrose/LoopStructural/commit/33146d570a2733acf51b3841579e72a2b79a1ddd))
+* remove requirement for featurename in dataframe used to directly construct feature ([09940ba](https://github.com/lachlangrose/LoopStructural/commit/09940ba6e91c9293aa98261f8d9ba195bd2d50de))
+* remove shuffle ([0581fb1](https://github.com/lachlangrose/LoopStructural/commit/0581fb10c60a76ea5d37cb03193ecb2188680140))
+* remove surfepy import ([5ba8f14](https://github.com/lachlangrose/LoopStructural/commit/5ba8f1427d2761c190b34c252199c91c7a388ec0))
+* removign vol weighting ([47ad944](https://github.com/lachlangrose/LoopStructural/commit/47ad9448126a38c1e7bd1be403ee9f4f2121b43e))
+* removing random shuffle from orthogonal constraints ([4667906](https://github.com/lachlangrose/LoopStructural/commit/466790683a1dbe87f0e110a634ac69d17b5070b4))
+* removing typealias ([d1626f5](https://github.com/lachlangrose/LoopStructural/commit/d1626f5e75e7edfe582feb2a464450dfd23cc4b2))
+* rename azimuthplunge to plungeazimuth ([4605a15](https://github.com/lachlangrose/LoopStructural/commit/4605a151f27c3d8071e9e8e206ec34a26d9f373f))
+* rename id to stratigraphy for model block ([640ac0b](https://github.com/lachlangrose/LoopStructural/commit/640ac0b0235b35a41e8633a1a84acd50a0d31885))
+* rename optional data argument to data for consistency ([9b23bd3](https://github.com/lachlangrose/LoopStructural/commit/9b23bd30bb1fcf4af4f7ca656b41e88855afcdff))
+* rename properties_cell to cell_properties and properties_vertex to properties for the structured grid ([4368eb6](https://github.com/lachlangrose/LoopStructural/commit/4368eb60f7e2f170782a91cc6003159fdd98875b))
+* return no strat ids when strat column not defined ([e77d58c](https://github.com/lachlangrose/LoopStructural/commit/e77d58cc11b97ca2f78512fbc29a7056d59bc81e))
+* return the first feature of a structural frame ([6972062](https://github.com/lachlangrose/LoopStructural/commit/6972062ac60f3e97618f26139649db2167bdcfd9))
+* set support to be the same for all fault frame components ([b9c7500](https://github.com/lachlangrose/LoopStructural/commit/b9c7500436a73be754def958cb112d11b85cf1bd))
+* step_vector take into account dimensions=2 ([3d90210](https://github.com/lachlangrose/LoopStructural/commit/3d90210cf5b926360c3f2e41339796e1aab3d410))
+* step_vector take into account dimensions=2 ([e62e6ea](https://github.com/lachlangrose/LoopStructural/commit/e62e6ea46078c053ec0a52c9d2d3c397cb3a42d9))
+* step_vector use self.dimensions to set length ([72e0c32](https://github.com/lachlangrose/LoopStructural/commit/72e0c32af91a4ae1386a096c88e55eab8e39ed0f))
+* store min/max unit value in unit and keep this up to date ([5af3815](https://github.com/lachlangrose/LoopStructural/commit/5af3815c566c8db88dbd0c63b5fc2e00d0d4303d))
+* store unitname fault topology instead of group fault ([5a8c0c5](https://github.com/lachlangrose/LoopStructural/commit/5a8c0c546f82458cae57b7c30e64f2857efa621a))
+* surface export for tsurf, obj, vtk, pickle ([5812d3b](https://github.com/lachlangrose/LoopStructural/commit/5812d3bccbf889c0828abb5a9f5281da260e182d))
+* tuple to Tuple ([e567810](https://github.com/lachlangrose/LoopStructural/commit/e567810e4fafd36da7ccf5696dd9245a904d4462))
+* update for project file changes ([0a64def](https://github.com/lachlangrose/LoopStructural/commit/0a64defc19da74d3da3f31accd34af916a60c1a5))
+* update matplotlib cmap for deprecation ([#215](https://github.com/lachlangrose/LoopStructural/issues/215)) ([8d7e9f9](https://github.com/lachlangrose/LoopStructural/commit/8d7e9f9e6f873befd705473dcacbec0492f85187))
+* update strartigraphic column/stratigraphic id for new column ([55c303b](https://github.com/lachlangrose/LoopStructural/commit/55c303bd3aabdac2a9d51beb143b44f13c67beaa))
+* update stratigraphic column from dictionary ([2f6e0ed](https://github.com/lachlangrose/LoopStructural/commit/2f6e0edd2950f497595bfbcfc264d38922a6be0b))
+* update stratigraphic column from projectfile ([e508d2d](https://github.com/lachlangrose/LoopStructural/commit/e508d2de29985ca07938fdb6392a630f170cb565))
+* update tests ([7ca8810](https://github.com/lachlangrose/LoopStructural/commit/7ca88101a70155a815ab843e51d1497cd5105467))
+* update vector scaling ([0a1e18e](https://github.com/lachlangrose/LoopStructural/commit/0a1e18e9740ab8fc72fe2a27231bf6dc8fe2fece))
+* updating bbox for 2d case as well as 3d. ([31f58e0](https://github.com/lachlangrose/LoopStructural/commit/31f58e057b919c0071c877d2ee7f86a8e3c290f4))
+* updating bounding box dimensions to use size of origin array ([e56c868](https://github.com/lachlangrose/LoopStructural/commit/e56c868b0d38ff6db1936c4ef57702e1701eacea))
+* updating bounding box for exporters ([f7e2571](https://github.com/lachlangrose/LoopStructural/commit/f7e25717bbcb6652f438fe1212beddab39ac215d))
+* updating bounding box project/reproject to just translate to origin ([7606864](https://github.com/lachlangrose/LoopStructural/commit/760686432710c92ec2653cafe226012c64c24551))
+* updating point/surface export and constructor ([6b74cfd](https://github.com/lachlangrose/LoopStructural/commit/6b74cfd5d5edda5769653be9e3bc3d9dd6cb4415))
+* updating scaling for plotting ([#219](https://github.com/lachlangrose/LoopStructural/issues/219)) ([78ccbd3](https://github.com/lachlangrose/LoopStructural/commit/78ccbd3edbb67d49b4c21222bc066fbdd82c4dac))
+* updating solve_system kwargs ([ccbacff](https://github.com/lachlangrose/LoopStructural/commit/ccbacffc8bc64abbcd5c93fd8acc00bbe7132bc9))
+* updating thicknesses will update value constraints value ([b960dd9](https://github.com/lachlangrose/LoopStructural/commit/b960dd95c99606658a798200d46ad7e51e9af698))
+* updating type hints ([a064224](https://github.com/lachlangrose/LoopStructural/commit/a0642243fac0bd7e90f28957b95d68e31bac0af7))
+* use an instance of fault displacement function ([6d98fb9](https://github.com/lachlangrose/LoopStructural/commit/6d98fb9ccbfdd3127b46a78091faaaf95f861c06))
+* use cell centres for vector field and rescale points into model bb ([29175b4](https://github.com/lachlangrose/LoopStructural/commit/29175b42094d2b38caa1e31b0775ab9959d0e1fa))
+* use fault normals/slip vectors from data if available. ([7264222](https://github.com/lachlangrose/LoopStructural/commit/726422220c2e6c0aba49bf0ad7c57b8713e7f585))
+* use groupname not group for stratigraphy/fault relationship ([94a563c](https://github.com/lachlangrose/LoopStructural/commit/94a563cc7bc88722dc4131f89e2874d109ae586c))
+* Use ThicknessMedian instead of ThicknessMean as Mean isn't populated ([5f489b9](https://github.com/lachlangrose/LoopStructural/commit/5f489b99ce5ba196fd97c17a35619a5d8db9266d))
+* vector point visualisation bug where nan values exist ([9c70825](https://github.com/lachlangrose/LoopStructural/commit/9c7082535fb5561f79258038e369d53903fa66d2))
+* weights for vector constraints are optional ([7f976b8](https://github.com/lachlangrose/LoopStructural/commit/7f976b872f83c8752b31091852c2278aabad94ba))
+* weights for vector constraints is optional ([72e2f06](https://github.com/lachlangrose/LoopStructural/commit/72e2f06daee43c2aa41ba9751c43f291057d2f1b))
+
+
+### Documentation
+
+* copilot review/update of docstrings to numpy format ([#273](https://github.com/lachlangrose/LoopStructural/issues/273)) ([89a3c5f](https://github.com/lachlangrose/LoopStructural/commit/89a3c5f8ae01b7b80c2e9bffd33e7f6339cc81e1))
+
+
+### Miscellaneous Chores
+
+* release 1.6.4 ([f06616f](https://github.com/lachlangrose/LoopStructural/commit/f06616f8fac0ca3cfc58377524245952f56e686b))
+* release 1.6.5 ([246e48d](https://github.com/lachlangrose/LoopStructural/commit/246e48d86a99e9d1e96ab9a2d9567374ffcf8622))
+
 ## [1.6.22](https://github.com/Loop3D/LoopStructural/compare/v1.6.21...v1.6.22) (2025-09-08)
 
 
diff --git a/LoopStructural/version.py b/LoopStructural/version.py
index 096c7717..81162ee4 100644
--- a/LoopStructural/version.py
+++ b/LoopStructural/version.py
@@ -1 +1 @@
-__version__ = "1.6.22"
+__version__ = "1.6.5"
