Repository navigation
Mosaicary 0.1.4 - #1011
Mosaicary 0.1.4#1011MopicMP wants to merge 3 commits into
Conversation
The catalogue publishes 0.1.2 of this plugin. Two releases are in this one commit: 0.1.3, submitted but never merged, and 0.1.4, which adds a catalogue of Blockbench models inside the editor -- which is where the new name comes from, since converting is no longer all the plugin does. The id stays gltf_to_minecraft: every storage key is built from it, and for an install by URL the file name is the id, so the folder and the file keep their names. Four files in plugins/gltf_to_minecraft/: the plugin, about.md, and icon.png and changelog.json, which the catalogue has never held -- the entry carried "icon": "view_in_ar" and had no has_changelog, so the icon's address on the CDN answered 404 and an empty square was what a reader saw. In plugins.json only the gltf_to_minecraft entry is touched: ten lines changed of 1753, and the file is left tab-indented with its CRLF endings and its tags on one line, exactly as it was. node scripts/validate.js gltf_to_minecraft passes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
7feef8c to
3567cd5
Compare
|
A question about size, which I would rather ask before the next release than after it. The plugin file in this PR is 1,898,107 bytes — about 1.81 MiB, so still inside the 2 MB the README asks for. What worries me is the direction: 0.1.2 was 214 KB, 0.1.3 was 1.26 MB, and 0.1.4 is what you see here. Another release of that shape does not fit. Where the bytes actually are, measured by walking the file by JavaScript state rather than by regex:
Nothing is bundled that Blockbench already ships: THREE, JSZip and MolangJS all come from the editor. There is no base64 and no embedded image in the file, and the only repeated block of eight lines or more is a single 468-byte spot. So it is big because of translated text, not because of carelessness — every further language costs about 67 KB. Two ways out of it, and I would rather ask than guess:
If you prefer the second, I would rather do the split now than once there are more parts to untangle. If you prefer the first, nothing in this PR changes and the file stays as readable as it is. |
|
Hi @JannisX11, thank you for the rules you wrote down and for the time the reviews take. Before writing this we read through other submissions and your answers in them, in particular what you said about AI in #919 and the review you left on #976. We tried to follow the rules as you state them rather than as we would prefer to read them. To be plain about one thing: this plugin was written with AI assistance. We are not hiding it, and we read the rule as written -- not a ban, but a requirement that the author keeps full understanding of the code and that the result is not noise. We genuinely try not to add junk to the catalogue. What we set out to build is the thing we kept missing in Blockbench ourselves. Where a claim can be replaced by a measurement, here are the measurements. Installs. Since 0.1.2 was merged on 26 September: 1 413 installs in the last seven days, 10th of 146 plugins, 2.6 per cent of all plugin installs that week, and 3 051 over the three-week window. The numbers are yours, from Issues and pull requests. Two have come in from outside and both were answered. A bug report arrived on 24 September and the fix was released on the 26th. An outside pull request hardening the importer against untrusted model files was reviewed and merged on 1 October, the day it was opened. Your last review. In #964 you asked for two things: the name was confusing, and the menu entries sat at the bottom of the File menu instead of under File > Import. Both were done the same day. Measuring our own submission against that second point again, we found one entry we had missed: "Publish to site" is offered in the image editor (New > Image), where there is no model to publish. That one is ours and it is being fixed. Testing. The plugin is checked by 41 verification scripts, a dozen of which drive a real Blockbench -- the web build and the desktop app -- rather than a stand-in for it, and by live import runs against real files. I cannot tell you the plugin has no bugs. I can tell you that the ones we find get fixed and released, and that work on it is active. The source. The submitted file is not bundled and not minified: 33 495 lines, longest line 737 characters, and 19 per cent of the lines are comments. The non-Latin text in it is the translation tables, which are data. The art. The icon was not generated. I drew it myself, from a hat model made by a person on Sketchfab, and that model can be seen in the models section of our site: https://mosaicary.com/models On #976. We read it, and rather than wait to be told, measured our own plugin against the three things you named there. Two we could answer with numbers; the third is the menu entry above, which is the same class of mistake. One more thing, as an offer rather than a claim. Because those checks had to be repeatable, we wrote a script that measures the rules your validator does not count: weight against both readings of the 2 MB limit, tag count and the edition tag, tabs-only indentation of the It has three verdicts rather than two, and that is the part we care about: What we did to find out whether it is worth anything:
We will keep working on it either way, since we use it on ourselves, and there is a list of things it could still measure. If it is of any use to the catalogue, we would be glad to open a separate pull request adding it next to And the standing part: we will keep up with the rules as they are and as they change. If you name anything, here or later, we will meet you on it and fix it as far as we can. |
|
AI PRs must be illegal 🤦♂️🤦♂️ |
First of all, do you think this text was written by AI? Yes, it was, but only because I don't know English. I can't communicate in it. The only thing I did was ask an AI to translate the text and edit it for me. But if you really want to read dozens of grammar mistakes, fine. Next time I'll write the pull request by hand, if that's what you want. |
|
And if you think my text above is incredibly long and useless, then please, before writing that, take a look at my work and the plugin. That text wasn't written off the top of my head. All the changes are real, and none of them are minor or incomplete. I wrote exactly as much as there actually is in the plugin right now. If you have a problem, please say it directly, instead of just "AI PRs must be illegal 🤦♂️🤦♂️". |
|
Honestly, I'm not trying to offend anyone. I'm also ready to accept criticism of what I do and work on. But please, I'm just asking you to say directly what's wrong. I'm always ready to listen and talk. If there are things you're not happy with, I'm always open to discussing them with you. But please, try to understand me too. Just like you, I spent a lot of time on development. What's above wasn't done with a snap of the fingers, even though AI was used in it. A lot of work went into it. I have always been, and still am, ready to hear your opinions and contribute more to the community. |
… the image editor Two fixes inside 0.1.4, without a new version. The Mosaicary site now also holds builds (Axiom blueprints, Litematica and Sponge schematics), which Blockbench cannot open, and the catalogue window had turned into a wall of them. Every shelf leaves builds out. The camera's near plane follows the size of the model, so layers a hair apart no longer fight in stripes up close. Upload Model to Mosaicary was offered in the image editor (New > Image), where there is no model to upload. It now checks Format.image_editor, as do the upload button in the catalogue window and draft sync. node scripts/validate.js gltf_to_minecraft passes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
vintagestory (JannisX11#1015) went in at the end of plugins.json, right after this plugin's entry, which was the last one. The closing brace of the entry became "}," on master while this branch changed the lines just above it, so Git could not merge the two on its own. Resolved by keeping this branch's entry and master's new one after it; nothing else in the file differs from master. The version stays 0.1.4. node scripts/validate.js gltf_to_minecraft passes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Updates the plugin from 0.1.2, which is what the catalogue publishes today, to 0.1.4. Two releases are in it: 0.1.3, submitted but never merged, and 0.1.4.
The plugin is now called Mosaicary, after the catalogue of Blockbench models it opens; converting is no longer all it does. It was GeckoLib Model Importer, then glTF to Minecraft — renamed on your review, since it imports nothing from GeckoLib and GeckoLib is only one of its outputs. The id is
gltf_to_minecraftthroughout and does not change: the storage keys are built from it, and for an install by URL the file name is the id.Source: https://github.com/MopicMP/mosaicary (MIT)
What it looks like
File → Browse Mosaicary Models, beside Open Model, opens the catalogue:
A model's own window, before it is taken:
The Sketchfab side of the same window:
The import window, and the report it ends with:
The models shown belong to their authors, named on each card.
Files in this pull request
Four, all in
plugins/gltf_to_minecraft/: the plugin,icon.png,about.mdandchangelog.json. The icon and the changelog have never been in the catalogue — the entry carried"icon": "view_in_ar"and"has_changelog"was absent — so both arrive here for the first time, andabout.mdreplaces 0.1.2's text, which says nothing about the catalogue half.LICENSE.MDin that folder is not ours and is untouched.In
plugins.jsononly thegltf_to_minecraftentry changes. It now matchesPlugin.registerfield for field, the icon among them.Updated on 20 October with two fixes inside 0.1.4, without a new version. The site now also holds builds — Axiom blueprints, Litematica and Sponge schematics — which Blockbench cannot open, and the catalogue window had turned into a wall of them; every shelf leaves builds out now, and the camera's near plane follows the size of the model, so layers a hair apart no longer fight in stripes up close. And Upload Model to Mosaicary is no longer offered in the image editor (New > Image), where there is no model to upload: it checks
Format.image_editor, as do the upload button in the catalogue window and draft sync.What 0.1.4 adds: the catalogue
loadModelFile, which is why the entry stands with the openers rather than under Import: the import entries add their result into an open project, and a catalogue under Import would promise the same and replace the project instead..bbmodelopens instead of being turned away, and Export GeckoLib Geometry writes the.geo.jsonthe mod reads. Where the GeckoLib plugin is installed nothing changes and none of this is shown.What 0.1.3 added: the converter
blockbenchtag alone does not tell. For models uploaded from Blockbench the author's original is downloaded, because Sketchfab's own conversion can lose a texture's transparency.Honest limitations
Wedges, bevels and rounded shapes do not exist in Minecraft. By default such objects are rebuilt from plates, which keeps the silhouette at the price of cubes; the advanced settings offer their bounding box instead, or skipping them, or stopping the import. Whichever was used, the report states how many objects were approximated out of how many, and at 30% or more it says plainly that the model is a poor fit for cubes.
A texture that lost its alpha channel cannot be recovered; when the material asks for transparency and the texture has none, the report says so.
Notes for review
evalin the file, and it will show up in a grep, so here is what it is: Environment diagnostics under Help asks whether a library is in scope by name —eval('JSZip')inside atry— because a Blockbench build may have no developer console and the plugin then has to serve as its own. The names are a fixed list written in the file,typeofis all that is taken from the result, and nothing that arrives from outside reaches it.node scripts/validate.js gltf_to_minecraftpasses.