Skip to content

BrokkrSculpt open beta

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Aug 15:52
c53a8a6

Download

Windows (64-bit) BrokkrSculpt-Windows-x86_64.zip
macOS (Apple silicon) BrokkrSculpt-macOS-arm64.zip
Linux (64-bit) BrokkrSculpt-Linux-x86_64.tar.gz

Those three links always point at the newest build. Everything in the
asset list below named update-… is for the built-in updater to
fetch; you never need to download one by hand.

An open beta, and unsigned. Both matter to what you are about to see.

The dialog your OS will show you

Nothing here is signed by Apple or Microsoft, because those cost money
this project does not have yet. Neither warning is about anything being
wrong with the download.

  • macOS will say "BrokkrSculpt.app is damaged and can't be opened."
    It is not damaged; that is what Gatekeeper says about any unsigned app
    from the internet. Move it to Applications, then in Terminal run
    xattr -dr com.apple.quarantine /Applications/BrokkrSculpt.app and
    open it normally.

    Not Control+click then Open -- Sequoia removed that. The supported
    route is System Settings > Privacy & Security > Open Anyway after
    a failed launch, but it wants an admin password, only offers the
    button for about an hour afterwards, and an app with no signature at
    all may not appear there to be excused at all. The quarantine flag is
    the one path that does not depend on any of that, and it turns off
    nothing system wide.

  • Windows will show "Windows protected your PC" from SmartScreen.
    Click More info, then Run anyway.

  • Linux has nothing to say about it. Untar and run ./brokkrsculpt.

Known, and worth knowing before you file it

  • macOS masking renders wrong. A masked body's tint spreads past the
    mask and shows a seam between bricks. The geometry is correct and
    everything else works; this is a difference in how the Metal backend
    reads a vertex attribute and it is being chased. Linux and Windows are
    unaffected.
  • Windows and macOS have no stylus pressure and no SpaceMouse. Both
    are read straight from the Linux kernel today; the other two platforms
    fall back to full pressure and no puck.

Updates

This build can update itself. The tick is on the welcome screen and in
the Help menu, on by default, and turning it off stops the check as
well as the offer. Every update is signed and verified before anything
is written.

The swap has only been run for real on Linux. Windows and macOS
share the same verified download and the same checks; what is untested
there is the replacement itself. Both keep the previous build and leave
a RECOVER-BROKKRSCULPT.txt beside the application saying how to
restore it. BROKKR_NO_SELF_UPDATE=1 downloads and verifies but never
installs.

Reporting

Help > Report a bug sends straight from the app, anonymously unless you
have signed in.

What changed

The first public build

BrokkrSculpt is now downloadable for Linux, Windows and macOS. Nothing is
signed yet, so both Windows and macOS will warn you about the download — the
release notes quote each warning and say what to do about it.

The three are not equally finished, and
the README says specifically what is unproven on each.
Linux is where this is built and used every day. Windows and macOS compile from
the same commit and pass the same suite, but have had far less time in front of
real hardware.

Added

  • Your own filaments in the exported 3MF. A new FILAMENT section in the
    properties panel shows what is loaded in each of the printer's slots, and
    Sync filaments from printer reads it straight off a Snapmaker U1 over the
    network — colour, material and vendor per tool head. Exporting a 3MF now
    declares those filaments, so the file opens in OrcaSlicer showing what is
    actually in your machine instead of four built-in colours nobody chose.

    A slot with nothing loaded is left alone rather than blanked, and the status
    line says which ones were skipped. The palette is kept in filaments.conf
    beside your printer settings and can be edited by hand.

  • Paint, in filament slots. Brush 8 paints the surface under the
    stroke with one of your printer's slots — pick which on the swatch row that
    replaces the strength slider while the brush is live — and ctrl or
    alt drag erases. What you paint is a slot NUMBER, never a colour: the
    viewport shows it in whatever that slot's filament is today, the FILAMENT
    panel's show paint hides it without changing anything, and the exported
    3MF assigns each painted triangle to that slot, so OrcaSlicer opens it ready
    to print in those filaments. Paint is saved with the model, undone a stroke
    at a time, mirrored with the mirror planes, and stencilled by the surface
    patterns. It has no strength or falloff, because a slot has no half.

    Paint travels with the material: through the transform gizmo, a turn, a
    resample, a merge, a split, a duplicate and under the Move brush. A cut
    face is unpainted, because it is new surface; paint it if you want it in
    another filament. The edge of a painted region is cut through the
    triangles it crosses rather than stepping a whole triangle at a time, in
    the viewport and in the exported file alike, so a curve painted across a
    form comes out as a curve.

Fixed

  • Windows said "no tablet found" to everyone. The PEN panel and the bug
    report read a device list that only the Linux scanner ever filled, so on
    Windows the line was a default rather than a finding, whether or not a pen
    was reporting. Windows now enumerates its HID devices at startup, names the
    pen with its pressure range, tilt and eraser, and listens for a pen whichever
    of the two top-level usages its driver presents. `brokkrsculpt.exe --tablets

    tablets.txt` lists every HID device and says why each is or is not a
    stylus, including the mouse-mode case, which is the one to check first: a
    tablet whose driver has Windows Ink switched off is a mouse to every
    application. A tablet plugged in after launch is not seen until a relaunch.

  • Vendor forks and every packaging format are found, not just OrcaSlicer.
    Snapmaker ships its own OrcaSlicer fork, BambuStudio is the same lineage again,
    and any of them can arrive as a native package, an AppImage, a flatpak or a
    snap. Rather than a list of names times a list of install locations — a table
    that is wrong the day somebody forks again — a preset directory is now
    recognised by its shape, and the slicer's config file is read by its own name
    instead of always OrcaSlicer.conf. Where several are installed, the one you
    used most recently wins.

    If yours still is not found, put datadir = /path/to/it in slicer.conf
    beside your other settings and it is used before anything is probed.

  • Opening an exported 3MF no longer changes your printer in OrcaSlicer. The
    file named no machine, so Orca invented a printer, a process and four filaments
    all called (yourfile.3mf) — and wrote that invented printer into its own
    settings, so the machine you had selected was displaced by opening a model. An
    export now names the presets your slicer already has.

    Your printer's address and credentials are deliberately left out of the
    file.
    A machine preset holds print_host, printhost_apikey and
    printhost_password; an exported model is something you hand to other people,
    so those keys are stripped on the way in. Binding matches on the preset name,
    which is not a secret.

    If your presets cannot be read, the export still works and the status line says
    so rather than leaving you to find out in the slicer.

  • An exported 3MF now sits on the bed instead of half under it. A 3MF opened
    as a project is placed exactly where the file says, unlike an STL, which the
    slicer drops onto the bed for you — and the file said the origin, so the model
    arrived on the plate's front-left corner with half of it below the bed. It now
    carries a transform that rests it on the bed and, when your OrcaSlicer machine
    preset can be read, centres it on your actual plate. Only 3MF was affected;
    STL and OBJ never carried a transform and are unchanged.

  • "Check printer" reads the config file it tells you to write. It looked for
    printer while every other setting in the application is a .conf file, so a
    perfectly good printer.conf was ignored and the application reported no
    printer at all. Both names are read now, and a missing file names the .conf
    one.

  • Sign in to TinkerAtlas, optionally. It exists for one reason: an
    anonymous bug report cannot be answered. Signed out, a report carries no
    account and no credential; signed in, it goes under your name — and the line
    above the Send button says which before you press it.

  • A bug button in the corner of the viewport, so reporting something does
    not require finding a menu.

  • Updates, checked and applied. The application asks GitHub which build is
    published, and can download and install it for you. Three things are worth
    knowing before you decide whether you want that.

    It is on by default and there is a tick to turn it off — on the welcome
    screen, and in the Help menu so it stays reachable once you have turned the
    welcome screen off. Turning it off stops the check as well as the offer;
    nothing phones home to display nothing.

    Every update is signed, and the signature is checked before anything is
    written. What is signed is a manifest carrying the length and the SHA-256 of
    each download, so the bytes are bound to the release they claim to belong to
    rather than merely being someone's bytes. The public key is compiled into the
    application; the private half has never been on a build server.

    Linux is the only platform where the swap itself has been run. Windows and
    macOS use the same verified download and the same checks, and their
    replacement step has been tested against everything except real hardware —
    which, on those two, is the part that can go wrong. Each keeps a copy of the
    build it replaced and writes a RECOVER-BROKKRSCULPT.txt beside the
    application saying how to put it back. Set BROKKR_NO_SELF_UPDATE=1 and the
    update is downloaded and verified but never installed, which is what macOS did
    before this and what to fall back to if the swap ever misbehaves.

  • Stylus and SpaceMouse on Windows and macOS. Written, compiled on each
    platform, and never yet connected to hardware by anyone involved. The PEN and
    PUCK panels say which state they are in — listening, or actually reading — so
    a single screenshot from someone with a tablet settles it. If it never starts
    reading, strokes run at full pressure exactly as a mouse does.

Changed

  • An imported model now arrives at a size you can work with. A generative
    export carries no units and lands about two millimetres across, which is far
    too small to sculpt and was being taken at face value. It is now recognised
    and brought in at a real size.
  • An import chooses its own resolution from the mesh rather than inheriting
    whatever the last thing on screen was built at. The same file imported twice
    used to give two different results depending on what you had open before.
  • The brush follows the model. A 3 mm brush is a brush on a 60 mm figure and
    a pin on a 200 mm one; the radius is now a proportion of what you are working
    on rather than a fixed number.
  • Undo holds about four times as many steps in the same memory. Nothing
    about undo behaves differently — there is simply more of it.

Fixed

  • Selecting with the cut tool now tells you where the button actually is.
    Ctrl and a cut gesture protects what you circled instead of removing it, and
    the message afterwards sent you to the BODIES panel, which has no such
    button. The mask card in the corner now carries a split off verb beside
    invert and clear, and the message names it. The same message also named
    whichever body happened to be selected rather than the one you had just
    masked.
  • A failed update now says why, somewhere you can read it. The install
    button on the welcome screen reported its outcome into the status line
    behind that screen, so a refused install left nothing on screen at all.
    Refusals appear on the welcome screen itself, and every update outcome is
    written to update-log.txt beside the crash report and included in
    Help > Report a bug — on Windows there is no console, so until now a failed
    update left no trace anywhere once the window was closed.
  • A newly installed build that will not start is retried for a couple of
    seconds before giving up, and the message says how many attempts it took.
    Windows antivirus can hold a file it has just seen appear.
  • The "mesh pool full" warning now has a button instead of bad advice.
    After a lot of cutting the pool can be fragmented rather than actually
    full — there is room, it is just stranded. The warning used to tell you to
    reopen the file, which meant closing a sculpt to fix a display problem.
    It now offers Rebuild view, which packs the pool in place. It is a
    button and not something a cut decides for you: it is a full remesh, and
    a few seconds of one arriving uninvited mid-stroke is worse than the
    warning it silences.
  • A mask no longer hangs in the air waiting to catch moving material.
    Dragging an unmasked part of a model towards a masked one made the moving
    part arrive masked, and stretched it on the way in. Protection now travels
    with the material it protects.
  • The tool strip stopped clipping its own labels once it grew a scrollbar.

Known problems

  • Masking renders wrong on macOS. The tint spreads past the mask and shows a
    seam between bricks. The mask itself is correct, so brushes stop where they
    should and exports are unaffected — but you cannot trust the blue to tell you
    where it is. Linux and Windows are unaffected.
  • Nothing is signed on Windows or macOS, which is a cost rather than an
    oversight and is what the beta is partly for.

Built from c53a8a6e9d058498ca3ef0c383f7da8b6c836f19.