Ok, so Norman and I were chatting about this last night and we’re going to remove the layout-editor example from the samples directory and replace it with a link to the repo where that project now lives.
The purpose of this project has a few goals.
- It will serve as the Window layout editor for the Buoy language. Right now it allows simple positioning but no control over locks or constraints. That will come as language features allow (we’re close).
- It will serve as a showcase of what the product is capable of, exercising all of the controls, so we can say “runs everywhere, natively”.
- It also serves as a place to show how to use different parts of the language to the user’s benefit. We will endeavor to document the project thoroughly as we go.
- It should also be a “best-practices” demonstration. We want to add unit tests that run whenever the project is run in VSCode now that DebugBuild is actually set to True at appropriate times.
- Build and run the editor sources in
src/ with the Buoy compiler.
Nice, but how exactly?
src % buoy LayouteditorApp.bui -o LayoutEditor.app
LayoutEditorWindow.bui:529:0: error: class 'LibrarySource' already declared (use 'Partial Class' to split a class across files)
controls/LayoutLibrary.bui:16:0: error: class 'LibrarySource' already declared (use 'Partial Class' to split a class across files)
Yeah well I guess I broke that today. I’ll get that fixed in a sec.
Fixed. Apparently I had some uncommitted changes.
Thank you, but now i get this error
src % buoy LayouteditorApp.bui -o LayoutEditor.app
error: cannot find library 'buoy_picture' for Declare (looked in:
/arm64-apple-macos/buoy_picture.tbd
arm64-apple-macos/libbuoy_picture.dylib
/libbuoy_picture.dylib
arm64-apple-macos/buoy_picture.dylib
/buoy_picture.dylib
LayoutEditor.app/Contents/MacOS/libbuoy_picture.dylib
LayoutEditor.app/Contents/MacOS/buoy_picture.dylib)
Looking… no good deed. Looks like this broke when I stripped out the developer paths during linking. Working on a quick patch.
0.19.4 is available with a fix for that. Very strange that this was not reproducible in VSCode.
Thank you, it works now! The Layout-App for macOS with GUI is under 1 MByte, amazing. 
We should all keep in mind that it’s early days for the buoy framework. As we add new built-in features, the size of the base framework components are going to grow and that tiny footprint grows with it. We are striving to keep features compartmentalized as much as possible so that only what you need in your apps is included, but there will be limits if frameworks get cross-pollinated. For instance FileSystemItem needs DateTime, DateTime needs TimeZone.