Commit graph

45 commits

Author SHA1 Message Date
Nexoniarz
b9b6932d0e Plug-in mouse tools (fry.tool{name, help, click(at, normal, object)}): listed in the Toolbox, a click in the view calls it (one undo); Stamp comes as an example; the Plug-ins window: look for one, make your own copy of one that comes with Fry3DX
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 08:10:24 +02:00
Nexoniarz
e0831563b7 Painting both sides (mirrored across the object's own Y, as sculpting) and a stencil (drag round an area: paint only inside it); a layer's see-through in its menu too; fry_stencil
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 08:06:22 +02:00
Nexoniarz
2f68430354 Reference pictures: 'only in its own view' (out of the way in 3D and the other views); saved
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 08:02:12 +02:00
Nexoniarz
ee7abc2b1f Drawing a shape: each line's length by the mouse; type a length and Enter for exactly that; Shift holds it to 15 degree steps
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 08:00:42 +02:00
Nexoniarz
ab554f277f Crease (Shift+E): picked edges stay sharp when the shape's smoothed (carried through each level and the mirror; saved); shown in magenta; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 07:58:43 +02:00
Nexoniarz
67866ed0fb Print: a slice preview (one layer as the printer makes it, any layer height); fry_print layer N; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 07:53:54 +02:00
Nexoniarz
14e35cceb1 Print: walls thinner than the least (0.8 mm, set it) shown in yellow, the thinnest told; measured once per shape and size, not each move; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 07:51:07 +02:00
Nexoniarz
4f32540d62 Exact sizes: Dimensions typed in Properties (keeping proportions if asked); moving snaps to points, edges' or faces' middles near the mouse; Measure in the Model tab too (command search: measure)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 07:47:44 +02:00
Nexoniarz
e6b3ffeda9 An empty scene says how to start (add, draw, search, pies, import)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 07:44:20 +02:00
Nexoniarz
e8d634f15c Dragging: the number by the mouse as it goes; type a number for exactly that much (move along an arrow, rotate, scale to a size, extrude, inset, round edges); Esc puts a slide back without leaving the shape
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 07:42:25 +02:00
Nexoniarz
445628b0d8 Mirror editing: a symmetric shape stays so (a point moved, its twin across X moved the mirrored way; points on the middle stay on it); in Tool options and the command search
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 07:40:10 +02:00
Nexoniarz
c742c937c6 Slide (Alt+G): picked points glide along their edges the way the mouse goes, click to keep, Esc to put back
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 07:37:32 +02:00
Nexoniarz
f5d1b79756 Repair for printing (joins loose corners, drops empty and doubled faces and inside walls, turns faces out, closes holes): a button in Print and a command; joining points by a grid (an imported STL's 100k corners: milliseconds, not minutes); tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 07:34:47 +02:00
Nexoniarz
1a09c17155 Spin / screw: an outline or open surface turned round X, Y or Z (its own origin or the world's), any angle, rising for a screw; tests (Pappus, cone, screw)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:51:43 +02:00
Nexoniarz
6dd7f976c3 Print size: scale by a share, halve / double, fix wrong units (in, cm, m), fit the plate; its own window too
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:46:45 +02:00
Nexoniarz
f1f7a3fecc The view: near and far go by the distance (no more vanishing far out or cutting close up), a coarser grid out to the horizon; outline and lines over the model agree while a touch turns the view (worked out once, just before drawing); outlines from a cached edge list, points tried for sight only when drawn
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:45:17 +02:00
Nexoniarz
c2bbafd40c 3D text (fonts' overlapping strokes joined, holes by winding), import STL / OBJ / 3MF / glTF (own DEFLATE for 3MF), sturdier face triangles; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:36:54 +02:00
Nexoniarz
ecd7c2cfda Picking and seeing through a tree of boxes per object (made again only when it changes)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:24:50 +02:00
Nexoniarz
48a9dbe918 Command search (F3 / Ctrl+Space), pie menus (Space: tools, Shift+Space: views), keys of your own, undo history, workspaces, select similar / loops / rings; (being made: the rest)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:22:38 +02:00
Nexoniarz
a79a6c9020 Phones: sideways only; back from the background the Vulkan surface is made again (it was lost), the work saved on the way out and carried on with on the next start if the phone closed it
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:16:22 +02:00
Nexoniarz
c1991d9f73 0.7: cutting inside a cut no longer crashes (the boolean's tree kept splitting a sliver by its own plane, forever) and cuts come out closed (points near an edge's end set into it, small gaps filled, a nudged retry); hidden edges stay hidden on big or cut-up shapes (visibility through a screen grid, no "all seen" past a size; the selection outline too); every panel has a least size, kept when docked, and the first layout fits small windows; eye and padlock buttons in Layers; the tabs fit narrow windows; a failed tool keeps your redo; view commands at start-up no longer crash; tests v0.7.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:07:10 +02:00
Nexoniarz
ec67538be0 Mac: settings' numbers read with strtof (Apple's library has no float from_chars before macOS 26), as on Android v0.6.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 20:14:47 +02:00
Nexoniarz
707e0b62e5 README and site: plug-ins, scripts kept in the .fry, your own materials, soft selection, bridge and push
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 19:09:35 +02:00
Nexoniarz
3f23371eac From Blender and Maya: soft selection in shape editing (Shift+O; near points follow, the wheel while dragging sets how far), push out / pull in along normals (Alt+S), smooth points, bridge two faces with a tunnel, show only the selected (/ or Shift+H); fry_shapeop for scripts and tests; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 19:08:23 +02:00
Nexoniarz
3bcd50033d Scripts kept in the .fry (the Script panel lists the file's scripts: new, examples, open, duplicate, remove, rename); your own materials (Save its look as a material, kept for every file; fry.material in scripts); plug-ins: scripts in the plug-ins folder that stay loaded and add menu commands with settings (fry.command, fry.plugin), a Plug-ins window, three that come with it (stairs, scatter, more materials); a new About window; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 19:01:07 +02:00
Nexoniarz
ffaa5e8001 Pictures in the UI read as ImGui's colours are: an sRGB picture was turned linear and showed too dark (the logo in About, the Picture panel's paint) — a UNORM view on Vulkan, a skip-decode sampler on OpenGL 4.6 and 4.0, the texture's own setting before 3.3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 19:01:07 +02:00
Nexoniarz
4cc6d9e043 The crash screen in the app's own look (logo with smoke, the report in a well, Open it again / Copy / Report it on GitHub); sculpt mode's panels and status bar say what sculpting does; fry_scriptpanel; twelve new previews on the site (sculpt, materials, layout, render, scripts, light and the crash screen added)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 18:03:18 +02:00
Nexoniarz
5d3121b335 Combining: points the cutting leaves a hair apart are one, and needles along edges go — the example gear (and others like it) came out with an edge of three faces and a face with no size, so not ready to print; a test for it
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 17:57:13 +02:00
Nexoniarz
e18c7f6bce 0.6: README and site for sculpting, materials, scripts and the Mac app (a macOS download); features regrouped; nothing wider than a phone on a phone
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 17:38:04 +02:00
Nexoniarz
e22cd2e3e6 macOS (Apple silicon and Intel): Fry3DX.app with its content in Resources and MoltenVK in Frameworks, OpenGL 4.1 when there's no Vulkan; the program's own path, memory, OS and CPU names on a Mac; files dropped on the window (and opened from the Finder) open; presets macos-arm64/macos-x64, a CI job, tools/package.py macos makes one universal app
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 17:36:24 +02:00
Nexoniarz
5c28e3da4e Sculpting: the Paint tab's other side (Tab) — Raise, Puff out, Smooth, Flatten, Pinch, Grab, Ctrl the other way, Shift to smooth, the same on both sides (X); shapes are made finer first (the same shape); o:sculpt() in scripts, fry_sculpt for pictures; tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 17:24:13 +02:00
Nexoniarz
e93ae44684 Materials shown in the view: each object's metal and rough reach the shader (Solid and Rendered); a Material picker with sixteen to start from (gold, chrome, wood, ceramic...); o.material and fry.materials() in scripts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 17:14:55 +02:00
Nexoniarz
87436019b3 Site: Niveus Continuity throughout — features in tabs that hand over left or right, screenshot tabs likewise, the bar's marker travelling to the section on screen, theme cross-fades; a Scripting section
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 17:10:53 +02:00
Nexoniarz
62afbf2b1e Scripting: Lua 5.4 with a fry library (shapes, own meshes, lathe, extrude, add/subtract/overlap, points, the look); a Script panel (F5 / Ctrl+Enter runs, one undo step, an error takes it all back), Script menu, example scripts, fry_run; tests run every example
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 17:07:51 +02:00
Nexoniarz
04c8985374 The website on Niveus: window-framed hero, feature cards with drawn icons, screenshot tabs, a light/dark/auto switch, downloads and build steps as cards; still all words in content.js
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 16:58:42 +02:00
Nexoniarz
53d8ecbfcd The Niveus look in the app: bevelled keys and inset wells (a hook in ImGui's RenderFrame), warm graphite and paper appearances made from one brand colour, Instrument Sans and JetBrains Mono; View > Appearance
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 16:56:20 +02:00
Nexoniarz
0f059c37be A new logo: a cube frying in a cast-iron pan, on a bevelled tile; tools/branding.py makes every size
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 16:48:57 +02:00
Nexoniarz
a5e0d2a9eb Phone: turns with the phone (portrait layout), fullscreen, picture the right way up; tap/drag fixes for touch
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
2026-10-19 23:07:37 +02:00
Nexoniarz
5d4ff6338a Vulkan: a compute shader the driver can't build is left out, not a crash
The Galaxy S22 (Xclipse 920) says it has ray queries but can't build the
ray-traced light and fog shaders; Fry3DX crashed on start there. Android
builds use a current glslc (not the NDK's 2022 one).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
2026-10-19 22:56:10 +02:00
Nexoniarz
39a11e401e Keep the newest 15 autosaves; phones start without the heavy render features
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
2026-10-19 22:43:45 +02:00
Nexoniarz
6eb2f55858 Android: no .idsig file next to the APK (v4 signing off) v0.5.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
2026-10-19 22:33:25 +02:00
Nexoniarz
5e84ef0e13 OpenGL ES 3.0 for phones without Vulkan; the old-GPU renderer draws the grid; site fonts
- Android: Vulkan 1.3 if the phone has it, else OpenGL ES 3.0 (the
  fallback renderer, which now also runs on ES); the APK no longer
  needs Vulkan to install
- The fallback renderer draws sprites and streaks: the grid and axes
- The website ships its fonts (Inter, JetBrains Mono): no more falling
  back to whatever the visitor has
- Android: link the log library (GitHub's build)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
2026-10-19 22:22:55 +02:00
Nexoniarz
65705d82f3 Builds: file times without to_sys (Windows), no C++ module scan (Android on GitHub)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
2026-10-19 22:11:08 +02:00
Nexoniarz
f6f5e5f288 Fry3DX 0.5: builds for Windows, Linux and Android, a phone layout, Apache 2.0
- Apache License 2.0
- Windows: cross-built with clang-cl (cmake --preset windows), a window
  program with its icon; Linux: a portable preset (SDL and the C++
  library inside); Android: android/build_apk.py makes the APK
- tools/package.py packs the downloads; a GitHub workflow builds all
  three and makes a release for a v* tag
- A phone layout (fry_touch, on by default on Android): the UI drawn
  bigger, panels when asked for, a bar of big buttons, one finger to
  turn the view, two to move and pinch, a long press for a right-click;
  files through the phone's file picker
- Settings and autosaves now in a Nexoniarz folder (copied over once)
- README rewritten, the website shows the downloads and the phone

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
2026-10-19 22:05:01 +02:00
Nexoniarz
f3e8eca87b Fry3DX 0.4: an easy 3D modeller
Shapes with live settings, shape editing, knife and hole tools, drawing
shapes onto other objects, combining objects (add / subtract / overlap),
copies, thickness, painting with stickers and layers, a Layout tab, a
Print tab with checks, packed .fry files with autosave, export to GLB,
glTF, FBX, OBJ, 3MF, STL and PLY, folders in Layers, its own crash
screen, and a website for GitHub Pages in docs/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
2026-10-19 21:18:35 +02:00