Nexoniarz
1ee38c966c
Far out stays steady: the grid's lines worked out from small numbers (its square's middle a whole number of kilometres from the world's, found in doubles; where on it from there), so far from the origin they no longer turn grainy and shake; the sun's shadow maps snap to their texels in doubles; packaging reads the version from project.json
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 17:41:25 +02:00
Nexoniarz
ee56ed4005
0.8.1: project.json holds the version, the links, who made it and what it's built on (CMake reads it into fry_project.h and Windows' file details, which had stayed at 0.5.0); the About box lists the creators, the Help menu the website, reporting a problem and the newest version. Steadier far out: the grid's line sizes go by each pixel (not the focus, which jumps between the ground and the sky as you fly, popping every set at once), the far plane doesn't follow that focus when flying, and a wheel notch is at most twice as far as the nearest thing; the site's 0.8.1
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 17:30:43 +02:00
Nexoniarz
b2fc0437bc
The grid worked out for each pixel (as in Blender): one square on its plane, every set of lines showing everywhere their lines are far enough apart on the screen (no patch round the middle, no pieces smearing or fading as you move), a pixel or so wide and smooth, the axes in the colour of the world's axis they run along; in every renderer (drawGrid: a sprite marked by its colour's alpha)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 17:18:13 +02:00
Nexoniarz
9d9557117a
Close up no longer falls apart: how near the nearest thing is goes by each object's box (not a ball round it: inside a big or long flat one's ball it came to nothing, the near plane with it, and surfaces fought each other in blocks, jittering, the sky and grid gone), the near plane a quarter of the way to it; reference pictures count too. Grid lines meet exactly where their pieces join (no crawling dots): a streak's ends each face the eye, each its own width; pieces a quarter further from the eye each. The depth pre-pass waited on before the scene uses it; the same depth in both (invariant)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 17:08:13 +02:00
Nexoniarz
415f8fa352
Fly camera (as in games, Unreal, Unity): right drag turns it where it stands, WASD (Q / E down, up) while held and the arrows any time move where it looks, the wheel goes forward and back (never creeping to a stop), Shift + wheel sets how fast every way of moving goes (kept), Alt + right drag orbits round what's picked; it keeps track of what it looks at (the near plane and shade in corners go by what's nearest). Close up in Rendered no longer turns into a pattern: the shade in corners reaches a share of the view (its +1 a share of the reach in the engine). The grid made again: four sets of lines, each line's look only from how far apart it and its like are on the screen (no jumps as the view moves or the steps change, no gaps, soft edges), pieces short near the eye. F3 and Escape close the command search (the engine takes Escape first). fry_hold / fry_mouse / fry_orbit target for trying it
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:53:22 +02:00
Nexoniarz
830876a18e
app.cpp split: the App class declared in app.h, what it does in app.cpp (document, files, keys, main), app_model, app_paint, app_print, app_view, app_panels, app_scripts (done by a script: the bodies moved as they were); the print check's wall thickness kept while moving; two clang warnings
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 08:51:21 +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
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
ec67538be0
Mac: settings' numbers read with strtof (Apple's library has no float from_chars before macOS 26), as on Android
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 20:14:47 +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
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
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
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
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
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
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