Luanti logo

IRC log for #luanti, 2025-07-18

| Channels | #luanti index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:00 seasharp joined #luanti
00:07 SFENCE joined #luanti
00:41 SFENCE joined #luanti
00:43 FileX joined #luanti
01:16 SFENCE joined #luanti
02:10 FileX joined #luanti
02:12 Can0xfBows_ joined #luanti
02:26 SwissalpS joined #luanti
02:35 SwissalpS joined #luanti
03:17 SFENCE joined #luanti
04:00 MTDiscord joined #luanti
04:21 est31 joined #luanti
04:33 YuGiOhJCJ joined #luanti
04:38 est31 joined #luanti
04:57 qqe joined #luanti
04:59 kyle56 joined #luanti
05:14 kyle56 is there a way for client mods to alter the main menu lua? like add new tabs with custom menus or something?
05:18 [MatrxMT] <Blockhead256> no, the main menu is a third sandbox separate from the CSM and server Lua environments. You have to ship custom `builtin` code to change the main menu
05:42 kyle56_has_conne joined #luanti
05:49 kyle56_has_conne @Blockhead256 ah ok. thx
05:50 kyle56_has_conne left #luanti
06:30 FileX joined #luanti
07:41 FileX joined #luanti
07:57 [MatrxMT] <Bracket> no you don't, there is a "main menu script" setting which you can point to your own menu
07:58 [MatrxMT] <Bracket> you could probaly leace builtin as is
07:58 [MatrxMT] <Bracket> leave*
08:22 est31 joined #luanti
08:25 Pexin joined #luanti
08:28 qqe joined #luanti
08:43 gry hi qqe ?
09:03 [MatrxMT] <Blockhead256> wow, I did not realise it, but this has been a feature since formspec was first used for the main menu
09:21 alias joined #luanti
09:42 Pexin joined #luanti
09:45 mrkubax10 joined #luanti
09:46 fanshen joined #luanti
09:49 [MatrxMT] <Blockhead256> https://forum.luanti.org/viewtopic.php?p=445936#p445936
10:15 fluxionary joined #luanti
10:36 fluxionary joined #luanti
10:37 [MatrxMT] <Bracket> funny im working on one
10:44 SFENCE joined #luanti
11:02 SFENCE joined #luanti
11:09 repetitivestrain my two cents respecting https://github.com/luanti-org/luanti/issues/16240: i do not understand what measures currently exist to facilitate interfacing games and mods with arbitrary custom map generators
11:10 repetitivestrain with my map generator, for instance, engine decorations and ores are not placed, and not only are built-in biomes not generated, but also the built in two-coordinate temperature/humidity system cannot encompass my biome system at all
11:11 repetitivestrain and i expect the same to be true of all Lua map generators, on which account this proposal is pretty premature
11:12 repetitivestrain in my estimation games should simply be afforded the capacity to override the main menu and decide which of their own map generators to present to the users
11:13 repetitivestrain (not to mention that any attempt by mods to alter terrain in on_generated is apt to be reverted almost immediately by the post-generation pass)
11:20 mrkubax10 joined #luanti
11:37 mrkubax10 joined #luanti
11:37 MTDiscord <luatic> I'm not fond of the idea of the engine forcing a "compatibility layer" onto games either.
11:38 MTDiscord <luatic> Ultimately these are two conflicting goals: Better mod / game interoperability versus creative freedom for game developers. In my opinion we should prioritize the latter.
11:49 FileX joined #luanti
12:19 ireallyhateirc joined #luanti
13:03 cheek_pain joined #luanti
13:24 SFENCE joined #luanti
13:25 luatic joined #luanti
13:25 MinetestBot luatic: Dec-16 14:50 UTC <lmat> I was able to craft copper using technic:coal_alloy_furnace. The fact that this is not discoverable using the crafting guide is an horrible user experience. It looks like that has been noted: https://github.com/minetest-mods/technic/issues/585. Thank you again!
13:31 Oblomov hello all, a questione: my son has started playing some luanti games, but he would like to modify one specific texture
13:31 MTDiscord <damotrix> that's the most aggressive "thank you again" I've seen
13:32 Oblomov I know how to create texture packs, but if the intent is to override only a couple of images, is it still necessary to copy all the other over? or is it possible to tell luanti to “fall back” to the official/default ones when missing from the texture pack?
13:33 MTDiscord <damotrix> @Oblomov lol I was about to recommend making a texture pack
13:34 MTDiscord <damotrix> and no it's not necessary to copy other textures over, I've made a texture pack as a text to change only 1 image
13:34 Oblomov damotrix: that's the path I want to teach him, but my understanding is that this needs overrides for everything? or am I mistaken?
13:34 Oblomov oh ok
13:34 Oblomov *phew*
13:34 MTDiscord <damotrix> nope, doesn't need overrides for everything :D
13:34 Oblomov I've only ever seen “complete” packs, hence the question. thanks 8-)
13:34 MTDiscord <damotrix> that'd be super annoying if a mod added a new texture tbf
13:34 MTDiscord <damotrix> yeah
13:35 Oblomov makes sense
13:35 Oblomov I think the docs could be a bit more explicit on this, since the howtos I've seen start from the assumption that you want to replace everything
13:35 MTDiscord <damotrix> true
13:36 Oblomov if I get some time, after tutoring my kid I'll see if there's something I can do about the docs
13:37 [MatrxMT] <Blockhead256> doc/texture_packs.md doesn't imply that every texture has to be in a pack, that must be  a prior assumption you're working with. How would a texture pack even work with mods if that were the case?
13:38 [MatrxMT] <Blockhead256> I guess you can look at writing it into the docs so that it removes that line of thinking explicity
13:39 [MatrxMT] <Blockhead256> you might not have seen it, but my joke texture pack only has one texture https://content.luanti.org/packages/Blockhead/baby_sun/
13:50 SFENCE joined #luanti
13:58 Markow joined #luanti
14:03 Oblomov OK my son is very happy with his new texture. thanks all.
14:04 Oblomov but yeah, I was thrown off by the docs suggesting you copied all the originals over
14:04 [MatrxMT] <Blockhead256> that would just be to have all the filenames in place more easily
14:16 SFENCE joined #luanti
14:16 MTDiscord <wsor4035> what docs specifically are you refering to?
14:27 silverwolf73828 joined #luanti
14:28 chilledfrogs joined #luanti
14:42 Oblomov wsor4035: https://docs.luanti.org/for-creators/creating-texture-packs/
14:42 jaca122 joined #luanti
14:42 Oblomov there's to be said that https://docs.luanti.org/for-players/texture-packs/ does specify that individual files can be overridden instead
14:44 MTDiscord <wsor4035> if you wouldnt mind making an issue saying that the for-players one should link to for-creators to aboiud duplicate info, and also mentioning the copying comment, would appreciate it
14:44 luatic joined #luanti
14:44 Oblomov the for-players does link to the for-creators
14:45 MTDiscord <wsor4035> i mean that the for-players shouldnt have any creating information, just send them striaght to the other one, avoid duplicate/potentially confusing info
14:47 MTDiscord <wsor4035> hmm, not sure why for-creators calls out Below is a brief overview of the texture structure as of version 5.1 - nothing changed before that..... i think? there is the ability to nest media (or something) that came in a later version
14:50 MTDiscord <wsor4035> at any rate, it should say why that version
14:50 Oblomov wsor4035: hm actually the for-players having brief instructions on how to override individual textures isn't such a bad idea
14:51 Oblomov although possibly the information could be more balanced. I'll think about it a little bit
14:52 MTDiscord <wsor4035> think of it as code, do you write duplicate functions are slight variations everywhere? or centralize it in once place for ease of maintainability
14:55 MTDiscord <wsor4035> @rollerozxa did you per chance write the for-creators article? it orginally came from the wiki, but it does sorta somewhat seem like your writing, trying to figure out why 5.1
14:57 MTDiscord <rollerozxa> hmm I don't think so, I might have touched the page a bit on the original wiki but not much more than that, I remember it being weird and in need of a more encompassing rewrite which I never ended up doing
14:59 MTDiscord <wsor4035> ah, well thanks
14:59 MTDiscord <wsor4035> i guess ill have a poke around tonight to see if i can figure out why 5.1 and when nesting or whatever im thinking of became a thing
15:05 MTDiscord <rollerozxa> why it's that version is probably just because it was originally written then
15:05 MTDiscord <rollerozxa> subdirs in media folders became a thing in 5.4 I think? but I don't know if it might have been supported prior to that for texture packs which do things a bit independently from the server media loading
15:07 est joined #luanti
15:17 luatic joined #luanti
15:22 est31 joined #luanti
15:31 ltuyen joined #luanti
15:32 ltuyen hello from the luanti player again!
15:47 SFENCE joined #luanti
16:22 SFENCE joined #luanti
16:45 SFENCE joined #luanti
16:49 ltuyen joined #luanti
16:49 bracket joined #luanti
16:50 ltuyen I don’t think so.
16:50 ltuyen left #luanti
16:50 bracket joined #luanti
16:53 SFENCE joined #luanti
16:53 bracket what license does luanti builtin have? The one used for the engine itself too?
16:54 sfan5 yes
16:57 bracket I hate that licenses are so long D:
16:57 MTDiscord <warr1024> not all are
17:00 SFENCE joined #luanti
17:28 SFENCE joined #luanti
17:29 jonadab Share-alike licenses pretty much have to be excessively verbose, in order to accomplish the inherently complicated thing they're trying to accomplish.  That's also why they're pretty consistently mutually incompatible with one another.
17:29 jonadab Permissive licenses can be shorter.
17:40 bracket the LGPL says that I may modify the code in anyway and use it in anyway except to cause harm as long as I make it open source or some conditions when its propetary
17:40 bracket is that correct
17:41 [MatrxMT] <Blockhead256> except to cause harm? sounds like the hippocratic license
17:41 [MatrxMT] <Blockhead256> that had better not be an AI summary
17:54 MTDiscord <wsor4035> not a lawyer, not legal advise, but the lgpl basically is 1. doesnt infect your project AS LONG AS you dynamically link to it 2. have to release any changes/modifications to it 3. do whatever you want with it
17:55 MTDiscord <wsor4035> re 1, you can make your project whatever license rather than lgpl or higher. I.E. you can have a MIT project, or propraitary project, etc and use a lgpl piece of code (assuming its dynamically linked to)
17:58 jonadab Yeah, the LGPL is intended principally for libraries (especially important system libraries like libc, or widget sets) that you want arbitrary software to be able to link to, but the library itself to be share-alike.
17:59 jonadab Bit of a special case, and probably not a license you need to think about too much, unless you are writing libraries that will be used by other software written by other people.
17:59 [MatrxMT] <Blockhead256> Luanti itself is LGPL, and putting your mod under it means it doesn't have the "viral" effect on the whole project that normal GPL would
18:00 jonadab Oh, the engine is LGPL?  Ok, I somehow was not aware of that.
18:00 [MatrxMT] <Blockhead256> even Luanti has libraries as well
18:00 jonadab That does make it more relevant here.
18:00 jonadab Considerably more relevant.
18:01 MTDiscord <wsor4035> libraries if you drink the gpl flavored koolaid anyways
18:01 jonadab But modules written in lua would presumably not be much impacted by the license of the engine, unless they ship with it or something.
18:02 jonadab Does your Perl script need to care what license the perl interpreter uses?  No.
18:04 SFENCE joined #luanti
18:20 bracket Blockhead: I was just assuming a licence wouldn't allow you do to illegal stuff
18:23 MTDiscord <warr1024> Licenses grant you permission to do things otherwise reserved by copyright, sometimes in exchange for some restrictions you have to follow that are relevant to the author and their rights or what they want to accomplish with the software.
18:23 MTDiscord <warr1024> The fact that it's illegal for you to do things that are against other laws is irrelevant to copyright.
18:24 [MatrxMT] <Blockhead256> it's certainly not like 007 where we can give people licences to kill
18:24 MTDiscord <warr1024> A license can only grant you permission to do things that are reserved by copyright.  It cannot grant you permission to do things that you are disallowed by other law.  It cannot impose other restrictions on you, other than restrictions you agree to apply yourself in exchange for grant of permissions for things covered.
18:26 MTDiscord <warr1024> A license can't grant you permission to kill.  A license also can't take away your right to, say, post videos online.  It CAN require you to waive your right to do so as a condition for one of the permissions it CAN grant you, and it can revoke those grants of permission if you perform the action you've promised not to do.
18:27 MTDiscord <warr1024> IIRC there are licenses out there with "do no evil" clauses where you would lose permission if you did evil. Thoese licenses are bullshit, of course, because evil can't be legally defined anyway.  They're even worse than non-commercial licenses.
18:34 ireallyhateirc copyleft licenses were designed to effectively cancel copyright but were not and shouldn't be a form of fighting <insert thing you don't like>
18:35 SFENCE joined #luanti
18:39 jonadab "In order to use this software, you must agree that Michigan is bad and their football team sucks."  Heheheh.
18:40 jonadab Although proprietary licenses often _try_ to levy all kinds of restrictions that aren't necessarily legally enforceable.
18:41 jonadab Which is one of the reasons they always have one of those "if any part of this is invalid then the rest of it still applies" clauses.
18:42 ireallyhateirc as for crayons licenses (non-copyleft) then it's pretty much coding in your free time so someone can put it to their proprietary product and sell for money
18:43 jonadab Eh, depends.  Really active projects seem to do ok with permissive licenses.  OpenSSH for example.
18:44 ireallyhateirc depends on the project's nature and willingness of downstream to contribute and/or donate to the project
18:44 jonadab (It's not worth anybody's time to maintain a proprietary patch-set for a very active project, because upstream changes would cause you merge nightmares every five minutes.  And if you don't stay up to date with upstream, you quickly become irrelevant.)
18:45 jonadab But yes, it depends on the nature of the project.
18:46 MTDiscord <warr1024> "must agree that Michigan is bad and their football team sucks" ... that's actually a very easy requirement to meet.  It only requires you to agree, doesn't require you to publicize this agreement anywhere, and only requires you to agree once and doesn't disallow you from rescinding the agreement.  Also leaves a ton of room open for "sucks", i.e. "is the best team but not as good as they could be" could be justifiable.  Basically a
18:46 MTDiscord do-nothing clause.
18:46 MTDiscord <warr1024> As for crayon licenses, we disallow them all on CDB, copyleft or not.
18:47 ireallyhateirc WTFPL ?
18:48 ireallyhateirc a permission to use this software is hereby granted for anyone owning a dog
18:48 MTDiscord <warr1024> WTFPL is pseudo-crayon
18:48 bgstack15 I dislike the "permissive" licenses because they permit developers to take away rights from the users.
18:49 MTDiscord <warr1024> It's basically only allowed due to "grandfathering" and the amount of stuff under it from a certain era of the project.  I don't remember whether steps have been taken to disallow it outright, but it's always been heavily discouraged on CDB.
18:49 ireallyhateirc can't you just relicense WTFPL to something else?
18:50 ireallyhateirc WTFPL seems to implicitly allow relicensing lol
18:50 MTDiscord <warr1024> in theory, maybe
18:50 MTDiscord <warr1024> that "implicitly" part is problematic
18:50 ireallyhateirc the court would have to define "do what the f you want"
18:50 MTDiscord <warr1024> if it were just the swearing then we wouldn't have so much trouble with it
18:51 MTDiscord <warr1024> I've suggested at one point that the WTFPL disallows me from using a piece of software for work purposes if I'm not interested in the project.
18:51 ireallyhateirc and I doubt the copyright holder cares
18:52 MTDiscord <warr1024> Something like ISC doesn't require you to WANT to use the software for a particular purpose, you can do it just because you need to.
18:53 ireallyhateirc I agree that the wording is dumb but it seems that I can relicense the software if I want to
18:54 SFENCE joined #luanti
18:54 ireallyhateirc but whether or not the author needs to be credited is ambiguous
18:54 ireallyhateirc probably yes to avoid plagiarism, but do you have to preserve the license document?
18:55 mmuller just curious, how does content db enforce licensing?  Is it automated, audited or something else?
18:55 MTDiscord <warr1024> Permissive licensing means "I created this software because I wanted the software to exist.  I get value from having it and using it.  If you do too, that's great, but that's your personal business and I won't pry."  Copyleft licensing means "I'm part of a social movement, and if you want access to these cool features, you need to be part of the movement too.  We're trying to destroy the evil commercial software world by fighting fire with
18:55 MTDiscord fire.  Join us and we will provide torches and pitchforks."
18:56 MTDiscord <warr1024> CDB enforces licensing by a combination of manual review and community feedback.
18:56 mmuller cool.
18:57 MTDiscord <warr1024> Editors attempt to validate licensing and rights, and detect certain violations, before approval.  If anything slips through the cracks (we've even seen some slip into MTG itself) then things are reported by the community and handled after that; authors generally have a short grace period (like a day or something) to correct any issues or else the package needs to be promptly removed from access.
19:02 MTDiscord <warr1024> FOSS is, as a general umbrella, about software granting individual liberty.  Permissive software approaches individualistically: each individual grants the necessary liberties to each other individual.  Copyleft approaches it collectivistically: you get your rights from the collective, and make your contributions to it, as long as you uphold its values.
19:09 SFENCE joined #luanti
19:16 bgstack15 Here's one of those acerbic rants about why the permissive licenses are not good according to this one dude: https://lukesmith.xyz/articles/why-i-use-the-gpl-and-not-cuck-licenses/
19:16 bgstack15 I realize not everybody is interested in Luke Smith's perspectives in general. I'm not verse in all of his opinions, but I agree with this one.
19:16 bgstack15 *versed
19:16 Verticen joined #luanti
19:18 Thermoriax joined #luanti
19:20 MTDiscord <warr1024> lol, "cuck" licenses ... that really makes it a pretty scathing criticism of the kind of people who would use copyleft licenses, rather than permissive ones 😆
19:20 MTDiscord <jordan4ibanez> What a title
19:22 MTDiscord <warr1024> I've seen a lot of people use the "jeolosy" argument, i.e. "I hate the idea that somebody else is profiting from work I did" to justify copyleft.   Other people benefiting from work I did is literally the reason why I license my work at all.
19:23 bgstack15 You say that, but do you carry the burden of all those people pestering you for support, like the cUrl guy?
19:25 * cheapie peeks in, sees licensing talk again
19:25 cheapie This is why I just pick a license that's not possible to violate in the first place for my stuff, easier than figuring out what I want to allow
19:25 cheapie (not possible to violate as in there isn't anything it prohibits)
19:25 MTDiscord <warr1024> Heh, that's the nice thing about permissive licensing: I don't have to feel bad just ignoring the pestering.  I'm not part of a crusade, I don't have fellow acolytes I have to politick with.  I just write code.
19:26 cheapie It's also like warr1024 said, I write them because I want them to exist and I don't really care too much what else happens
19:26 MTDiscord <warr1024> cheapie: ❤️
19:27 MTDiscord <warr1024> you writing software without caring whether/how I use it also helps lighten the implied reciprocal burden for me 😄
19:27 * cheapie nods, has run into that a bit with asset licensing
19:28 cheapie Most of the assets I use these days are ones I make myself, but at least for celevator I did use a few CC0 sounds from elsewhere
19:28 cheapie (I actually ship a list of them with attribution, despite there not being a requirement for that)
19:29 MTDiscord <warr1024> I used to like permissive licensing, but lately I'm leaning more toward "zero" (attribution-optional) ones.  Attribution requirements are actually probably unnecessary for what I want anyway.  I would need to prove my authorship of software to be able to enforce attribution requirements anyway, and being able to prove that I did the work is the main value I ever wanted from it anyway.
19:30 cheapie Same, I used to use a custom BSDish license for my Luacontroller programs but moved to "zero"-style licenses for those a few years ago too
19:30 MTDiscord <warr1024> Attribution requirements might actually be redundant, because claiming that I didn't write software is effectively defamation anyway, and that's orthogonal to copyright.
19:31 cheapie Every so often something mildly annoying does happen (like there's a fork of one of my mods up on ContentDB that doesn't mention me at all) but that's probably not something I would bother doing anything about even if I /had/ chosen a license that required attribution
19:31 MTDiscord <warr1024> So I'd rather remove the burden of worrying "is this form of attribution legally sufficient".  Nah, just don't contradict me if I point out what I did, and that's sufficient.
19:33 MTDiscord <warr1024> CDB actually requires attribution independent of license terms.  We need to know the true origin of things in order to validate the licenses to begin with.  Even if the original author waived right to attribution we can't know that if we don't know the original author, work, and terms.
19:33 cheapie I think they might not have realized the original author was me in the first place, judging by the description
19:34 cheapie The package in question is https://content.luanti.org/packages/spinning-cubes/firealarm/
19:34 cheapie It's a fork of https://cheapiesystems.com/git/firealarm/
19:35 cheapie If you want to push for attribution for ContentDB policy reasons that's up to you, my license doesn't require it
19:35 jonadab Yeah, my real preference is to just place most of the code I write into the public domain, but then Europeans always say garbage like "you can't do that, it's illegal", so in practice I tend to end up using licenses like CC0, saves arguments.
19:35 MTDiscord <warr1024> If you see stuff like that, you should probably report it.  It's fine to point out that the license doesn't require attribution, but all parties that are involved (including the author, CDB staff, and all downstream users) deserve to know the pedigree of works they're using, and we should take steps to make sure that information ends up somewhere it can be used.
19:36 bgstack15 Some jurisdictions (not sure which) don't have the concept of "public domain," which is why CC0 exists, indeed.
19:36 cheapie I did informally mention it to a different ContentDB staff member outside of here (just like a "heh, look at this one") but I'm not sure he ever saw. I didn't see reason to actually push the report button.
19:36 jonadab bgstack15: People say that, but nobody can ever name such a jurisdiction.
19:36 bgstack15 Good thing I know my jurisdiction and which license to use (GPL-3.0-only)
19:36 cheapie jonadab: Yeah, I've heard that from a few people - I usually use The Unlicense which seems to say about the same things
19:37 MTDiscord <warr1024> I dislike the CC0 now somewhat because of the whole "public domain, but if that doesn't work, here's a fallback license that's basically the same thing."  It seems like an unnecessary complication, and it kind of hurts portability into/out of public-domain-recognizing jurisdictions ... so I just prefer to use 0BSD or something that skips to the "fallback" license case and makes things concrete from the start.
19:37 MTDiscord <wsor4035> i saw it, at 3am, and forgot to look at it once it was a more sane hour
19:37 MTDiscord <jordan4ibanez> License warr ||you must now laugh||
19:38 jonadab Philosophically, it doesn't make any sense for a jurisdiction to exist that doesn't have a concept of public domain, because that would imply they have no access to any written work that's older than copyright law, which is only plausible in a sci-fi or fantasy setting, not in the real world.
19:39 MTDiscord <wsor4035> anyways, in response, - in package approval, i did comment on it needing a license file and attribution, maybe they stripped it out in a new release or some jazz? or i screwed up in approving it
19:39 cheapie It does have a license file (renamed from the name I had given it but I think the content is the same)
19:40 MTDiscord <warr1024> I think when people say "public domain doesn't exist" I don't think they necessarily mean "there are certain places where 'public domain' is a meaningless term", I think the mean that the impact of that term on specific rights varies.  IIRC in places in the EU certain moral rights cannot be waived or transferred (in order to prevent employers from coercing creative workers from selling those rights away) whereas in other places like the USA
19:40 MTDiscord you can sell practically any right you have to a work.  If you can't waive certain rights you get under (C) then you effectively can't fully "public domain" a thing, you will always retain some control over certain aspects of it.
19:40 cheapie With it being an older mod I had originally called the license file COPYING as I did back before ContentDB decided it /must/ be called LICENSE
19:40 MTDiscord <wsor4035> and for licenses that dont require attribution, we require it so we can actually check stuff
19:41 MTDiscord <warr1024> CDB editors may get packages where all information pointing to the possibility of it being a fork may be removed, and this removal may be allowed by law (due to zero licensing) but is still disallowed by CDB rules.  We might have no way to know ahead of time, but community reports could help.
19:41 cheapie Yeah, I get the point, I'll report that sort of thing if I see it again
19:42 MTDiscord <warr1024> The "copying" filename is a GNU/FSF thing and should probably only ever be used for their own licenses.
19:43 MTDiscord <jordan4ibanez> Yep, put the link/license on CC0 so people can find the thing
19:43 MTDiscord <wsor4035> also, ive said it before, and ill say it again, if you want your game to be approved faster, and its of the soup variety, use submodules
19:43 * cheapie briefly ponders submitting a package with the same license text present under 20 different file names :P
19:43 MTDiscord <wsor4035> and its better for maintainability
19:44 bracket what exactly is a submodule? mods that rely on each other
19:44 bracket ?
19:44 cheapie (but nah, I just use LICENSE now since it's what ContentDB wants, I don't have any strong feelings towards one name or another)
19:44 MTDiscord <wsor4035> wouldnt really care cheapie
19:44 MTDiscord <warr1024> cheapie: if we distributed packages as tar.gz, I'd say don't do it because it's stupid.  But we distribute them as zip, which doesn't have cross-file compression, so don't do it because it's stupid AND bloaty.
19:44 MTDiscord <wsor4035> bracket: use your search engine of choice and look up git submodule
19:44 bracket K
19:45 MTDiscord <warr1024> git submodules are a controversial git feature that is a big pain in the ass, possibly almost as much of a pain in the ass as every other thing people do to work around them, or because they don't know about them.
19:45 SFENCE joined #luanti
19:46 MTDiscord <wsor4035> git submodules are terrible, just the least terrible as compared to anything else you can do
19:46 MTDiscord <warr1024> pretty much
19:46 bracket ah nice
19:46 cheapie I like submodules for the one use case of maintaining a repository with all of the mods for a given server, other than that they're kinda meh
19:46 MTDiscord <wsor4035> remember when luanti had submodules at home? now that was dumb af
19:46 MTDiscord <warr1024> there was a time when we wanted to include irrlicht inside luanti engine as a submodule, but we hated submodules, so we reinvented them instead, and instead of using the git submodule command, you had to do some weird stuff with a text file and some scripts 😆
19:46 MTDiscord <jordan4ibanez> No I don't actually
19:46 MTDiscord <wsor4035> warr: 🥷
19:47 MTDiscord <jordan4ibanez> Ohhhhhh
19:47 MTDiscord <warr1024> you referenced it, I explained it, we are not the same
19:47 MTDiscord <jordan4ibanez> I am lagging lol
19:47 MTDiscord <wsor4035> the text file didnt even exist till like one or two version before irrmt got put in the engine
19:47 MTDiscord <wsor4035> iirc anyways
19:48 cheapie On a mostly-unrelated note, I was looking through some of the celevator documentation, sometime I should actually note somewhere that 16seg.xcf is the source for all of the textures/celevator_pi_<two hex digits>.png files
19:48 MTDiscord <warr1024> hmmm, so before it, what did we do to build the engine?  You Just Had To Know?
19:48 bracket i just now noticed there is warr and wsor
19:48 SpaceManiac people are sleeping on git-subtree
19:48 MTDiscord <warr1024> no relation
19:48 MTDiscord <wsor4035> now that is where my memory falters, i think you build it from buildbot or something? it was rather cursed
19:49 MTDiscord <wsor4035> git subtree is actually teribble in my opinon
19:49 cheapie I do remember the IrrlichtMt repo but I don't remember having to do anything special to make it work, I just remember it as an "install this instead of Irrlicht" thing
19:49 MTDiscord <jordan4ibanez> Why doesn't C++ have a package manager?
19:49 MTDiscord <jordan4ibanez> Welp, this was the wrong place to ask that question I think
19:49 MTDiscord <wsor4035> git subtree sounds cool see you have everything in a clone, but its way easier to fuck it all up
19:50 cheapie jordan4ibanez: Because your system probably has one
19:50 MTDiscord <wsor4035> and also negates any speed benefit in cdb approval
19:50 MTDiscord <warr1024> I remember that the irrlichtmt repo had to be cloned into a specific place inside the MT repo, and you had to have the correct corresponding version, the tag of which was in a text file somewhere in the docs.  So it was possible to build it from a script but kinda a pain in the ass.
19:50 MTDiscord <wsor4035> you could also build it out of tree? its own package and link luanti to that
19:51 SpaceManiac git subtrees only require the "git subtree pull"er to know how to use it correctly; git submodules require everyone who contributes to or even clones the repo to know how to use submodules correctly
19:51 MTDiscord <wsor4035> spacemaniac: its not obvious its a subtree, so its very easy for people to make changes and commits to them where screws over the whole thing
19:52 MTDiscord <wsor4035> the only people in luanti that use it notably is mineclonia, at least last i checked
19:52 MTDiscord <wsor4035> seems to work for them
19:52 SpaceManiac "screws over" meaning merge conflicts on next pull I suppose?
19:52 MTDiscord <wsor4035> yeah, vs a submodule you fuck it up write then and there and can trash it all and reclone 😛
19:53 SpaceManiac in a pro environment I regularly had coworkers accidentally rolling back the submodule because they don't understand when to run and when NOT to run "git submodule update"
19:53 MTDiscord <warr1024> The biggest problem I have with submodules is their dependence on 3rd party hosted repos to remain available.
19:54 MTDiscord <wsor4035> also, havent checked, does dependabot (or whatever bot) even support subtrees? thats like half the reason i use submodules
19:54 MTDiscord <warr1024> Other than that, you don't necessarily have to know or think about them as a casual user as long as you do the correct versions of the incantations to clone repos.
19:54 MTDiscord <wsor4035> warr: yeah, but no different than depend on a third party mod, etc
19:54 MTDiscord <wsor4035> (i.e. keep backups)
19:54 MTDiscord <warr1024> As for having coworkers screw up a git repo, submodules have never been a prerequisite to that; I've seen people invent all sorts of ways to lose work that I'd have never even thought of.
19:55 SpaceManiac it's not the only way, but the submodule mistake was particularly repetitive
19:56 MTDiscord <warr1024> wsor: if git submodules offered a way to specify a cache somewhere (like everything else in git, they include their own verification, so even 3rd party caches are usable) I'd be a lot more comfortable with them
19:57 MTDiscord <wsor4035> i mean, once you have a clone of your project anywhere, you have a backup of them
19:57 MTDiscord <warr1024> My favorite way to lose work (both personally, and that I've seen other people do) is to go too long between commits, realize you want to undo the work in one file, and accidentally use a too-aggressive reset command and lose it all.
19:57 MTDiscord <warr1024> IIRC you have a "shallow" backup of just that one revision.  It'd be nice to be able to expand that to the full history.
19:57 MTDiscord <wsor4035> i personally like git stash since i threat as a trash can, that has a recycle bin on the odd chance i screw something up
19:57 MTDiscord <wsor4035> *treat
19:58 SpaceManiac git submodules are the right choice in some situations, like if you control both repos and the upstream is also meant to stand independently, and you want the downstream repo to always point to a specific real version of the upstream
19:58 MTDiscord <warr1024> stash is basically like a branch that you can't (or at least it's not obvious how) push to a server.  I use it for small half-assed stuff.  Anything more signficant and I'd tend to just create a topic branch, and actually push it.
19:59 SpaceManiac I find subtrees are way easier to work with for the case where you're depending on some third-party repo (e.g. C++ library) that you may or may not be patching
19:59 MTDiscord <wsor4035> yeah, but for trash cases, i dont really care about it at all, so should never need to push it somewhere
19:59 MTDiscord <warr1024> git submodules are probably the right choice in more situations than not, given that you've got 2 projects that shouldn't be maintained in a single tree to begin iwth.
19:59 MTDiscord <warr1024> well, if it's REALLY trash, then just undo it all.  If you're stashing it, it must have some value.
20:00 MTDiscord <warr1024> If it has value, I want to be sure I don't lose access to it until that value-having attribute changes.
20:00 MTDiscord <wsor4035> isnt git undo per file and no way of getting it back?
20:02 MTDiscord <warr1024> you can use "git checkout" to undo a single file.  If you do that, any changes you HAD are toast, unless you stashed it away in some way.  If you git reset --hard, same for every file.
20:04 MTDiscord <warr1024> I've actually kinda wished that git had "microcommits" that it could get from editor undo buffers, and would be "collasped" away by default, but if you wanted you could expand them and reach versions between commits.  We have tags for coarse changes, commits for finer ones ... and the finer we can push the limit, the less risk of irrevocably losing work.
20:09 sfan5 one could argue that squashing is not the way git is intended to be used
20:09 sfan5 the way linux recommends to make commits results in much more commits but also sort of what you want
20:11 SFENCE joined #luanti
20:12 MTDiscord <warr1024> I sort of feel like "squashing" should be implemented as a display filter.  Like flagging commits as especially significant, and allowing you the option to roll up smaller contributing commits when you view them in the log, and such.
20:12 MTDiscord <luatic> time for infinite commit nesting
20:12 MTDiscord <warr1024> Personally I hate any workflow that involves destroying or collapsing history information outside of extreme circumstances like repo corruption or something.
20:13 sfan5 by the linux model I don't think you will have many "especially significant" commits
20:14 MTDiscord <warr1024> There are only a handful of numbers in computing: 0, 1, 2, and omega.  If you want to have more levels than a dichotomy, you should just allow arbitrarily many of them and let people implement their own workflows.
20:14 sfan5 for example if you implement a big feature you have a 4 refactors, 6 commits doing prepration by adding some parameters or something and then one final commit that connects everything together at the final place
20:14 MTDiscord <warr1024> A project that doesn't need commits to be especially significant is sort of the ideal :-)
20:14 sfan5 you could say that the last one is especially siginificant. but it might as well be just 5 LOC changes.
20:14 ireallyhateirc related but unrelated, I will probably have to move Blender files from my repo to git LFS
20:15 MTDiscord <warr1024> oof, daaaamn, how big are they?
20:15 ireallyhateirc 44MB for one character
20:15 MTDiscord <warr1024> oh
20:16 MTDiscord <warr1024> I wouldn't call that NEARLY big enough to LFS
20:16 ireallyhateirc contains stuff like clothing and multiple versions of stuff but I consider that to be the "source code"
20:16 MTDiscord <warr1024> git starts to struggle a bit when files are getting into the GB range, but you'd have to have some kind of crazy-weak machine to have a hard time with 44MB
20:16 ireallyhateirc it's not really about me wanting to use LFS badly, it's more that git hosting has limits on git and git LFS data
20:16 MTDiscord <warr1024> yeah, blend files are absolutely source code
20:16 jaca122 joined #luanti
20:17 ireallyhateirc I think codeberg has somethign 200-500MB git storage and 1GB LFS ?
20:17 MTDiscord <warr1024> ah, if you're dealing with a 3rd party host imposing limitations, 🤷 may not be much you can do about that I guess.
20:17 ireallyhateirc well both codeberg and gitgud say I can request more storage if needed
20:18 MTDiscord <warr1024> LFS is like an inverse-submodule: taking code that logically should be in-tree and hosting it externally.  It's kinda like the worst of both worlds.
20:18 ireallyhateirc that's probably not necessary for ordinary projects, but a game which ships all Blend files is going to get fat at some point
20:19 MTDiscord <warr1024> NodeCore's largest bland file is only about 900kb (only about as big as the distribution package of the entire game itself) so not that big by blend standards, I think.
20:19 ireallyhateirc my models are quite high-poly for Luanti standards
20:20 MTDiscord <warr1024> The CDB distribution is an "optimized" version for download time, and it doesn't include some of the media source that's not necessary for running it.  Users are expected to have access to the git repo if they want the full source.
20:25 * cheapie giggles just a bit at "bland file"
20:26 ireallyhateirc hmmm no one said "bland"
20:28 cheapie [15:19:10] <MTDiscord> <warr1024> NodeCore's largest bland file
20:31 MTDiscord <warr1024> it was a typo, but you're free to derive entertainment from it
20:33 SFENCE joined #luanti
20:33 luatic joined #luanti
20:40 ireallyhateirc at least it wasn't a bald file
20:40 MTDiscord <warr1024> It actually is. It's a player model, and the player's hair is defined by the texture, not the model.
20:41 luatic joined #luanti
20:42 Talkless joined #luanti
21:02 Talkless joined #luanti
21:03 ineva joined #luanti
21:22 Talkless joined #luanti
21:27 SFENCE joined #luanti
21:33 SFENCE joined #luanti
22:04 Kimapr_ joined #luanti
22:09 SFENCE joined #luanti
22:34 panwolfram joined #luanti
22:45 Verticen joined #luanti
23:05 Eragon joined #luanti
23:17 Fleckenstein joined #luanti
23:51 FileX joined #luanti
23:55 SFENCE joined #luanti

| Channels | #luanti index | Today | | Google Search | Plaintext