Comments (6)
Thank you, @devanlooches! I'm closing this then. If anybody still has problems, please comment here, or open a new issue.
from fornjot.
Having tested this on Windows10, the issue is present there aswell.
According to documentation of Notify's AccessKind:
Only some platforms are capable of generating these.
So it makes sense that it does not work for Window10 and MacOS. The documentation does not state which platforms can, and cannot use AccessKind.
A different point relating to a potential fix. I suppose the desired behavior is to recompile on a save event. As I understand Notify documentation currently the recompile is on:
An event describing non-mutating access operations on files
I will look in to a fix using a 'saving of file' event. @hannobraun let me know if I am going in the wrong direction.
FYI. I used debugging CodeLLDB VScode plugin to debug and learned that debugging and the recompiling functionality does not work well together. I believe it is due to the debugger restraining access to the compiled libraries (e.g. xzy.dll) so that they cannot be overwritten. Not an issue for this fix, but an interesting issue nonetheless.
from fornjot.
Thanks for looking into this, @Bandsberg. It sounds to me like you're going in the right direction.
I implemented this (on Linux) without looking at the documentation at all. I just printed the events that were triggered and selected the one that seemed to do what I needed, naively assuming that notify
behavior was uniform across platforms.
Maybe another event works cross-platform. If not, we can add platform-specific code for this.
FYI. I used debugging CodeLLDB VScode plugin to debug and learned that debugging and the recompiling functionality does not work well together. I believe it is due to the debugger restraining access to the compiled libraries (e.g. xzy.dll) so that they cannot be overwritten. Not an issue for this fix, but an interesting issue nonetheless.
Feel free to open an issue, if you think there's something we can do about this on our end. It should be relatively straight-forward to make the automatic re-compile something that can be enabled/disabled. And once this is possible, we could let the user do this through the UI, or disable it as part of error handling. I don't know, whatever makes sense.
from fornjot.
#28 solves the issues of monitoring /watching for changes and recompiling, but model reloading on MacOS still does not work, see PR.
from fornjot.
Not sure why this is labeled https://github.com/hannobraun/Fornjot/labels/good%20first%20issue. Removing.
from fornjot.
Tried this out on my mac and it seems to be working fine.
from fornjot.
Related Issues (20)
- Validate winding of sketches HOT 1
- Validate that half-edges in a cycle don't intersect
- Validate that faces in a shell don't intersect
- Improve shading to properly display blind holes
- Document limitations of shell-face sweeping HOT 1
- Use flexible object selectors in update and replace operations
- Validate that regions within a sketch don't intersect
- Validate that shells within a solid don't intersect
- Look into simplifying winding/handedness
- Upgrade to `wgpu` 0.19
- Upgrade to `threemf` 0.5 HOT 1
- Validation precision issues with large objects HOT 2
- Clarify situation around subtractive sweeps
- Validation is no longer reliable in the presence of the geometry layer
- Only define geometry for `Surface`, `Curve`, and `Vertex` HOT 12
- Request: Add variant of `process_model` that accepts `Args` rather than parsing them HOT 2
- Example usage together with Bevy? HOT 1
- The possibility of Fornjot as an alternative CAD kernel for CadQuery HOT 1
- Upgrade to wgpu 0.20
- Upgrade to winit 0.30
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fornjot.