Skip to content
Changelog

What Modelado shipped.

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

Atom feed
  1. Every task runs the whole UI suite, 16 minutes and now past its 20 minute hang limit, for one or two cases

    MODELADO_CASES=tag runs only the tagged UI cases on the guest (1 min, not 16), and the full suite fits a 35m hang limit.

    MOD135 · b09a59d
  2. About lists only the models already downloaded, so a missing or removed model vanishes instead of showing as missing

    About lists every model the operations and sources use, a missing one with what uses it and a Download, and Download everything names its count and size.

    MOD97 · 175488a
  3. About says a cloud key is stored yet shows an empty key box, without saying which key or where it came from

    A key in MESHY_API_KEY or IDEOGRAM_API_KEY wins over a stored one, and About names its source and last four characters (design recorded in src/Modelado.Cloud/CloudKeys.cs).

    MOD96 · 16a7cad
  4. Paid Ideogram images are lost: unchosen candidates are discarded, the chosen one lands in a folder the app hides

    Every Ideogram candidate is written to Pictures\Modelado under the object's name and seed as soon as the job returns, and the drop zone lists the latest with a link to the folder.

    MOD95 · 9dfc7ff
  5. With the Ideogram panel open, its opening button stays on the drop zone and pressing it again seems to do nothing

    While its panel is open the Ideogram button reads Hide the photo generator and closes it, and opening the panel puts the typing in its object field.

    MOD93 · 481389f
  6. The app forces en-US on every thread and has no way to show its interface in another language

    Text follows the language chosen in About, else Windows', where a translation ships; numbers stay en-US (design recorded in src/Modelado.App/InterfaceLanguage.cs).

    MOD86 · bb95796
  7. Interface text is hard-coded in XAML and code-behind, with no English resource file for translations to fill

    Every string the window shows comes from Strings.resx; tests refuse a literal in XAML or code (design recorded in tests/Modelado.Architecture.Tests/StringResourceTests.cs).

    MOD85 · 3362361
  8. Modelado has no Store listing, screenshots, privacy URL or certification notes, so the package cannot be submitted

    Modelado passed certification and is listed in the Microsoft Store as 9PB86WW5NRR2 (design recorded in build/msix/store-listing.md).

    MOD79 · 7400bce
  9. Nothing checks the packaged build, so a Store submission would be its first real install

    check-msix.ps1 -Cases registers the layout, checks Open with and both aliases, and runs cases-packaged; all pass on the host (design recorded in cases-packaged/packaged.cases.json).

    MOD78 · 817ffff
  10. The Blender add-on and a terminal cannot start Modelado or modelado-cli from a Store install

    Both aliases start the registered package from outside it, CLI on the console, and the add-on resolves them where no install folder exists (MOD78, FIND checks).

    MOD76 · 5556718
  11. Open with in Explorer would not list Modelado for .glb, .obj, .ply or .stl once it comes from the Store

    The registered package is in Open with for all four types, and the window opens a .glb passed as Open with passes it (MOD78; activation itself, WW619).

    MOD75 · 5c94cf1
  12. A Store install would still offer to download and run the Inno installer over itself from About

    On the registered package About says updates come from the Store with no check, chip or installer offer (cases-packaged, MOD78).

    MOD74 · 0da44dc
  13. No MSIX package exists for the identity reserved in Partner Center, so nothing can be uploaded to the Store

    The registered layout starts Modelado from its Start entry under the reserved family name, checked on the host with Developer Mode (design recorded in build/msix/AppxManifest.xml).

    MOD73 · b96cde6
  14. Every first download meets a SmartScreen warning that the README and the release notes have to explain away

    Modelado installs from the Microsoft Store signed by it, so no SmartScreen warning; the README and site lead with the Store, and the add-on finds the CLI via its alias.

    MOD72 · 7400bce
  15. A local 3D Object comes out well below cloud services and newer open models, with the back of the object invented

    Six candidates weighed on licence, ONNX and memory: TripoSR stays, and TripoSG, the one that fits, goes to MOD80 (design recorded in docs/local-3d-models.md).

    MOD71 · 14187b0
  16. The README teaches compiling before it mentions the release, never links the site, and calls the sibling PhotoBoost

    The README opens on its reader, links the latest release's installer and the site, moves the build steps to a contributors section and names Revelei as the sibling.

    MOD69 · db0a326
  17. A compact GLB still stores its quantized geometry uncompressed, so the canyon relief stays at 1.7 MB

    The site build packs its models with meshopt and the viewer decodes them: 5.6 MB served as 2.1, each checked in Chromium against its source in site.yml.

    MOD68 · 889237e
  18. No UI case shows a job sent from modelado-cli cloud in the window's About

    A UI case runs modelado-cli before the window (winwright 1.1.6's before commands) and reads its Meshy job on the status bar and in About; the stand-in now drains chunked uploads.

    MOD67 · d8d161d
  19. The site's speed table has no GPU timing, only the CPU's

    The site's speed table has a GPU column, measured on an RTX 4060 through DirectML: 3D Object about 4 s against the CPU's 20, Relief about 1 s.

    MOD64 · c814415
  20. There is no round trip: a Blender object cannot be opened in the Modelado window and sent back to the same object

    The Export card's Open in Blender starts Blender importing the model shown, beside the round trip that sends edits back (design superseded: MODELADO_BLENDER, not a path setting).

    MOD46 · 9657c90
  21. A relief's GLB carries its geometry at full width: float positions, normals and UVs and 32-bit indices

    A GLB can be saved compact (KHR_mesh_quantization) from the Export card or --compact: the canyon is 1.7 MB, from 2.6, and the site's GLBs are re-saved, 5.6 MB from 13.

    MOD66 · 97578ed
  22. Blender's Generate from photo offers only the local operations, not Meshy AI's image to 3D

    modelado-cli cloud image-to-3d prices, sends and records a Meshy job with the window's key, budgets and ledger; Blender's 3D Object with Meshy AI uses it after consent.

    MOD65 · b62aee8
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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 draws a texture with Ideogram and remeshes or retextures with Meshy through modelado-cli cloud, each priced before sending, undoable and in About's ledger.

    MOD45 · 6800219
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. The Operations panel stacks all seven cards in one long scroll, so the one in use is buried among the others

    An icon rail beside the viewport shows the chosen operation card alone and keeps the choice for the next start; every case picks its card first.

    MOD98
  86. There is no list of recently opened photos and models, so a file opened yesterday has to be found again by hand

    The last ten files opened or saved are on the drop zone and in the toolbar's Recent menu, photos with thumbnails, a gone one greyed and removable.

    MOD94
  87. The Store listing is in English only, with no page in Portuguese, German, French, Spanish or Chinese

    store-listing.md holds the listing in six languages; store-shots-vm.ps1 composes the screenshots in each, and store-listing-csv.ps1 fills the export CSV.

    MOD92
  88. The interface has no Simplified Chinese (zh-Hans) translation

    The window reads in Simplified Chinese from Strings.zh-Hans.resx, which zh-CN and zh-SG resolve to, every font falling back to Microsoft YaHei UI.

    MOD91
  89. The interface has no Spanish (es) translation

    The window reads in neutral Spanish from Strings.es.resx, which es-ES and es-MX both resolve to, held to the English keys and placeholders.

    MOD90
  90. The interface has no French (fr) translation

    The window reads in French from Strings.fr.resx, typeset with non-breaking spaces and held to the English keys and placeholders.

    MOD89
  91. The interface has no German (de) translation

    The window reads in German from Strings.de.resx, held to the English keys and placeholders, and its buttons stay in their panels.

    MOD88
  92. The interface has no Brazilian Portuguese (pt-BR) translation

    The window reads in Brazilian Portuguese from Strings.pt-BR.resx, held key for key and placeholder for placeholder to the English.

    MOD87
  93. The listing shows a 3D modeller only in still pictures, with no model seen turning

    store-trailer.ps1 renders a 37.5 s trailer and thumbnail per language: models turned by the app's renderer, the views, a relief, the UI screenshots eased in.

    MOD84
  94. The Store listing has no 16:9 Super hero art, without which it shows no trailer

    --store-art writes hero-16x9-3840x2160.png: the chair drawn by the app's renderer on the screenshots' backdrop, the left and bottom kept clear for the Store's title.

    MOD82
  95. At the Store's thumbnail size the screenshots look alike and nothing on them says what each one shows

    store-shots-vm.ps1 captures the window turned and scrolled to each card, then --store-shot composes it under its caption, brand mark and source photo.

    MOD81
  96. Under a package About would open an empty models folder, since writes to %LOCALAPPDATA%\Modelado are redirected

    Under a package About and the consent name and open the models folder in the package's LocalCache, and say downloads go with the app.

    MOD77
  97. Someone browsing Blender's extensions platform never finds the Modelado add-on

    The add-on's manifest passes Blender's extension validate on every gate, declares Windows only, network and the site, and blender/LISTING.md holds the upload form's text.

    MOD70

← Modelado's product page