WEBVTT 00:00.000 --> 00:10.000 All right, good afternoon. 00:10.000 --> 00:15.000 Welcome back to the Fossum 2026 Open Hardware and CAD CAM Devroom. 00:15.000 --> 00:18.000 Up to this point, we've seen a bunch of projects that 00:18.000 --> 00:20.000 depended on Open Cascade. 00:20.000 --> 00:24.000 So finally, at long last, we have Dmitry from Open Cascade 00:24.000 --> 00:28.000 ready to give a presentation about the upcoming 8.0 release 00:28.000 --> 00:31.000 of UCCT and Open Cascade. 00:31.000 --> 00:33.000 Yes. 00:33.000 --> 00:35.000 Hello. 00:35.000 --> 00:37.000 Let me just try. 00:37.000 --> 00:38.000 Do you hear me? 00:38.000 --> 00:39.000 Okay. 00:39.000 --> 00:43.000 So, unfortunately today, I will not have a few more. 00:43.000 --> 00:45.000 And not so much pictures as previous speakers, 00:45.000 --> 00:49.000 because, unfortunately, Open Cascade is not a application. 00:49.000 --> 00:52.000 It sounds like more complicated. 00:52.000 --> 00:53.000 It is SDK. 00:53.000 --> 00:55.000 This is how specific you go. 00:55.000 --> 00:56.000 I prepared for to be used. 00:56.000 --> 00:59.000 So, I will try to be as simple as possible, 00:59.000 --> 01:02.000 but I will be no pictures. 01:02.000 --> 01:03.000 My pleasure. 01:03.000 --> 01:06.000 So, let's start from the beginning. 01:06.000 --> 01:10.000 So, as someone mentioned before, Open Cascade 01:10.000 --> 01:15.000 is mostly one of the available open source CAD 01:15.000 --> 01:20.000 Qernels, which work in the CAD Mesh and a few more options. 01:20.000 --> 01:25.000 And it's just as used behind, not very visible, 01:25.000 --> 01:29.000 because a lot of projects, hundreds, maybe thousands of small projects, 01:29.000 --> 01:30.000 big projects. 01:30.000 --> 01:34.000 They can be done on the, as you see on the desktop application, 01:34.000 --> 01:35.000 can be on web. 01:35.000 --> 01:38.000 It can be even on small devices. 01:38.000 --> 01:39.000 Why? 01:39.000 --> 01:41.000 So, it's very powerful. 01:41.000 --> 01:44.000 And give you a lot of availability to be used 01:44.000 --> 01:46.000 on different projects, different areas. 01:46.000 --> 01:50.000 By default, let me just show you something. 01:50.000 --> 01:53.000 OCCT itself has a very long history. 01:53.000 --> 01:56.000 It's starting in the first year. 01:56.000 --> 01:59.000 It's starting from the University from French, 01:59.000 --> 02:02.000 but it's a clear, which specific date. 02:02.000 --> 02:06.000 So, but in the first year, it was released as a first, 02:06.000 --> 02:08.000 it was out of the grid. 02:08.000 --> 02:10.000 So, and it was used. 02:10.000 --> 02:14.000 Currently, we have about 3 millions of lines of code. 02:14.000 --> 02:21.000 And starting from 1999, Open Cascade was available 02:22.000 --> 02:23.000 as open source. 02:23.000 --> 02:27.000 And now, privately hosted grid, 02:27.000 --> 02:28.000 because it was not used. 02:28.000 --> 02:31.000 It was start to us, as we read. 02:31.000 --> 02:33.000 But, yet, 27 years ago, there are no, we don't know, 02:33.000 --> 02:34.000 we don't know, we don't know. 02:34.000 --> 02:36.000 Fortunately, unfortunately, but here, 02:36.000 --> 02:38.000 we go early, isn't it? 02:38.000 --> 02:42.000 And the interesting fact, for example, a few years after 02:42.000 --> 02:45.000 we saw a grid, the application was used 02:45.000 --> 02:48.000 for the physical simulation, physical researches, 02:49.000 --> 02:52.000 and in the company name, as a current, 02:52.000 --> 02:54.000 it's French company, governed based, 02:54.000 --> 02:57.000 which developed and detects, 02:57.000 --> 03:01.000 as a hand-bison, 03:01.000 --> 03:03.000 hand-bison. 03:03.000 --> 03:08.000 So, it was used for preparing all the instruments, 03:08.000 --> 03:10.000 all the tools, visual CT. 03:10.000 --> 03:12.000 It's not a CT, it was company name, 03:12.000 --> 03:15.000 it's Matta Davision, which have a long history, 03:15.000 --> 03:17.000 but it's not a major layer later. 03:17.000 --> 03:18.000 It's just something, 03:18.000 --> 03:20.000 what is cut-cure-nosef, 03:20.000 --> 03:22.000 cut-cure-nosef application, 03:22.000 --> 03:23.000 as a cut-cure-nosef, 03:23.000 --> 03:25.000 it's used very complicated, 03:25.000 --> 03:27.000 but it's behind everything. 03:27.000 --> 03:29.000 So, we have foundation classes, 03:29.000 --> 03:31.000 it's something we're providing 03:31.000 --> 03:33.000 to be on the same page, 03:33.000 --> 03:35.000 with all the modern projects, 03:35.000 --> 03:36.000 containers, memory, 03:36.000 --> 03:38.000 modeling classes, 03:38.000 --> 03:40.000 modeling memory math, 03:40.000 --> 03:42.000 and all the work in this application system, 03:42.000 --> 03:43.000 it's system dependent. 03:43.000 --> 03:45.000 So, very sensitive stuff, 03:45.000 --> 03:47.000 we have modeling data, 03:47.000 --> 03:48.000 we have modeling algorithms, 03:48.000 --> 03:49.000 visualization, 03:49.000 --> 03:52.000 and it's probably the deepest, 03:52.000 --> 03:54.000 later it's that exchange, 03:54.000 --> 03:57.000 application framework, and test the harness. 03:57.000 --> 03:59.000 It's not so deep and used, 03:59.000 --> 04:00.000 not so commonly, 04:00.000 --> 04:04.000 but step is used very often, mostly. 04:04.000 --> 04:06.000 From the projects that we're hearing, 04:06.000 --> 04:09.000 they are using step very often. 04:09.000 --> 04:11.000 So, currently, 04:11.000 --> 04:13.000 probably sometimes you hear open cascade, 04:13.000 --> 04:15.000 and it's this 3D. 04:15.000 --> 04:16.000 The difference is, 04:16.000 --> 04:17.000 both of them, 04:17.000 --> 04:18.000 but of consumerized, 04:18.000 --> 04:20.000 starting from the 2000s, 04:20.000 --> 04:21.000 and then 14, 04:21.000 --> 04:23.000 and nowadays, 04:23.000 --> 04:25.000 starting for about two, 04:25.000 --> 04:26.000 three years ago, 04:26.000 --> 04:28.000 the branch was split it. 04:28.000 --> 04:30.000 Now we have open cascade, 04:30.000 --> 04:36.000 it's possible for the enterprise project optimization, 04:36.000 --> 04:38.000 as a model, 04:38.000 --> 04:41.000 and it's currently not open source, 04:41.000 --> 04:42.000 it's enterprise-based, 04:42.000 --> 04:44.000 it's for the very, 04:44.000 --> 04:46.000 and totally-based, 04:46.000 --> 04:47.000 it's much modeling, 04:47.000 --> 04:48.000 and other interesting stuff, 04:48.000 --> 04:49.000 which is very powerful, 04:49.000 --> 04:51.000 but it's not open source. 04:51.000 --> 04:52.000 And we have, for this 3D, 04:52.000 --> 04:54.000 is a branch, 04:54.000 --> 04:56.000 who is responsible for maintaining the category, 04:56.000 --> 04:58.000 and also is the project. 04:58.000 --> 04:59.000 It can be open source, 04:59.000 --> 05:01.000 it can be private source, 05:01.000 --> 05:03.000 it can be different forms of the source. 05:03.000 --> 05:05.000 It can be also some free application, 05:05.000 --> 05:07.000 which can sometimes be used, 05:07.000 --> 05:08.000 quite a system, probably, 05:08.000 --> 05:11.000 often used by the community. 05:11.000 --> 05:12.000 So, history, 05:12.000 --> 05:13.000 as I say, 05:13.000 --> 05:16.000 open cascade was started about 45 years ago, 05:16.000 --> 05:18.000 then it was, 05:18.000 --> 05:20.000 become cascade, 05:20.000 --> 05:22.000 when it's just a little half, 05:22.000 --> 05:23.000 some matrix with, 05:23.000 --> 05:24.000 on the desk, 05:24.000 --> 05:25.000 it was another company, 05:25.000 --> 05:26.000 a full-gold name. 05:26.000 --> 05:28.000 So, yes, 05:28.000 --> 05:29.000 so it's, 05:29.000 --> 05:31.000 what's the little written on the 193, 05:31.000 --> 05:32.000 then it's updated data, 05:32.000 --> 05:34.000 it's open source, 05:34.000 --> 05:35.000 on 99, 05:35.000 --> 05:38.000 before 20, 05:38.000 --> 05:39.000 2013, 05:39.000 --> 05:41.000 it was terrible code, 05:41.000 --> 05:43.000 because on these times, 05:43.000 --> 05:46.000 open cascade was having the, 05:46.000 --> 05:47.000 which is, 05:47.000 --> 05:48.000 which is it, 05:48.000 --> 05:50.000 it's very complicated, 05:50.000 --> 05:52.000 not available to be used, 05:52.000 --> 05:54.000 and most project, 05:54.000 --> 05:55.000 also, 05:55.000 --> 05:59.000 the intensity was based on the work build system. 05:59.000 --> 06:00.000 It's very, 06:00.000 --> 06:02.000 it's started from the 96, 06:02.000 --> 06:04.000 so it's very complicated, 06:04.000 --> 06:06.000 the solutions to build, 06:06.000 --> 06:07.000 the, 06:07.000 --> 06:08.000 the currently, 06:08.000 --> 06:09.000 it was moved to CMA, 06:09.000 --> 06:10.000 but was, 06:10.000 --> 06:11.000 before it wasn't work, 06:11.000 --> 06:13.000 all developed platform. 06:13.000 --> 06:15.000 And for the header files, 06:15.000 --> 06:16.000 we have ID, 06:16.000 --> 06:17.000 H, 06:17.000 --> 06:18.000 it's headers, 06:18.000 --> 06:19.000 but not C++, 06:19.000 --> 06:21.000 it's more complicated one, 06:21.000 --> 06:22.000 it's intermediate formats. 06:22.000 --> 06:23.000 So, on, 06:23.000 --> 06:24.000 well, 06:24.000 --> 06:25.000 literally, 06:25.000 --> 06:26.000 it's algebra, 06:26.000 --> 06:27.000 everything was really, 06:27.000 --> 06:28.000 10 multiple times, 06:28.000 --> 06:29.000 and on 2016, 06:29.000 --> 06:30.000 open cascade 7. 06:30.000 --> 06:31.000 Something was released. 06:31.000 --> 06:33.000 So, during this 10 years, 06:33.000 --> 06:35.000 we are having a lot of fixes. 06:35.000 --> 06:36.000 For sure, 06:36.000 --> 06:37.000 I don't see all of them, 06:37.000 --> 06:38.000 we can just, 06:39.000 --> 06:40.000 close this, 06:40.000 --> 06:41.000 so, 06:41.000 --> 06:44.000 it was a lot of work done by the decade, 06:44.000 --> 06:45.000 and it's now, 06:45.000 --> 06:46.000 it's next decade, 06:46.000 --> 06:47.000 so, 06:47.000 --> 06:48.000 you see, 06:48.000 --> 06:49.000 it's already 10 years ago, 06:49.000 --> 06:51.000 and it was a lot of changes, 06:51.000 --> 06:52.000 was done, 06:52.000 --> 06:53.000 I cannot read of them, 06:53.000 --> 06:55.000 because I tried to be fast them, 06:55.000 --> 06:56.000 and it's not so interesting, 06:56.000 --> 06:57.000 because I've already done, 06:57.000 --> 06:58.000 it's available for you. 06:58.000 --> 06:59.000 So, 06:59.000 --> 07:02.000 yes, 07:02.000 --> 07:03.000 we have every year, 07:03.000 --> 07:04.000 one, 07:04.000 --> 07:05.000 one maintains, 07:05.000 --> 07:06.000 one, 07:06.000 --> 07:07.000 minor release, 07:07.000 --> 07:08.000 and, 07:08.000 --> 07:09.000 for the decade, 07:09.000 --> 07:11.000 we have one major release. 07:11.000 --> 07:12.000 So, let me just, 07:12.000 --> 07:13.000 maybe, 07:13.000 --> 07:14.000 would like to have something interesting, 07:14.000 --> 07:16.000 at least starting from 7.8. 07:16.000 --> 07:17.000 No, 07:17.000 --> 07:18.000 it's just 7. 07:18.000 --> 07:19.000 So, yes, 07:19.000 --> 07:20.000 so, 07:20.000 --> 07:21.000 starting from the 7, 07:21.000 --> 07:23.000 we write a lot of code of 6 also, 07:23.000 --> 07:24.000 yeah, 07:24.000 --> 07:25.000 maybe 7.6 is more interesting, 07:25.000 --> 07:27.000 because starting from the 7.6, 07:27.000 --> 07:28.000 open cascade, 07:28.000 --> 07:31.000 was able to run on the area, 07:31.000 --> 07:33.000 and also on the web assembly. 07:33.000 --> 07:34.000 So, 07:34.000 --> 07:35.000 starting from this year, 07:35.000 --> 07:37.000 you are able to work with the city, 07:37.000 --> 07:38.000 on the web, 07:38.000 --> 07:40.000 as the vast assembly. 07:40.000 --> 07:41.000 Currently, 07:41.000 --> 07:42.000 starting from the previous year, 07:42.000 --> 07:45.000 the performance on the web-based application, 07:45.000 --> 07:48.000 it's close to 95% of the desktop one. 07:48.000 --> 07:49.000 So, 07:49.000 --> 07:51.000 performance across memory is not limited, 07:51.000 --> 07:52.000 no longer, 07:52.000 --> 07:54.000 because 64 meg, 07:54.000 --> 07:55.000 by it's 64. 07:55.000 --> 07:58.000 So, web assembly is also big step, 07:58.000 --> 08:00.000 then we have 7.7, 08:00.000 --> 08:02.000 where we update all the code base, 08:02.000 --> 08:03.000 to be back like a party, 08:03.000 --> 08:05.000 but with all the modern C++, 08:05.000 --> 08:09.000 then we add the general interface, 08:09.000 --> 08:11.000 to read with all the data formats, 08:11.000 --> 08:12.000 and we have just a compression, 08:12.000 --> 08:13.000 sorry, 08:13.000 --> 08:14.000 but that's interesting. 08:14.000 --> 08:15.000 On 7.8, 08:15.000 --> 08:16.000 we add memory management, 08:16.000 --> 08:17.000 we rewrite all the code, 08:17.000 --> 08:19.000 to be in the same memory space, 08:19.000 --> 08:21.000 we add a little more to the steps, 08:21.000 --> 08:22.000 secure, 08:22.000 --> 08:23.000 set, 08:23.000 --> 08:24.000 set safety, 08:24.000 --> 08:25.000 but it's not still good. 08:25.000 --> 08:26.000 We still working on it, 08:26.000 --> 08:28.000 we add the plugins, 08:28.000 --> 08:30.000 we rewrite all the repositories, 08:30.000 --> 08:31.000 structure, 08:31.000 --> 08:32.000 not structure, 08:32.000 --> 08:33.000 the little kids names, 08:33.000 --> 08:35.000 and 7.9, 08:35.000 --> 08:37.000 we decide that we need to 08:37.000 --> 08:40.000 little go with our old code. 08:40.000 --> 08:41.000 We need to a little modernize, 08:41.000 --> 08:42.000 a little improve, 08:42.000 --> 08:43.000 we perform as a good, 08:43.000 --> 08:45.000 the big formatting, 08:45.000 --> 08:46.000 over-sync, 08:46.000 --> 08:49.000 we perform a lot of type, 08:49.000 --> 08:50.000 an example, 08:50.000 --> 08:51.000 a kind of format, 08:51.000 --> 08:52.000 we integrate, 08:52.000 --> 08:54.000 and not currently maintains 08:54.000 --> 08:56.000 our fork for the VCP package, 08:56.000 --> 08:58.000 which a lot of community use. 08:58.000 --> 08:59.000 And nowadays, 08:59.000 --> 09:00.000 the most important stuff, 09:00.000 --> 09:01.000 open cascade, 09:01.000 --> 09:03.000 was me great fully to get happy. 09:03.000 --> 09:05.000 It means you're able to provide 09:05.000 --> 09:07.000 the public rest, 09:07.000 --> 09:08.000 you provide the feature request, 09:08.000 --> 09:09.000 back report, 09:09.000 --> 09:11.000 everything can set get happy. 09:11.000 --> 09:13.000 And in most cases, 09:13.000 --> 09:14.000 you can just take me, 09:14.000 --> 09:16.000 or I'll allow developers, 09:16.000 --> 09:17.000 and they will respond to you, 09:17.000 --> 09:18.000 whatever, 09:18.000 --> 09:19.000 in the site, 09:19.000 --> 09:20.000 our visitors, 09:20.000 --> 09:21.000 and set your visitors. 09:21.000 --> 09:23.000 I hope you will have this, 09:23.000 --> 09:24.000 you will use this package, 09:24.000 --> 09:25.000 because currently, 09:25.000 --> 09:27.000 we have not so much back report, 09:27.000 --> 09:28.000 so we don't have bugs, 09:28.000 --> 09:29.000 perfectly. 09:29.000 --> 09:32.000 So I hope you will have more bug for us. 09:32.000 --> 09:33.000 And yeah, 09:33.000 --> 09:37.000 starting for the coming version of 80, 09:37.000 --> 09:40.000 we would like to have a little more updates, 09:40.000 --> 09:41.000 because currently, 09:41.000 --> 09:43.000 we have too much old code, 09:43.000 --> 09:45.000 which was, 09:45.000 --> 09:46.000 very old. 09:46.000 --> 09:47.000 So it's starting for the beginning, 09:47.000 --> 09:49.000 we still have very old code, 09:49.000 --> 09:51.000 which I sometimes just, 09:51.000 --> 09:52.000 see, 09:52.000 --> 09:53.000 I don't want to see that anymore, 09:53.000 --> 09:55.000 but I still have a few changes. 09:55.000 --> 09:56.000 We're using free base, 09:56.000 --> 09:57.000 so we cherry pick, 09:57.000 --> 09:58.000 and one changes, 09:58.000 --> 09:59.000 it's one changes. 09:59.000 --> 10:00.000 So, 10:00.000 --> 10:01.000 some repository, 10:01.000 --> 10:02.000 use multiple comments, 10:02.000 --> 10:03.000 but we use one feature, 10:03.000 --> 10:04.000 one comment. 10:04.000 --> 10:05.000 That is wise, 10:05.000 --> 10:06.000 and amount is not so big, 10:06.000 --> 10:07.000 because we consider it, 10:07.000 --> 10:09.000 and combine everything in one comment, 10:09.000 --> 10:10.000 to be very clean, 10:10.000 --> 10:11.000 and very readable, 10:11.000 --> 10:12.000 the git structure. 10:12.000 --> 10:14.000 So, currently, 10:14.000 --> 10:16.000 if some of you are developers, 10:16.000 --> 10:18.000 you probably know that, 10:18.000 --> 10:19.000 if you want one set, 10:19.000 --> 10:20.000 type of city, 10:20.000 --> 10:22.000 you know that we have everything inside, 10:22.000 --> 10:23.000 so we have how much modules, 10:23.000 --> 10:25.000 we have how on standard types, 10:25.000 --> 10:27.000 every single stable, 10:27.000 --> 10:28.000 for the new developers. 10:28.000 --> 10:29.000 Now, 10:29.000 --> 10:32.000 currently, we go out from all the old stuff, 10:32.000 --> 10:34.000 which use for walk, 10:34.000 --> 10:35.000 and for adh, 10:35.000 --> 10:36.000 it's old stuff, 10:36.000 --> 10:38.000 which would no longer support, 10:38.000 --> 10:39.000 but it's still was here. 10:39.000 --> 10:40.000 So, now in days, 10:40.000 --> 10:42.000 you can use just plus plus 17, 10:42.000 --> 10:44.000 and you will be happy, 10:44.000 --> 10:45.000 at least I hope so. 10:45.000 --> 10:46.000 So, 10:46.000 --> 10:48.000 also, if you're using our data maps, 10:48.000 --> 10:50.000 it will be more comfortable to work with them, 10:50.000 --> 10:51.000 with buildings, 10:51.000 --> 10:52.000 with, 10:52.000 --> 10:53.000 from 17, 10:53.000 --> 10:56.000 as a feature, 10:56.000 --> 10:58.000 a lot of developers say me, 10:58.000 --> 11:00.000 why we don't use just plus plus container, 11:00.000 --> 11:01.000 from the STL, 11:01.000 --> 11:02.000 that's terrible. 11:02.000 --> 11:05.000 The performance are bad, 11:05.000 --> 11:07.000 the control are bad, 11:07.000 --> 11:09.000 especially with all the stuff, 11:09.000 --> 11:12.000 related to the memory allocation, 11:12.000 --> 11:15.000 destruction and construction is terrible, 11:15.000 --> 11:17.000 and, 11:18.000 --> 11:20.000 I just don't want to go deeper. 11:20.000 --> 11:21.000 So, 11:21.000 --> 11:23.000 this container is not so friendly, 11:23.000 --> 11:24.000 but they were better. 11:24.000 --> 11:25.000 The benefits of it, 11:25.000 --> 11:26.000 on 7, 11:26.000 --> 11:27.000 on 8, 11:27.000 --> 11:29.000 we will have a pass-out. 11:29.000 --> 11:30.000 Pass-out, 11:30.000 --> 11:32.000 it's just pure STL, 11:32.000 --> 11:34.000 unlike STL containers, 11:34.000 --> 11:36.000 which behind have all containers. 11:36.000 --> 11:37.000 It needs interfaces, 11:37.000 --> 11:38.000 the same, 11:38.000 --> 11:40.000 but behind it's all containers, 11:40.000 --> 11:42.000 because I don't want to see them, 11:42.000 --> 11:44.000 the STL any longer in the STL, 11:44.000 --> 11:46.000 I remove everything from. 11:46.000 --> 11:47.000 It doesn't prove, 11:47.000 --> 11:48.000 so, 11:48.000 --> 11:50.000 I really data a lot of stuff, 11:50.000 --> 11:51.000 but here, 11:51.000 --> 11:52.000 a big careful, 11:52.000 --> 11:53.000 if you have STL, 11:53.000 --> 11:55.000 sometimes it's not a good choice, 11:55.000 --> 11:57.000 for the high performance applications, 11:57.000 --> 11:58.000 a big careful, 11:58.000 --> 12:00.000 just try to use profiler bay night 12:00.000 --> 12:02.000 and you will see what's happened. 12:02.000 --> 12:04.000 You will hate that also. 12:04.000 --> 12:06.000 So, 12:06.000 --> 12:07.000 source organization, 12:07.000 --> 12:09.000 before on the main folder, 12:09.000 --> 12:10.000 SRC, 12:10.000 --> 12:14.000 we have about more than 500 folders. 12:14.000 --> 12:15.000 When you open the folder, 12:15.000 --> 12:18.000 and see 500 folders inside, 12:18.000 --> 12:20.000 maybe you think something can confuse you, 12:20.000 --> 12:21.000 but fortunately, 12:21.000 --> 12:22.000 no, 12:22.000 --> 12:23.000 it was something wrong with us, 12:23.000 --> 12:26.000 but it's something legacy from the work. 12:26.000 --> 12:27.000 Nowadays, 12:27.000 --> 12:28.000 there are just five subfolder, 12:28.000 --> 12:29.000 it's a folder, 12:29.000 --> 12:30.000 it's a folder, 12:30.000 --> 12:31.000 it's a folder, 12:31.000 --> 12:33.000 and the logic is simple. 12:33.000 --> 12:34.000 Now we have model, 12:34.000 --> 12:35.000 SRC, 12:35.000 --> 12:36.000 model, 12:36.000 --> 12:37.000 toolkit, 12:37.000 --> 12:38.000 package, 12:38.000 --> 12:39.000 files, 12:39.000 --> 12:40.000 just final files, 12:40.000 --> 12:41.000 everything headers, 12:41.000 --> 12:42.000 source files, 12:42.000 --> 12:43.000 everything's clean, 12:43.000 --> 12:45.000 and a lot of the features of that, 12:45.000 --> 12:46.000 if you're using, 12:46.000 --> 12:47.000 like, 12:47.000 --> 12:48.000 like, 12:48.000 --> 12:49.000 kapile, 12:49.000 --> 12:50.000 or cloud, 12:50.000 --> 12:53.000 it's very powerful with this layout. 12:53.000 --> 12:54.000 It's nowhere, 12:54.000 --> 12:55.000 it is, 12:55.000 --> 12:57.000 and he know how to grab and parse it. 12:57.000 --> 12:58.000 Much better for, 12:58.000 --> 12:59.000 at least, 12:59.000 --> 13:00.000 looking for informations. 13:00.000 --> 13:01.000 Much clear, 13:01.000 --> 13:02.000 and also, 13:02.000 --> 13:03.000 somewhere, 13:03.000 --> 13:04.000 a lot of readme, 13:04.000 --> 13:05.000 md, 13:05.000 --> 13:06.000 for the folders toolkit, 13:06.000 --> 13:07.000 and so on, 13:07.000 --> 13:08.000 sometimes you will see them, 13:08.000 --> 13:10.000 and I plan for the next few years, 13:10.000 --> 13:12.000 we'll add for all the toolkit's readme, 13:12.000 --> 13:14.000 because probably developers would like to see 13:14.000 --> 13:16.000 a little more information. 13:16.000 --> 13:17.000 So, 13:17.000 --> 13:18.000 hopefully, 13:18.000 --> 13:20.000 open cascade was tested all the time, 13:20.000 --> 13:21.000 so fortunately, 13:21.000 --> 13:24.000 we have the testing for all these decades, 13:24.000 --> 13:25.000 and yeah, 13:25.000 --> 13:26.000 it's good. 13:26.000 --> 13:27.000 So testing is important, 13:27.000 --> 13:30.000 and I hope all the application 13:30.000 --> 13:33.000 have their own unity or integration tests. 13:33.000 --> 13:34.000 Integration, 13:34.000 --> 13:35.000 not hence, 13:35.000 --> 13:36.000 and basically integration, 13:36.000 --> 13:38.000 but just script applications, 13:38.000 --> 13:40.000 script based testing. 13:40.000 --> 13:41.000 So, 13:41.000 --> 13:42.000 apparently, 13:42.000 --> 13:43.000 we have all the Google tests, 13:43.000 --> 13:44.000 so, 13:44.000 --> 13:45.000 from the 7.9, 13:45.000 --> 13:46.000 the support in Google test. 13:46.000 --> 13:47.000 So, it means, 13:47.000 --> 13:49.000 it's some developers would like to integrate some patches, 13:49.000 --> 13:50.000 they can use POS, 13:50.000 --> 13:51.000 but what's called, 13:51.000 --> 13:53.000 they don't need to go deeper with TCL. 13:53.000 --> 13:54.000 TCL, 13:54.000 --> 13:56.000 it's our own script based, 13:56.000 --> 13:57.000 TCL is not ours, 13:57.000 --> 14:01.000 but we have our own script based application, 14:01.000 --> 14:03.000 which based on TCL language, 14:03.000 --> 14:04.000 by GitHub CICD, 14:04.000 --> 14:06.000 for the all-platform, 14:06.000 --> 14:07.000 fortunately, 14:07.000 --> 14:08.000 or unfortunately, 14:08.000 --> 14:10.000 it's only about 40% of all the tests. 14:11.000 --> 14:12.000 All the other tests, 14:12.000 --> 14:15.000 we're going to commercial private stuff, 14:15.000 --> 14:18.000 but it's enough for the community to be just seeing 14:18.000 --> 14:20.000 what's wrong with the patches. 14:20.000 --> 14:21.000 You see the reports, 14:21.000 --> 14:22.000 you see the differences, 14:22.000 --> 14:23.000 picture differences, 14:23.000 --> 14:24.000 simple memory differences, 14:24.000 --> 14:25.000 you see everything, 14:25.000 --> 14:27.000 everything available for you to see, 14:27.000 --> 14:29.000 and it's also CICD checks, 14:29.000 --> 14:30.000 the code quality, 14:30.000 --> 14:32.000 and all the stuff by the public list. 14:32.000 --> 14:33.000 It's perfectly work. 14:33.000 --> 14:34.000 For the data exchange, 14:34.000 --> 14:35.000 I will have, 14:35.000 --> 14:38.000 I hope it'll long topic about the forms. 14:39.000 --> 14:40.000 Yeah, I have the time. 14:40.000 --> 14:42.000 So that exchange, 14:42.000 --> 14:44.000 open cascade by default of CICD, 14:44.000 --> 14:45.000 sorry about that, 14:45.000 --> 14:46.000 CICD, 14:46.000 --> 14:48.000 it's company which I currently, 14:48.000 --> 14:50.000 it's part of the, 14:50.000 --> 14:51.000 I'll keep jamingy, 14:51.000 --> 14:52.000 which currently is brand. 14:52.000 --> 14:53.000 Yeah, thank you, 14:53.000 --> 14:54.000 check. 14:54.000 --> 14:55.000 Which part of the brand? 14:55.000 --> 14:56.000 And yeah, CICD. 14:56.000 --> 14:58.000 So we have open source formats, 14:58.000 --> 15:01.000 and we have commercially commercial formats, 15:01.000 --> 15:04.000 each available by commercial news. 15:04.000 --> 15:05.000 But yeah, 15:05.000 --> 15:06.000 open source are available to, 15:06.000 --> 15:08.000 buy all the community, 15:08.000 --> 15:09.000 and they can use it. 15:09.000 --> 15:10.000 So dry, 15:10.000 --> 15:11.000 map, 15:11.000 --> 15:12.000 you can, 15:12.000 --> 15:13.000 not map, 15:13.000 --> 15:14.000 a lot of names, 15:14.000 --> 15:15.000 but yeah, 15:15.000 --> 15:16.000 the most important step, 15:16.000 --> 15:17.000 and probably, 15:17.000 --> 15:18.000 nothing more. 15:18.000 --> 15:19.000 Yeah, 15:19.000 --> 15:20.000 so, 15:20.000 --> 15:21.000 as I say, 15:21.000 --> 15:22.000 or CICD, 15:22.000 --> 15:23.000 it's very complicated, 15:23.000 --> 15:25.000 have three million lines of code, 15:25.000 --> 15:26.000 no one wants to read them, 15:26.000 --> 15:28.000 no one would like to use them, 15:28.000 --> 15:30.000 if it's not necessary for them. 15:30.000 --> 15:31.000 That's why, 15:31.000 --> 15:34.000 we decided to go forward with something simple, 15:34.000 --> 15:35.000 simple. 15:35.000 --> 15:38.000 So we decided to go with very light, 15:38.000 --> 15:42.000 this is a C++ new repository, 15:42.000 --> 15:44.000 which will wrap everything, 15:44.000 --> 15:47.000 but just provide a very tiny API, 15:47.000 --> 15:50.000 and it's very high, 15:50.000 --> 15:52.000 the commented. 15:52.000 --> 15:53.000 So that is why, 15:53.000 --> 15:56.000 I hope it will be much more for the newcomers, 15:56.000 --> 15:58.000 and at the same time, 15:58.000 --> 16:01.000 it will provide a much language for rappers. 16:02.000 --> 16:03.000 And yeah, so all the CI, 16:03.000 --> 16:05.000 API for all the rapid languages, 16:05.000 --> 16:06.000 will be the same. 16:06.000 --> 16:09.000 We will use our own personal rappers, 16:09.000 --> 16:10.000 not just something, 16:10.000 --> 16:11.000 but yeah, 16:11.000 --> 16:12.000 so it will be used, 16:12.000 --> 16:13.000 and then, 16:13.000 --> 16:16.000 hope it will give best benefits for the community. 16:16.000 --> 16:17.000 So the roadmap, 16:17.000 --> 16:20.000 for the long-term and medium-term and near-term. 16:20.000 --> 16:22.000 One of the benefits, 16:22.000 --> 16:24.000 I remember that, 16:24.000 --> 16:25.000 yes, 16:25.000 --> 16:26.000 on the chat, 16:26.000 --> 16:27.000 on this conference, 16:27.000 --> 16:28.000 so as a chat, 16:28.000 --> 16:29.000 if you don't know, 16:29.000 --> 16:31.000 there are a lot of questions about 16:31.000 --> 16:32.000 why land for the kick-out, 16:32.000 --> 16:34.000 and yes, 16:34.000 --> 16:36.000 why land will be added for the open cascade, 16:36.000 --> 16:38.000 starting from a few weeks, 16:38.000 --> 16:39.000 oh, 16:39.000 --> 16:40.000 for the list, 16:40.000 --> 16:41.000 so for the list, 16:41.000 --> 16:42.000 a it's zero, 16:42.000 --> 16:44.000 why land will be supported to be used. 16:44.000 --> 16:45.000 So, 16:45.000 --> 16:46.000 it probably is, 16:46.000 --> 16:47.000 as you know, 16:47.000 --> 16:49.000 the free image is no longer supported, 16:49.000 --> 16:50.000 we need to go out, 16:50.000 --> 16:51.000 because it's insecure, 16:51.000 --> 16:53.000 it has a lot of gaps inside, 16:53.000 --> 16:55.000 if you are using free image, 16:55.000 --> 16:56.000 be careful, 16:56.000 --> 16:57.000 it's dangerous for your application. 16:58.000 --> 17:00.000 It has a lot of holes. 17:00.000 --> 17:01.000 So, 17:01.000 --> 17:02.000 we would like to, 17:02.000 --> 17:03.000 so it's probably new. 17:03.000 --> 17:04.000 In the medium-term, 17:04.000 --> 17:06.000 we would like to inform you that open cascade, 17:06.000 --> 17:09.000 currently preparing the new formats, 17:09.000 --> 17:10.000 with public schemas, 17:10.000 --> 17:12.000 for the two formats, 17:12.000 --> 17:14.000 just base for the shapes, 17:14.000 --> 17:15.000 for the formats, 17:15.000 --> 17:18.000 which will be 50 times faster, 17:18.000 --> 17:20.000 and smaller, 17:20.000 --> 17:23.000 till we have the binary and JSON presentations. 17:23.000 --> 17:25.000 It means that you have public schemas, 17:25.000 --> 17:27.000 it will be very fast, 17:27.000 --> 17:29.000 and it will be available for all of them, 17:29.000 --> 17:30.000 all of you. 17:30.000 --> 17:31.000 It will be documented, 17:31.000 --> 17:32.000 it will be used, 17:32.000 --> 17:34.000 instead of the current break. 17:34.000 --> 17:35.000 Break also will be used, 17:35.000 --> 17:37.000 but that will be supported for the shapes. 17:37.000 --> 17:38.000 Also, 17:38.000 --> 17:40.000 we will have Samsung PDM related to the formats, 17:40.000 --> 17:41.000 which module, 17:41.000 --> 17:42.000 which module structure, 17:42.000 --> 17:44.000 to be added as a plugin, 17:44.000 --> 17:45.000 all the necessary stuff, 17:45.000 --> 17:47.000 which you're going to create on your side. 17:47.000 --> 17:49.000 It will be something 17:49.000 --> 17:50.000 from the medium-term, 17:50.000 --> 17:52.000 so it's very interesting for the most of the community, 17:52.000 --> 17:53.000 because the formats, 17:53.000 --> 17:56.000 is currently something complicated for the community. 17:56.000 --> 17:57.000 Oh, the interesting stuff. 17:57.000 --> 17:59.000 I forgot to mention that 17:59.000 --> 18:01.000 starting the previous year, 18:01.000 --> 18:04.000 OpenCascade was become a member 18:04.000 --> 18:06.000 of the lot of organizations. 18:06.000 --> 18:07.000 I was trying my best, 18:07.000 --> 18:09.000 and one of the organizations 18:09.000 --> 18:12.000 is kind of a limitation for them. 18:12.000 --> 18:14.000 So it means OpenCascade, 18:14.000 --> 18:16.000 currently on weekly basis, 18:16.000 --> 18:19.000 participate in the improving step. 18:19.000 --> 18:21.000 So with the guys with all the, 18:22.000 --> 18:24.000 I don't know how to say this, 18:25.000 --> 18:27.000 flag amounts of the industrious, 18:27.000 --> 18:29.000 we just come back together, 18:29.000 --> 18:32.000 discuss and talk in what we can do with this step itself. 18:32.000 --> 18:33.000 So a long tour, 18:33.000 --> 18:35.000 we would like to implement WebGPU, 18:35.000 --> 18:36.000 we'll come, 18:36.000 --> 18:37.000 a common organization, 18:37.000 --> 18:38.000 a multi-streaming spreading, 18:38.000 --> 18:39.000 so currently, 18:39.000 --> 18:40.000 we're going to be very complicated, 18:40.000 --> 18:41.000 and see, 18:41.000 --> 18:44.000 I would like to minimize the exception dependencies. 18:44.000 --> 18:45.000 So, 18:45.000 --> 18:46.000 I'm trying my best, 18:46.000 --> 18:47.000 because I'd like to talk about your QA, 18:47.000 --> 18:48.000 and so, 18:48.000 --> 18:49.000 as I say, 18:49.000 --> 18:51.000 if you have any problems, 18:51.000 --> 18:53.000 if you have any ideas, 18:53.000 --> 18:54.000 go to GitHub, 18:54.000 --> 18:55.000 create feature, 18:55.000 --> 18:56.000 discussions, 18:56.000 --> 18:58.000 create the pull request, 18:58.000 --> 19:00.000 I hope you will do that. 19:00.000 --> 19:02.000 And just, 19:02.000 --> 19:03.000 yeah, 19:03.000 --> 19:04.000 unfortunately, 19:04.000 --> 19:05.000 for the pull request, 19:05.000 --> 19:07.000 we need to sign the CLA, 19:07.000 --> 19:09.000 it's will not obligate you nothing, 19:09.000 --> 19:10.000 but we need to do that. 19:10.000 --> 19:11.000 So, 19:11.000 --> 19:13.000 all the activities like feature requests, 19:13.000 --> 19:14.000 back request, 19:14.000 --> 19:15.000 discussions, 19:15.000 --> 19:16.000 you'll free to go, 19:16.000 --> 19:18.000 but for the pull request, 19:18.000 --> 19:20.000 if a little more your time for the doses, 19:20.000 --> 19:22.000 all the activities like integration 19:22.000 --> 19:23.000 will be on us, 19:23.000 --> 19:24.000 we just provide code, 19:24.000 --> 19:26.000 and we do everything for you. 19:26.000 --> 19:28.000 And, yeah, 19:28.000 --> 19:29.000 is this all? 19:29.000 --> 19:31.000 I'm welcoming any questions, 19:31.000 --> 19:33.000 and I hope you will have some. 19:33.000 --> 19:34.000 Thank you. 19:34.000 --> 19:39.000 You did a very good job, 19:39.000 --> 19:40.000 leaving time for questions. 19:40.000 --> 19:42.000 We have lots of time for questions, 19:42.000 --> 19:43.000 so, 19:43.000 --> 19:44.000 Clement. 19:44.000 --> 19:45.000 So, 19:45.000 --> 19:49.000 about this light API that you're proposing, 19:49.000 --> 19:54.000 is this intended to kind of grow and have more functionality, 19:54.000 --> 19:57.000 and eventually replace the API for everything, 19:57.000 --> 19:59.000 or is it meant to stay small? 19:59.000 --> 20:01.000 It is modular. 20:01.000 --> 20:03.000 Whatever I do is modular. 20:03.000 --> 20:05.000 Oh, I forgot about some features. 20:05.000 --> 20:06.000 Yes, it will be modular. 20:06.000 --> 20:09.000 It means you can add a lot of modules inside, 20:09.000 --> 20:11.000 including the extra features, 20:11.000 --> 20:13.000 which we have a lot of community around, 20:14.000 --> 20:16.000 and we try to integrate them in the same layout. 20:16.000 --> 20:17.000 So, it will be modular. 20:17.000 --> 20:20.000 It will have more functionalities than original C++. 20:20.000 --> 20:21.000 It will be modular. 20:21.000 --> 20:23.000 So, I'll see++ for the, 20:23.000 --> 20:24.000 for the Samsung, 20:24.000 --> 20:25.000 which are found to mental, 20:25.000 --> 20:27.000 and everything plugin system is on. 20:27.000 --> 20:28.000 It will be on the, 20:28.000 --> 20:30.000 this flight of city. 20:38.000 --> 20:40.000 I have seen the example you have shown 20:40.000 --> 20:43.000 about the Python code from the light API, 20:43.000 --> 20:46.000 and I'm also using Cuffvery, 20:46.000 --> 20:48.000 which uses a similar API. 20:48.000 --> 20:50.000 But as far as I know, 20:50.000 --> 20:54.000 Cuffvery uses some kind of repair for open cascade. 20:54.000 --> 20:56.000 So, do you think that we're probably probably 20:56.000 --> 20:57.000 be, 20:57.000 --> 20:59.000 we don't need it anymore in the future? 20:59.000 --> 21:01.000 So, Cuffvery hates me. 21:01.000 --> 21:02.000 Ah, 21:02.000 --> 21:04.000 Yes, we just can't talk about this community. 21:04.000 --> 21:05.000 So, 21:05.000 --> 21:06.000 as the problem is, 21:06.000 --> 21:07.000 I have a work out of a city, 21:07.000 --> 21:09.000 and they have troubles with migrations. 21:09.000 --> 21:10.000 I love them. 21:10.000 --> 21:11.000 So, sorry. 21:11.000 --> 21:14.000 So, Cuffvery is all unwrapped, 21:14.000 --> 21:16.000 and the structure they have wrapped, 21:16.000 --> 21:17.000 I don't like. 21:17.000 --> 21:20.000 So, the interfaces for the city light, 21:20.000 --> 21:22.000 will be totally different from all the rappers, 21:22.000 --> 21:23.000 you know. 21:23.000 --> 21:24.000 It will be totally different 21:24.000 --> 21:27.000 because we need to something different, 21:27.000 --> 21:29.000 which more future proof, 21:29.000 --> 21:31.000 and much more simple to use. 21:31.000 --> 21:34.000 All the git rappers are not that good. 21:34.000 --> 21:35.000 They work in, 21:35.000 --> 21:36.000 it's fine. 21:36.000 --> 21:38.000 But they need to be better. 21:39.000 --> 21:40.000 Yeah. 21:40.000 --> 21:41.000 Ah, yes. 21:41.000 --> 21:43.000 I tried to help this team to migrate. 21:43.000 --> 21:44.000 So, yes. 21:44.000 --> 21:45.000 Cut query. 21:45.000 --> 21:46.000 We're in touch. 21:46.000 --> 21:47.000 Ah, 21:47.000 --> 21:49.000 So, my question is about 21:49.000 --> 21:50.000 GPX variation. 21:50.000 --> 21:51.000 What are you 21:51.000 --> 21:55.000 intending to use GPX variation for? 21:55.000 --> 21:56.000 Yeah. 21:56.000 --> 21:58.000 Ah, it is mostly for the shaders. 21:58.000 --> 22:00.000 So, we have just, 22:00.000 --> 22:02.000 at the moment, open cascade is 22:02.000 --> 22:03.000 breath based. 22:03.000 --> 22:05.000 So, there are no much possibilities to do. 22:05.000 --> 22:07.000 Most of it will be done in our commercial sites, 22:07.000 --> 22:08.000 about the intersection, 22:08.000 --> 22:10.000 and the collection, 22:10.000 --> 22:11.000 and some of the stuff, 22:11.000 --> 22:12.000 but it's for the mesh based. 22:12.000 --> 22:14.000 For the brief based, 22:14.000 --> 22:15.000 we only for the, 22:15.000 --> 22:16.000 not brief itself, 22:16.000 --> 22:17.000 for the visualization. 22:17.000 --> 22:18.000 For the grid rendering, 22:18.000 --> 22:19.000 and so on. 22:19.000 --> 22:20.000 Because sometimes we grid create 22:20.000 --> 22:21.000 by the currently, 22:21.000 --> 22:22.000 by the shapes. 22:22.000 --> 22:24.000 It's bad. 22:24.000 --> 22:26.000 And just, 22:26.000 --> 22:27.000 more jippo by shaders. 22:27.000 --> 22:29.000 And just ten years ago, 22:29.000 --> 22:31.000 we removed to the, 22:31.000 --> 22:33.000 and as a type of pipelines. 22:33.000 --> 22:34.000 But yeah. 22:34.000 --> 22:35.000 We did it. 22:35.000 --> 22:38.000 So, it just was a very, very, very interesting mostly. 22:38.000 --> 22:39.000 Thank you. 22:39.000 --> 22:40.000 Yep. 22:40.000 --> 22:41.000 Hi. 22:41.000 --> 22:43.000 Thanks for your talk. 22:43.000 --> 22:45.000 From your perspective, 22:45.000 --> 22:47.000 would you have any advice for 22:47.000 --> 22:48.000 freecat, 22:48.000 --> 22:50.000 but also other open source projects 22:50.000 --> 22:53.000 that are making use of open cascade, 22:53.000 --> 22:54.000 in general, 22:54.000 --> 22:56.000 given the roadmap. 22:56.000 --> 22:58.000 Yeah. 22:58.000 --> 23:00.000 So, the main point, 23:00.000 --> 23:02.000 I would probably prefer to have, 23:03.000 --> 23:05.000 for the all the community which has used us, 23:05.000 --> 23:08.000 is used in the future, 23:08.000 --> 23:10.000 develop a much easy interface 23:10.000 --> 23:12.000 to get the data from our step, 23:12.000 --> 23:13.000 for example. 23:13.000 --> 23:14.000 For now, a lot of community missed 23:14.000 --> 23:16.000 information about dimensions, 23:16.000 --> 23:17.000 layout, layers, 23:17.000 --> 23:18.000 and all the stuff from the step. 23:18.000 --> 23:19.000 We have it, 23:19.000 --> 23:20.000 but they can't extract. 23:20.000 --> 23:22.000 So, my recommendation just, 23:22.000 --> 23:23.000 at the moment, 23:23.000 --> 23:24.000 all the APIs complicated. 23:24.000 --> 23:26.000 We would like to improve it. 23:26.000 --> 23:28.000 And my recommendation, 23:28.000 --> 23:30.000 please provide your feedbacks. 23:31.000 --> 23:33.000 Yes. 23:33.000 --> 23:34.000 Your feedbacks, 23:34.000 --> 23:36.000 and we will discuss all the possibilities 23:36.000 --> 23:37.000 to improve us, 23:37.000 --> 23:39.000 and I hope we will help you 23:39.000 --> 23:40.000 as much as we can. 23:42.000 --> 23:43.000 Yeah. 23:43.000 --> 23:45.000 Thanks for the presentation for your work, 23:45.000 --> 23:46.000 especially. 23:46.000 --> 23:49.000 I'm not ready for a million 23:49.000 --> 23:51.000 with the internals, so I've got the kernel. 23:51.000 --> 23:52.000 Fortunately, 23:52.000 --> 23:53.000 but I was wondering, 23:53.000 --> 23:55.000 like, this is like a overview question, 23:55.000 --> 23:56.000 like, 23:56.000 --> 23:57.000 like, 23:57.000 --> 23:58.000 like, 23:58.000 --> 23:59.000 like, 23:59.000 --> 24:01.000 the main difference now 24:01.000 --> 24:02.000 between, 24:02.000 --> 24:03.000 or this is 3D, 24:03.000 --> 24:04.000 and something like, 24:04.000 --> 24:05.000 parasori, 24:05.000 --> 24:06.000 it is more like, 24:06.000 --> 24:07.000 performance, 24:07.000 --> 24:08.000 or feature, 24:08.000 --> 24:09.000 or something else. 24:09.000 --> 24:10.000 Ah, 24:10.000 --> 24:11.000 yeah. 24:11.000 --> 24:14.000 It's complicated to say, 24:14.000 --> 24:16.000 but everything. 24:16.000 --> 24:18.000 So, we have totally different models 24:18.000 --> 24:19.000 of to be used. 24:19.000 --> 24:21.000 Performance, 24:21.000 --> 24:22.000 it's complicated. 24:22.000 --> 24:24.000 Sometimes we have better performance 24:24.000 --> 24:26.000 because we have much less, 24:27.000 --> 24:28.000 or, 24:28.000 --> 24:29.000 all features, 24:29.000 --> 24:30.000 which we need to keep, 24:30.000 --> 24:31.000 because we have freedom. 24:31.000 --> 24:33.000 We have no limitation of contractual stuff. 24:33.000 --> 24:34.000 We can just, 24:34.000 --> 24:35.000 just, 24:35.000 --> 24:36.000 keeps, 24:36.000 --> 24:37.000 don't keep something. 24:37.000 --> 24:39.000 The difference is, 24:39.000 --> 24:42.000 amount of people working the project. 24:42.000 --> 24:43.000 So, 24:43.000 --> 24:45.000 copy and cascade have a kernel, 24:45.000 --> 24:46.000 but feature around, 24:46.000 --> 24:48.000 I'm not that smart as much. 24:48.000 --> 24:50.000 So, parasori is powerful, 24:50.000 --> 24:52.000 because they have a lot of, 24:52.000 --> 24:54.000 functionality at the top of the kernel. 24:55.000 --> 24:56.000 So, they have a lot of features. 24:56.000 --> 24:58.000 They have a thousand of people 24:58.000 --> 24:59.000 who are using QA, 24:59.000 --> 25:00.000 and so on. 25:00.000 --> 25:01.000 The difference is, 25:01.000 --> 25:02.000 mostly, 25:02.000 --> 25:04.000 about just community around 25:04.000 --> 25:05.000 and development team. 25:05.000 --> 25:07.000 They are similar, 25:07.000 --> 25:08.000 very similar, 25:08.000 --> 25:09.000 because they are working with both. 25:09.000 --> 25:10.000 I also touch, 25:10.000 --> 25:11.000 or not, 25:11.000 --> 25:12.000 sorry. 25:12.000 --> 25:15.000 Hi, 25:15.000 --> 25:17.000 I just wanted what the main barriers 25:17.000 --> 25:19.000 were to the GPU acceleration, 25:19.000 --> 25:21.000 point for the long term. 25:21.000 --> 25:22.000 Is that going to be like, 25:22.000 --> 25:23.000 short long term, 25:23.000 --> 25:24.000 or like, 25:24.000 --> 25:25.000 really long long term? 25:25.000 --> 25:26.000 Ah. 25:26.000 --> 25:28.000 It just depends on the community, 25:28.000 --> 25:29.000 as I say, 25:29.000 --> 25:31.000 we don't have sounds with people, 25:31.000 --> 25:33.000 and we need to prioritize. 25:33.000 --> 25:35.000 This is kind of a low priority fast, 25:35.000 --> 25:37.000 which I would like to have, 25:37.000 --> 25:39.000 because it's problematic for me 25:39.000 --> 25:40.000 when you have grid, 25:40.000 --> 25:42.000 and it's kill you performance. 25:42.000 --> 25:43.000 I very sensitive with performance, 25:43.000 --> 25:45.000 and for the last few years, 25:45.000 --> 25:46.000 I improved with CT, 25:46.000 --> 25:48.000 and in total we have about, 25:48.000 --> 25:49.000 for example, 25:49.000 --> 25:51.000 step files was improved by 95% 25:51.000 --> 25:52.000 and big files, 25:52.000 --> 25:53.000 reading step files. 25:53.000 --> 25:55.000 It's a lot of performance overall. 25:55.000 --> 25:56.000 We improved by CT, 25:56.000 --> 25:57.000 by tests. 25:57.000 --> 25:59.000 It was improved by 20% 25:59.000 --> 26:00.000 just with starting tests, 26:00.000 --> 26:02.000 and the 20% faster than two years ago. 26:02.000 --> 26:03.000 All the tests. 26:03.000 --> 26:05.000 So I very sensitive with performance, 26:05.000 --> 26:07.000 and that is why only one is. 26:07.000 --> 26:09.000 There are no more problems to do this, 26:09.000 --> 26:10.000 but slower priority. 26:10.000 --> 26:12.000 Okay, thank you very much. 26:18.000 --> 26:20.000 So maybe for the community, 26:21.000 --> 26:25.000 so if OCT needs help with our input, 26:25.000 --> 26:29.000 so I'm being paid by the FreeCAD project association 26:29.000 --> 26:32.000 in the position as OCT layer is on, 26:32.000 --> 26:36.000 and so I try to interact with the FreeCAD community, 26:36.000 --> 26:39.000 but also with open cascade community. 26:39.000 --> 26:41.000 And yeah, 26:41.000 --> 26:44.000 if our feedback will help, 26:44.000 --> 26:47.000 then I can be perhaps also a middle person 26:47.000 --> 26:52.000 in between to help make this smooth or, 26:52.000 --> 26:53.000 yeah. 26:53.000 --> 26:55.000 So if you want to reach out, 26:55.000 --> 27:00.000 you can probably just find me the position as OCT layer on. 27:00.000 --> 27:01.000 Yes. 27:01.000 --> 27:06.000 So you can occupy the GitHub of FreeCAD and use it, 27:06.000 --> 27:09.000 and I will just grab visit using the help of FreeCAD. 27:09.000 --> 27:12.000 So you can occupy their space. 27:12.000 --> 27:15.000 But I will have more reports. 27:15.000 --> 27:18.000 Thank you. 27:18.000 --> 27:19.000 Yes. 27:19.000 --> 27:21.000 Also, while forgot a few topics, 27:21.000 --> 27:22.000 currently, 27:22.000 --> 27:24.000 main topics is modernized code base. 27:24.000 --> 27:25.000 So currently, 27:25.000 --> 27:28.000 we rewrite a lot of foundation classes like the solvers, 27:28.000 --> 27:29.000 or the matrix solvers, 27:29.000 --> 27:30.000 linear solvers and so on. 27:30.000 --> 27:32.000 It was totally rewritten, 27:32.000 --> 27:34.000 and soon we will rewrite much more 27:34.000 --> 27:37.000 because I like performance and code quality. 27:37.000 --> 27:38.000 I rewrite a lot of them, 27:38.000 --> 27:40.000 and they are faster, better, 27:40.000 --> 27:42.000 and looks better. 27:43.000 --> 27:47.000 I hope much people will be sure that not only me. 27:47.000 --> 27:49.000 Okay, some more questions? 27:49.000 --> 27:52.000 Well, two questions. 27:52.000 --> 27:55.000 My question would be about the API again, 27:55.000 --> 27:59.000 because my impression is that 27:59.000 --> 28:04.000 because you said that the JavaScript and Python API 28:04.000 --> 28:07.000 would be much wider in the end 28:07.000 --> 28:10.000 than the SQL-class API. 28:10.000 --> 28:15.000 The path for new code projects would be to write themselves 28:15.000 --> 28:20.000 in some of those languages, either Python or JavaScript. 28:20.000 --> 28:21.000 Probably you don't get my idea. 28:21.000 --> 28:22.000 So, say, 28:22.000 --> 28:25.000 Lighter City is C++ projects. 28:25.000 --> 28:27.000 It's the same C++, 28:27.000 --> 28:29.000 but simply project projects. 28:29.000 --> 28:31.000 Everything like wrappers will wrap 28:31.000 --> 28:33.000 this C++ projects. 28:33.000 --> 28:37.000 It means the interface for the languages will be the same as C++. 28:37.000 --> 28:38.000 It means C++, 28:38.000 --> 28:40.000 it has the entire interface, 28:40.000 --> 28:42.000 as Java, as Python, as JavaScript. 28:42.000 --> 28:44.000 It will be the same language, 28:44.000 --> 28:46.000 but the basic will be C++, 28:46.000 --> 28:50.000 just because it's better for this world, it's better. 28:50.000 --> 28:52.000 Okay, so, 28:52.000 --> 28:57.000 the base design API is written in C++, 28:57.000 --> 29:00.000 and then just adapters for the article. 29:00.000 --> 29:02.000 The documentation will be one, 29:02.000 --> 29:03.000 so the documentation one, 29:03.000 --> 29:05.000 the function will be the same. 29:05.000 --> 29:09.000 You will write by different compilers or interpreters. 29:09.000 --> 29:13.000 Last year, 29:13.000 --> 29:14.000 there was a talk here, 29:14.000 --> 29:18.000 if somebody using this web assembly 29:18.000 --> 29:21.000 was some version of OCCT 29:21.000 --> 29:24.000 to make a web-based cat. 29:24.000 --> 29:27.000 I looked into that, 29:27.000 --> 29:32.000 and one problem with it was it's like a gigantic download 29:32.000 --> 29:33.000 every time, 29:33.000 --> 29:35.000 and you were talking about modularity. 29:35.000 --> 29:38.000 So, is it possible to cut that down? 29:38.000 --> 29:39.000 And how would this work? 29:39.000 --> 29:41.000 So, it's already worked. 29:41.000 --> 29:42.000 So, the modularity, 29:42.000 --> 29:44.000 it means you have full flexibility, 29:44.000 --> 29:45.000 what you want. 29:45.000 --> 29:46.000 So, there are a lot of lags, 29:46.000 --> 29:47.000 and you can just disable it. 29:47.000 --> 29:49.000 I don't like cat docker, 29:49.000 --> 29:51.000 so it means it will be work on any platforms, 29:51.000 --> 29:53.000 you can just choose what you want, 29:53.000 --> 29:56.000 and it will choose and wrap on these features. 29:56.000 --> 29:57.000 It's very light, 29:57.000 --> 30:00.000 and a lot of people who give this for the temporary changes. 30:00.000 --> 30:02.000 You say it's much, much smaller, 30:02.000 --> 30:03.000 and much easier to build, 30:03.000 --> 30:06.000 because a node docker is like done for the OCCJS. 30:06.000 --> 30:08.000 OCCJS no longer supported, 30:08.000 --> 30:10.000 and the API is terrible. 30:10.000 --> 30:12.000 Sorry. 30:16.000 --> 30:17.000 Other questions? 30:17.000 --> 30:18.000 We have a couple minutes. 30:22.000 --> 30:23.000 No? All right? 30:23.000 --> 30:24.000 One more. 30:24.000 --> 30:26.000 All right. Why not? 30:27.000 --> 30:33.000 What would be like the use case for whale and support? 30:33.000 --> 30:39.000 What has to be done for whale and support in OCCJST? 30:39.000 --> 30:41.000 Because if it's a library, 30:41.000 --> 30:43.000 then shouldn't it be like, 30:43.000 --> 30:48.000 should it be not responsible for output to display? 30:48.000 --> 30:51.000 We work a lot of the... 30:56.000 --> 30:59.000 What is the use case for whale and support in OCCJST? 30:59.000 --> 31:02.000 What is the use case for whale and support in OCCJST? 31:02.000 --> 31:04.000 What is the use case for whale and support in OCCJST? 31:04.000 --> 31:06.000 What is the use case for whale and support in OCCJST? 31:06.000 --> 31:08.000 What is the use case for whale and support in OCCJST? 31:08.000 --> 31:10.000 What is the use case for whale and support in OCCJST? 31:10.000 --> 31:12.000 What is the use case for whale and support in OCCJST? 31:12.000 --> 31:14.000 What is the use case for whale and support in OCCJST? 31:14.000 --> 31:16.000 What is the use case for whale and support in OCCJST? 31:16.000 --> 31:18.000 What is the use case for whale and support in OCCJST? 31:18.000 --> 31:20.000 What is the use case for whale and support in OCCJST? 31:20.000 --> 31:22.000 What is the use case for whale and support in OCCJST?