Skip to content
Changelog

What Modelado shipped.

Every entry in docs/CHANGELOG.md, read at 4b33018 and dated by the commit that wrote it.

Atom feed
  1. A GLB with a photo texture weighs megabytes: the texture is always embedded as a lossless PNG

    A GLB carries an opaque texture as JPEG and a cut-out one as PNG, the Export card says which; the canyon's photo is 195 kB, not 1 MB (design superseded: geometry is 3.1 MB (MOD66)).

    MOD63 · 2bc3f79
  2. Simplify takes minutes on a relief with a base, where a TripoSR mesh of the same size takes a second

    Simplifying a 256-grid relief with a base to a third takes 1 to 2 s on the guest's CPU instead of 10 to 51 s, with no vertex left above 20 neighbours (design superseded: no fan; ties grew stars).

    MOD62 · 052c747
  3. The UI cases on the real models are rebuilt by hand for each task and deleted, so nothing re-checks them

    cases-live holds the real-model cases, MOD53's first; run-live-vm.cmd downloads the models on the guest and ran them green under winwright.live.json's waits (design recorded in README.md).

    MOD61 · 2c99d53
  4. The app crashes on start when a cloud key is already stored, so a key saved in About ends every later launch

    A window started with a cloud key already stored opens with the Cloud 3D card priced instead of crashing; a case starts one with meshy.key in place.

    MOD60 · 4eb2a2a
  5. An imported GLB or OBJ whose colour is a material's own (baseColorFactor, Kd) or one of several textures opens grey

    A model's several textures open packed into one atlas, plain parts in a palette tile and factors tinting their textures; past four they are baked to colours with a notice.

    MOD59 · 4a5e254
  6. The UI cases run as one test that now takes over ten minutes, so the 10m hang bound ends a green run as hung

    run-tests.cmd gives each test 20 minutes before it is dumped as hung, and the guest gate's UI cases pass at 10m16s instead of being ended at 10m.

    MOD58 · 135e4c7
  7. CI on Linux fails since MOD23: removing a downloaded model accepts a name with a backslash there

    Removing a downloaded model refuses a name with either separator on every system, so the ModelLibrary test holds on Linux CI as on Windows.

    MOD57 · 1a88175
  8. A reconstruction and a model download have never been seen in the status bar's chips

    On the guest's real models, a 3D Object and a Relief each showed the job chip, then a last run on the CPU chosen in About; the window's mesh matched modelado-cli's.

    MOD53 · baff4e8
  9. A photo cannot be turned into a 3D object or relief from inside Blender

    Blender's Generate from photo makes a 3D Object or a Relief at the 3D cursor at the size set, its colours shown, after consent when models are missing (design superseded: Meshy moved to MOD65).

    MOD44 · 2fd705b
  10. A model already in Blender cannot use Modelado's tools without exporting it, opening the app and importing back by hand

    A Blender 4.2+ extension in blender/modelado runs Modelado's six edits on the selected object through modelado-cli --json, off the main thread with Esc to cancel, as one undo step.

    MOD43 · 9693526
  11. A model's texture can only be upscaled; there is no way to make a new texture or material image from a prompt

    The Edit card draws a material with Ideogram after consent and puts the chosen one on the model as a version; a relief took stone and Undo restored its photo.

    MOD40 · 5c47f98
  12. Without a photo there is nothing to reconstruct: the app cannot make the input image from a prompt

    A candidate drawn from a description through the stand-in Ideogram opens and becomes a TripoSR model on the real models, held by a live case on the guest.

    MOD39 · b47a6d6
  13. Meshy AI cannot be used: no image-to-3D or text-to-3D through it, beside the local TripoSR

    On the guest with a real key, Meshy and TripoSR each turned the robot photo into a model that was simplified and saved as GLB; Meshy's landed as its own version.

    MOD37 · d3d74c6
  14. Nothing builds and deploys the site when it changes

    A push changing content.ts was built by site.yml and is live at alegauss.github.io/modelado/; a template missing an anchor fails the same build.

    MOD35 · 7d5c454
  15. The site has no sections on each operation, privacy, formats or the download

    The Studio shows each operation on a real, credited photo: a burger to turn, three reliefs, a chair before and after refining, a texture before and after AI (design recorded in site/README.md).

    MOD34 · c5e3568
  16. The site has no hero showing a photo becoming a model the reader can turn, the way PhotoBoost opens on a before/after

    The hero shows TripoSR's robot photo beside the model Modelado made of it, turned by mouse, touch or keys; reduced motion keeps the poster (design recorded in site/README.md).

    MOD33 · a3bbba9
  17. Nothing publishes a release: no tag-driven build, no GitHub release with the installer and a SHA256SUMS file

    Tag v0.1.1 published Modelado 0.1.1 with its installer and a SHA256SUMS that matches it; release-files.ps1 fails the workflow on a version that is not the props'.

    MOD29 · 4bc8d23
  18. The app reads a custom model repository only through --manifest at launch; the window cannot add or switch to one

    About adds a source by owner/name or URL after showing what it lists, keeps it, and the Relief card offers its depth model; two winwright cases passed on the guest.

    MOD27 · 8822658
  19. publish_models.py never reads back what it uploaded, so a broken or truncated file is found only by the app

    verify_published.py checks each published file's size and SHA-256 and passed all 13 in the live repository; publish_models.py runs it before embedding.

    MOD26 · 58ff6a2
  20. Publishing never checks that a model's license allows redistribution before uploading it to a public repository

    build_manifest.py refuses a model whose license a public repository may not carry, naming both; --allow-license with a --reason lets it through and the reason goes into the model card.

    MOD25 · e8a40bd
  21. Only the models export_models.py builds can be published; a custom ONNX with its own meta.json has no way in

    add_model.py admits an ONNX model held to its task's built-in meta.json, and the guest's app ran Relief on one it added (design superseded: pipelines take models by fixed name).

    MOD24 · a739a13
  22. The embedded models-manifest.json lists no models, so the app cannot download any model and no operation can run

    Five models are on alegauss/modelado-models, pinned to their upload commit; a clean guest fetched all ten files by SHA-256 and ran 3D Object, Relief and upscale on the robot photo.

    MOD20 · b04c4ad
  23. Cases on an --open fixture act before the file is shown, so a slow guest turns the gate red at random

    Every case that acts on an --open window first waits for its file in the source chip, and the gate passed three runs in a row on the guest (design recorded in winwright.json).

    MOD56 · cacbec3
  24. The window shows no cloud usage panel or budget chip, so a service's spend and limit are never seen

    About sets each service's monthly budget and shows its spend, balance and estimate drift; the chip counts it down and warns; a job it cannot cover is held (design superseded: no rate-limit row yet).

    MOD55 · 8242316
  25. The Save view as image case presses the camera button before the staged cube has opened, and breaks on a slow guest

    The Save view as image case waits for the camera button to be enabled, so it presses it only once the staged cube is shown.

    MOD54 · 6b304d5
  26. The provider chip says DirectML but not which GPU it runs on or how much video memory it has

    The provider chip and the CLI name DirectML's GPU and video memory, e.g. DirectML · NVIDIA GeForce RTX 4060, 8 GB, read from DXGI adapter 0 (design superseded: the guest's VMware GPU is named).

    MOD52 · f267fbe
  27. Counts, sizes and timings in the window and the CLI use the system culture, so 980.000 triangles reads as 980

    The app and the CLI set en-US for every thread at start, so a pt-BR machine reads 3,072 triangles and 0.8 s, and a typed 1,5 still sizes as 1.5.

    MOD49 · c4ceb2e
  28. modelado-cli crashes with a stack trace on an option missing its value, and silently accepts unknown options

    modelado-cli checks options per command first: a missing value is ERROR with exit 1, an unknown option or command ERROR with exit 2 (design recorded in tools/Modelado.Cli/CliArguments.cs).

    MOD48 · 12bafed
  29. A cloud action gives no estimate of what it will cost before it runs

    A dated price table estimates each cloud action from its options, a job the budget cannot cover is refused before upload, and the ledger keeps estimate and actual; MOD55 is the window.

    MOD42 · 1005019
  30. Nothing shows each service's credits, usage or status, so a limit is found only when a job is refused

    A ledger keeps each cloud job's cost across restarts; budgets warn past 80% and refuse a job at 100% before it is sent; MOD55 is the window (design recorded in src/Modelado.Cloud/CloudLedger.cs).

    MOD41 · 7a1bfeb
  31. An open model cannot be remeshed or retextured through Meshy, only edited with the local geometry tools

    The Edit card remeshes or retextures the open model through Meshy after its consent line, each a version, and two undos give back its bytes (design superseded: retexture takes a prompt, no image).

    MOD38 · 64b6fb8
  32. The app has no way to use a cloud 3D or image service: no place for an API key, no provider abstraction

    Modelado.Cloud holds the provider interface, one submit-poll-fetch job runner and a DPAPI key store; a fake provider drives a job into the history (design superseded: its About part is MOD37's).

    MOD36 · 19d8ea4
  33. Modelado has no public site: nowhere to see what it makes, try a result or download it

    site\ builds a prerendered English page at /modelado/ with the design system's nav, footer and theme toggle; Lighthouse accessibility scores 100 (design recorded in site/README.md).

    MOD32 · 69c2e0a
  34. A newer release found cannot be installed from the app; it has to be downloaded and run by hand

    About's Update and restart fetches the installer, refuses it unless SHA256SUMS matches, runs it silently and relaunches; the guest proved both (design superseded: a running operation must end first).

    MOD31 · e592f0c
  35. An installed copy has no way to learn that a newer release exists

    The window checks GitHub for a newer release at start and daily, shows it as a status-bar chip, and About checks by hand or turns it off (design recorded in src/Modelado.Inference/ReleaseCheck.cs).

    MOD30 · 31c4a91
  36. There is no installer: Modelado runs only from a build tree, with no Start menu entry, file association or uninstall

    build-installer.cmd builds a per-user Inno Setup installer with Open with; a guest check installs, upgrades, opens a model, uninstalls (design recorded in build/installer.iss).

    MOD28 · 43c68a2
  37. The CLI's --preview writes a rendered view of the model, but the window cannot save the view it shows as an image

    A camera button beside Front view saves the view shown as a PNG, 1024 to 4096 px on the long side, on a transparent background, through the function the CLI's --preview calls.

    MOD19 · 335442e
  38. Where inference runs (auto, DirectML or CPU) can only be chosen with --provider at launch, not from the window

    About offers Automatic, GPU (DirectML) or CPU; the next operation runs there, the chip follows at once, and settings.json keeps it for the next start.

    MOD18 · c4dd487
  39. Every edit's status line shows a garbled arrow between the triangle counts since the toolbar change

    The edit status line shows its arrow again, and MOD8's toolbar case on the guest reads it.

    MOD51 · 0a3cc67
  40. run-tests.cmd fails the Python suite where python on PATH is the Microsoft Store stub, though Python is installed

    run-tests.cmd uses .venv, a python that runs, or the one Python registered, and the guest gate runs scripts\tests green.

    MOD50 · bb9585a
  41. The download tests fail to construct when the loopback server's first random port is already taken

    The download test server opens a fresh listener on each port attempt, so a busy port means another try instead of a red suite.

    MOD47 · 7ff8ea6
  42. Downloaded models can only be removed all at once; About lists no per-model size and no Remove for each

    About lists each download with its size and its own Remove; Remove all asks in the panel; a model in use is not removed.

    MOD23 · 4631b4d
  43. An operation card does not say before it is pressed that it needs a one-time download, or how large it is

    Each operation card badges its one-time download and size; the download runs beside the app, pauses, resumes, and starts its operation.

    MOD22 · 7842894
  44. A first-use download is offered in a MessageBox listing text, not a panel with each file, size, source and license

    A first-use download is offered in an in-window panel listing each model's size, source and license; Not now changes nothing else.

    MOD21 · bb0f33a
  45. The 3D Object card always samples at coarse step 2 with 2 smoothing passes; the CLI's --step and --smooth are absent

    An Advanced expander on the 3D Object card, closed by default, sets step 1 or 2, 0-6 smoothing passes and the loose-piece share; real-model parity waits in MOD53.

    MOD17 · 2f4ad4c
  46. Edit amounts are fixed in the window (smooth 3 passes, pieces under 5%, flat base at 3%) though the CLI takes each one

    Smooth passes, the loose-piece share and the flat-base height each have a slider beside their button, are named in the history, and give the CLI's mesh byte for byte.

    MOD16 · 7601db9
  47. The window always exports STL at 100 mm on its longest side; the size the CLI's --size takes cannot be chosen

    The Export card takes the longest side in mm for STL or units otherwise, shows the box it gives, and saves through Mesh.Placed, byte for byte what the CLI's --size writes.

    MOD15 · 2ffabb9
  48. The suite runs on the developer's own desktop: no VMware guest run, so UI cases would take over the operator's desk

    run-tests-vm.cmd carries the tree to the VMware guest and runs every suite there with a hang bound; README and skill name it the gate.

    MOD14 · 43573ed
  49. Export is only a Save dialog that guesses the format from the extension, with no card for format and options

    An Export card picks the format first, shows only its options and what the model loses in it, and writes files that read back.

    MOD13 · 3950178
  50. Undo and Redo move between versions, but nothing shows the list of versions the model went through

    A History card lists every version with the amount it used, the one shown selected, and drops undone versions on a new edit.

    MOD12 · 4dce3f0
  51. About is a separate modal window built in code, not a panel that takes the stage's place as in PhotoBoost

    About is an in-window panel toggled from the status bar; a case watches a download keep going while it opens and closes.

    MOD11 · 018dc83
  52. With nothing open there is only a hint over the viewport: no drop zone, no Open button, nowhere to show an open error

    The empty window is a drop zone with the formats and Open; a file that cannot open is said in place, never in a dialog (design superseded: toolbar model commands stay shown but off).

    MOD10 · b0b8df4
  53. The status bar is a bare panel with a provider chip and a text line: no job, last-run or download chips, no About

    The status bar holds the chips and About and shows an edit live; the reconstruction and download checks move to MOD53.

    MOD9 · 11f9257
  54. No control has an AutomationId and there are no UI cases, so nothing proves a screen works

    Every named control has an AutomationId, and six winwright cases drive the window on the VMware guest from run-tests.cmd.

    MOD8 · 1811328
  55. The window and the taskbar show WPF's default icon

    Modelado wears its own icon, a cube on a blue tile drawn per size by tools/Modelado.Icon, in the exe, the window and the taskbar.

    MOD7 · 0597c76
  56. The progress card sits mid-panel between the Edit and Quality cards, so a running job can scroll out of sight

    A running job is pinned above the scrolling cards with Cancel, seen and stoppable however far the cards scroll (design superseded: PhotoBoost's 300 px clips these cards; 340 px stays).

    MOD6 · bb9585a
  57. The toolbar is a row of text buttons wired to Click handlers, with no glyphs and no commands that enable themselves

    The toolbar is glyph buttons on commands shared with their shortcuts, dimmed when they cannot run; turns and Mirror moved up from the Edit card.

    MOD5 · 4b579f6
  58. Colours are hard-coded hex in MainWindow.xaml, with no Brand class, no theme setting and no shared control templates

    Each owned colour is declared once in Brand, a test refuses any other; windows take their theme from Appearance (design recorded in src/Modelado.Imaging/Brand.cs).

    MOD4 · 7259bcf
  59. README.md is written in Portuguese

    README.md reads in English with its numbers checked against the code, and no Portuguese is left in the repository outside docs.

    MOD3 · 4dfb95e
  60. modelado-cli usage, progress and errors, and the app's command-line errors, are printed in Portuguese

    modelado-cli's usage, progress, counts and errors, and the app's command-line refusals, print in English with English placeholders.

    MOD2 · 02fe943
  61. Every button, tooltip, caption, status line and dialog in the app window and About window is in Portuguese

    Every caption, tooltip, status line, dialog and the About window read in English, worded after PhotoBoost where the concept is the same.

    MOD1 · fbfec80
  62. From Blender, a texture cannot be sharpened with AI or remade from a prompt, nor sent to Meshy to remesh or retexture

    Blender's AI group upscales a Base Color texture 4x or puts a material image on it, keeping the rest of the material, each one undo step.

    MOD45

← Modelado's product page