Заготовка ПСКОВ 2 \| PSKOV 2 draft

This commit is contained in:
2025-06-03 22:11:14 +03:00
parent 01259a4262
commit 48dcad5139
24 changed files with 616 additions and 298 deletions

View File

@@ -0,0 +1,46 @@
Title: PSKOV 2 editor and components
Date: 2025-06-03
Category: News
Slug: welcome-component
Lang: en
<video controls width="700">
<source src="../../images/2025-06_welcome-component.mp4" type="video/mp4"/>
</video>
# PSKOV 2 editor draft
In May I created PSKOV 2 editor draft which is only capable of:
1. display two left menu items
2. display contents in the right for the selected menu item
You probably can't see anything substantial in this, however, the listed
functionality is run by a component. In this case it's called [WelcomeComponent][wcmp].
Future functionality like Git and Markdown is expected to follow the same pattern of
components.
The structure of components is not yet stable, but here's a short excerpt of
the constructor of `WelcomeComponent` just so you can feel the mood:
```javascript
function WelcomeComponent() {
this._construct = function() {
this.ctrl = new CLDController(new WelcomeContext());
// Dbg.
this.ctrl.registerCallback((c) => {
console.log(`ИГР WelcomeC._construct ctrl key/value: '${c.recentField}'/'${c.field(c.recentField)}'`);
});
this.setupHTML();
this.setupEffects();
this.setupEvents();
this.setupShoulds();
};
- - - -
```
# June
In June I plan to create a draft version of Git component.
[wcmp]: https://github.com/kornerr/pskov2/blob/main/welcome.js

View File

@@ -25,6 +25,30 @@
<h1>News</h1> <h1>News</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="welcome-component.html">PSKOV 2 editor and components</a>
</h2>
<p class="news_item_date">
2025-06-03
</p>
<div class="news_item_contents">
<video controls width="700">
<source src="../../images/2025-06_welcome-component.mp4" type="video/mp4"/>
</video>
<h1 id="pskov2editordraft">PSKOV 2 editor draft</h1>
<p>In May I created PSKOV 2 editor draft which is only capable of:</p>
<ol>
<li>display two left menu items</li>
<li>display contents in the right for the selected menu item</li>
</ol>
<p>You probably can't see anything substantial in this, however, the listed
functionality is run by a component. In this case it's called <a href="https://github.com/kornerr/pskov2/blob/main/welcome.js">WelcomeComponent</a>.
Future functionality like Git and Markdown is expected to follow the same pattern of. . .</p>
</div>
<div class="news_item_more">
<a href="welcome-component.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="notes-desktop.html">Notes and Git</a> <a href="notes-desktop.html">Notes and Git</a>
</h2> </h2>
@@ -223,30 +247,6 @@ graphical results did not match that of the audience.. . .</p>
<div class="news_item_more"> <div class="news_item_more">
<a href="ht-sound.html">Continue reading</a> <a href="ht-sound.html">Continue reading</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="ht-scenes.html">Switching scenes</a>
</h2>
<p class="news_item_date">
2024-09-06 00:00
</p>
<div class="news_item_contents">
<h1 id="august">August</h1>
<video controls width="700">
<source src="../../images/2024_scenes.mp4" type="video/mp4"/>
</video>
<p>In August I implemented scene switching, which allowed me to do the following:</p>
<ul>
<li>pressing "Start the game" button in the splash screen takes the player to a level with three floors</li>
<li>selecting a door takes the player to another floor</li>
<li>selecting a TV set focuses the player on the TV set with a remote control</li>
<li>switching TV channels results in different images being shown</li>
</ul>
<p>Thus, scenes are good both for focusing on items and moving the player around.. . .</p>
</div>
<div class="news_item_more">
<a href="ht-scenes.html">Continue reading</a>
</div>
</div> </div>
<p class="pagination_title">Page 1 of 9</p> <p class="pagination_title">Page 1 of 9</p>
<p> <p>

View File

@@ -25,6 +25,30 @@
<h1>News</h1> <h1>News</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="ht-scenes.html">Switching scenes</a>
</h2>
<p class="news_item_date">
2024-09-06 00:00
</p>
<div class="news_item_contents">
<h1 id="august">August</h1>
<video controls width="700">
<source src="../../images/2024_scenes.mp4" type="video/mp4"/>
</video>
<p>In August I implemented scene switching, which allowed me to do the following:</p>
<ul>
<li>pressing "Start the game" button in the splash screen takes the player to a level with three floors</li>
<li>selecting a door takes the player to another floor</li>
<li>selecting a TV set focuses the player on the TV set with a remote control</li>
<li>switching TV channels results in different images being shown</li>
</ul>
<p>Thus, scenes are good both for focusing on items and moving the player around.. . .</p>
</div>
<div class="news_item_more">
<a href="ht-scenes.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="rethinking.html">Rethinking</a> <a href="rethinking.html">Rethinking</a>
</h2> </h2>
@@ -201,26 +225,6 @@ had the numbers that it would take us <a href="https://gamedev.ru/community/ogs/
<div class="news_item_more"> <div class="news_item_more">
<a href="rpg-ends.html">Continue reading</a> <a href="rpg-ends.html">Continue reading</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="gitjs-intro.html">How I create browser applications inside browsers</a>
</h2>
<p class="news_item_date">
2021-01-28 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2021_gitjs-intro_снимок.jpg" alt="GitJS" /></p>
<p>In this article Michael shares his experience of creating durable applications.</p>
<p>In 2013 Canonical <a href="https://techcrunch.com/2013/08/22/edge-crowdfunding-fail">tried to crowdfund Ubuntu Edge smartphone</a>.
Its main feature could be the ability to use the smartphone as a full-fledged
PС. Unfortunatly, the crowdfunding campaign did not accumulate enough money,
so a dream of having a universal device remained to be the dream.</p>
<p>I've been searching for universality, too, on the software side,
not the hardware one. Today I can confidently say I found the necessary. . .</p>
</div>
<div class="news_item_more">
<a href="gitjs-intro.html">Continue reading</a>
</div>
</div> </div>
<p class="pagination_title">Page 2 of 9</p> <p class="pagination_title">Page 2 of 9</p>
<p> <p>

View File

@@ -25,6 +25,26 @@
<h1>News</h1> <h1>News</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="gitjs-intro.html">How I create browser applications inside browsers</a>
</h2>
<p class="news_item_date">
2021-01-28 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2021_gitjs-intro_снимок.jpg" alt="GitJS" /></p>
<p>In this article Michael shares his experience of creating durable applications.</p>
<p>In 2013 Canonical <a href="https://techcrunch.com/2013/08/22/edge-crowdfunding-fail">tried to crowdfund Ubuntu Edge smartphone</a>.
Its main feature could be the ability to use the smartphone as a full-fledged
PС. Unfortunatly, the crowdfunding campaign did not accumulate enough money,
so a dream of having a universal device remained to be the dream.</p>
<p>I've been searching for universality, too, on the software side,
not the hardware one. Today I can confidently say I found the necessary. . .</p>
</div>
<div class="news_item_more">
<a href="gitjs-intro.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="git-budget.html">Why I keep track of spendings in a personal app made with Git+JS</a> <a href="git-budget.html">Why I keep track of spendings in a personal app made with Git+JS</a>
</h2> </h2>
@@ -178,23 +198,6 @@ It seems that right now we have less completed features than before the release
<div class="news_item_more"> <div class="news_item_more">
<a href="ideal-gamedev.html">Continue reading</a> <a href="ideal-gamedev.html">Continue reading</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="mahjong-demo2.html">OGS Mahjong 2: Demo 2</a>
</h2>
<p class="news_item_date">
2018-10-02 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2018-10-02-mahjong-demo2.png" alt="Start of a Mahjong party" /></p>
<p>We are glad to announce the release of the second demonstration of OGS Mahjong 2. The purposes of this release were to refine our development techniques and build a solid cross-platform foundation.</p>
<p><strong>Release</strong></p>
<p>Run the latest version of OGS Mahjong 2 in your web browser: <a href="http://ogstudio.github.io/ogs-mahjong">http://ogstudio.github.io/ogs-mahjong</a></p>
<p>You are encouraged to run the game with <code>seed</code> parameter like this: <a href="http://ogstudio.github.io/ogs-mahjong?seed=0">http://ogstudio.github.io/ogs-mahjong?seed=0</a>. . .</p>
</div>
<div class="news_item_more">
<a href="mahjong-demo2.html">Continue reading</a>
</div>
</div> </div>
<p class="pagination_title">Page 3 of 9</p> <p class="pagination_title">Page 3 of 9</p>
<p> <p>

View File

@@ -25,6 +25,23 @@
<h1>News</h1> <h1>News</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="mahjong-demo2.html">OGS Mahjong 2: Demo 2</a>
</h2>
<p class="news_item_date">
2018-10-02 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2018-10-02-mahjong-demo2.png" alt="Start of a Mahjong party" /></p>
<p>We are glad to announce the release of the second demonstration of OGS Mahjong 2. The purposes of this release were to refine our development techniques and build a solid cross-platform foundation.</p>
<p><strong>Release</strong></p>
<p>Run the latest version of OGS Mahjong 2 in your web browser: <a href="http://ogstudio.github.io/ogs-mahjong">http://ogstudio.github.io/ogs-mahjong</a></p>
<p>You are encouraged to run the game with <code>seed</code> parameter like this: <a href="http://ogstudio.github.io/ogs-mahjong?seed=0">http://ogstudio.github.io/ogs-mahjong?seed=0</a>. . .</p>
</div>
<div class="news_item_more">
<a href="mahjong-demo2.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="examples-and-dependencies.html">Examples and dependencies</a> <a href="examples-and-dependencies.html">Examples and dependencies</a>
</h2> </h2>
@@ -170,27 +187,6 @@
<div class="news_item_more"> <div class="news_item_more">
<a href="back-to-the-static.html">Continue reading</a> <a href="back-to-the-static.html">Continue reading</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="mjin-world-birth.html">The birth of MJIN world</a>
</h2>
<p class="news_item_date">
2017-09-10 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-09-mjin-world-birth.png" alt="An explosion giving birth to something new" /></p>
<p>This article describes the birth of MJIN world in August 2017.</p>
<p><strong>mjin-player</strong></p>
<p>As you know, <a href="scripting-research.html">we spent July to research scripting</a>. We found a solution that satisfies the following criteria. Scripts should:</p>
<ol>
<li>run unchanged on all supported platforms</li>
<li>allow extending C++ code</li>
</ol>
<p>We have verified the second criterion by writing a sample application. The first criterion was taken for granted because it SHOULD be true.. . .</p>
</div>
<div class="news_item_more">
<a href="mjin-world-birth.html">Continue reading</a>
</div>
</div> </div>
<p class="pagination_title">Page 4 of 9</p> <p class="pagination_title">Page 4 of 9</p>
<p> <p>

View File

@@ -25,6 +25,27 @@
<h1>News</h1> <h1>News</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="mjin-world-birth.html">The birth of MJIN world</a>
</h2>
<p class="news_item_date">
2017-09-10 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-09-mjin-world-birth.png" alt="An explosion giving birth to something new" /></p>
<p>This article describes the birth of MJIN world in August 2017.</p>
<p><strong>mjin-player</strong></p>
<p>As you know, <a href="scripting-research.html">we spent July to research scripting</a>. We found a solution that satisfies the following criteria. Scripts should:</p>
<ol>
<li>run unchanged on all supported platforms</li>
<li>allow extending C++ code</li>
</ol>
<p>We have verified the second criterion by writing a sample application. The first criterion was taken for granted because it SHOULD be true.. . .</p>
</div>
<div class="news_item_more">
<a href="mjin-world-birth.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="scripting-research.html">Scripting research</a> <a href="scripting-research.html">Scripting research</a>
</h2> </h2>
@@ -154,23 +175,6 @@
<div class="news_item_more"> <div class="news_item_more">
<a href="2017-happy-new-year.html">Continue reading</a> <a href="2017-happy-new-year.html">Continue reading</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="2016-november-recap.html">November 2016 recap</a>
</h2>
<p class="news_item_date">
2016-12-15 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2016-12-15_2016-november-recap.png" alt="Construction of a building" /></p>
<p>This article describes the start of MJIN library separation into modules.</p>
<p>Once we built OpenSceneGraph for Android, it became obvious that some MJIN functionality is not suitable for Android. For example, UIQt provides a basis for OGS Editor UI. Since OGS Editor is a desktop application, we don't need UIQt for Android.</p>
<p>We decided to have a look at two approaches to separate MJIN into modules: build-time separation and run-time one.
<strong>Build-time</strong> separation means MJIN becomes highly configurable and each platform gets specifically tailored MJIN build.. . .</p>
</div>
<div class="news_item_more">
<a href="2016-november-recap.html">Continue reading</a>
</div>
</div> </div>
<p class="pagination_title">Page 5 of 9</p> <p class="pagination_title">Page 5 of 9</p>
<p> <p>

View File

@@ -25,6 +25,23 @@
<h1>News</h1> <h1>News</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="2016-november-recap.html">November 2016 recap</a>
</h2>
<p class="news_item_date">
2016-12-15 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2016-12-15_2016-november-recap.png" alt="Construction of a building" /></p>
<p>This article describes the start of MJIN library separation into modules.</p>
<p>Once we built OpenSceneGraph for Android, it became obvious that some MJIN functionality is not suitable for Android. For example, UIQt provides a basis for OGS Editor UI. Since OGS Editor is a desktop application, we don't need UIQt for Android.</p>
<p>We decided to have a look at two approaches to separate MJIN into modules: build-time separation and run-time one.
<strong>Build-time</strong> separation means MJIN becomes highly configurable and each platform gets specifically tailored MJIN build.. . .</p>
</div>
<div class="news_item_more">
<a href="2016-november-recap.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="2016-october-recap.html">October 2016 recap</a> <a href="2016-october-recap.html">October 2016 recap</a>
</h2> </h2>
@@ -170,21 +187,6 @@ It's time to create simple Mahjong solitaire game.
<div class="news_item_more"> <div class="news_item_more">
<a href="2016-august-recap.html">Continue reading</a> <a href="2016-august-recap.html">Continue reading</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="back-to-social-networks.html">Were back to social networks</a>
</h2>
<p class="news_item_date">
2016-08-18 00:00
</p>
<div class="news_item_contents">
<p>If you follow us on <a href="https://www.facebook.com/groups/162611230470183/">Facebook</a>, <a href="https://twitter.com/OpenGameStudio">Twitter</a>, or <a href="https://new.vk.com/opengamestudo">VK</a> you noticed we started to use them again. That's no coincidence: we're finally ready to communicate our progress verbally after 4 years of almost silent development.</p>
<p>Follow us to stay up-to-date!
. . .</p>
</div>
<div class="news_item_more">
<a href="back-to-social-networks.html">Continue reading</a>
</div>
</div> </div>
<p class="pagination_title">Page 6 of 9</p> <p class="pagination_title">Page 6 of 9</p>
<p> <p>

View File

@@ -25,6 +25,21 @@
<h1>News</h1> <h1>News</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="back-to-social-networks.html">Were back to social networks</a>
</h2>
<p class="news_item_date">
2016-08-18 00:00
</p>
<div class="news_item_contents">
<p>If you follow us on <a href="https://www.facebook.com/groups/162611230470183/">Facebook</a>, <a href="https://twitter.com/OpenGameStudio">Twitter</a>, or <a href="https://new.vk.com/opengamestudo">VK</a> you noticed we started to use them again. That's no coincidence: we're finally ready to communicate our progress verbally after 4 years of almost silent development.</p>
<p>Follow us to stay up-to-date!
. . .</p>
</div>
<div class="news_item_more">
<a href="back-to-social-networks.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="once-mahjong-always-mahjong.html">Once Mahjong always Mahjong</a> <a href="once-mahjong-always-mahjong.html">Once Mahjong always Mahjong</a>
</h2> </h2>
@@ -148,24 +163,6 @@
<div class="news_item_more"> <div class="news_item_more">
<a href="january-live-session-decision.html">Continue reading</a> <a href="january-live-session-decision.html">Continue reading</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="2016-roadmap.html">Roadmap for 2016</a>
</h2>
<p class="news_item_date">
2015-12-26 00:00
</p>
<div class="news_item_contents">
<p>As you know, according to the <a href="2015-roadmap.html">previously published roadmap</a>, we now have sound system in place. However, we decided to go further and implement the first version of Player. We wanted to get it done by December, but, unfortunately, more work resulted in the change of dates.</p>
<p>Here's the revised roadmap for the first half of 2016:</p>
<ol>
<li>Editor + Player 0.8.0 (January 2016): Sound system, Whac-a-mole game with sounds</li>
<li>Editor + Player 0.9.0 (April 2016): Networking system, simple ping pong game for 2 players over the net. . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="2016-roadmap.html">Continue reading</a>
</div>
</div> </div>
<p class="pagination_title">Page 7 of 9</p> <p class="pagination_title">Page 7 of 9</p>
<p> <p>

View File

@@ -25,6 +25,24 @@
<h1>News</h1> <h1>News</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="2016-roadmap.html">Roadmap for 2016</a>
</h2>
<p class="news_item_date">
2015-12-26 00:00
</p>
<div class="news_item_contents">
<p>As you know, according to the <a href="2015-roadmap.html">previously published roadmap</a>, we now have sound system in place. However, we decided to go further and implement the first version of Player. We wanted to get it done by December, but, unfortunately, more work resulted in the change of dates.</p>
<p>Here's the revised roadmap for the first half of 2016:</p>
<ol>
<li>Editor + Player 0.8.0 (January 2016): Sound system, Whac-a-mole game with sounds</li>
<li>Editor + Player 0.9.0 (April 2016): Networking system, simple ping pong game for 2 players over the net. . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="2016-roadmap.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="livesession-materials-editor-07.html">Live session video and downloads</a> <a href="livesession-materials-editor-07.html">Live session video and downloads</a>
</h2> </h2>
@@ -170,25 +188,6 @@
<div class="news_item_more"> <div class="news_item_more">
<a href="editor-06-roadmap.html">Continue reading</a> <a href="editor-06-roadmap.html">Continue reading</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="editor-0.4.0-and-0.5.0-plans.html">Editor 0.4.0 and plans for 0.5.0</a>
</h2>
<p class="news_item_date">
2015-03-07 00:00
</p>
<div class="news_item_contents">
<p>We completed Editor 0.4.0 in January. As it was planned, it only contains basic abilities to open and save a project. The major goal was to make MJIN, Python and Qt work together (we were unable to use PyQt or PySide due to technical difficulties).</p>
<p>You can <a title="Editor 0.4.0" href="http://youtu.be/3cqiTIjWwA8" target="_blank">see 0.4.0 in action here</a>. </p>
<p>We started Editor 0.5.0 development in February. It's 45% ready at the moment.</p>
<p>Editor 0.5.0 planned features:</p>
<ol>
<li>Scene node tree editing. . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="editor-0.4.0-and-0.5.0-plans.html">Continue reading</a>
</div>
</div> </div>
<p class="pagination_title">Page 8 of 9</p> <p class="pagination_title">Page 8 of 9</p>
<p> <p>

View File

@@ -25,6 +25,25 @@
<h1>News</h1> <h1>News</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="editor-0.4.0-and-0.5.0-plans.html">Editor 0.4.0 and plans for 0.5.0</a>
</h2>
<p class="news_item_date">
2015-03-07 00:00
</p>
<div class="news_item_contents">
<p>We completed Editor 0.4.0 in January. As it was planned, it only contains basic abilities to open and save a project. The major goal was to make MJIN, Python and Qt work together (we were unable to use PyQt or PySide due to technical difficulties).</p>
<p>You can <a title="Editor 0.4.0" href="http://youtu.be/3cqiTIjWwA8" target="_blank">see 0.4.0 in action here</a>. </p>
<p>We started Editor 0.5.0 development in February. It's 45% ready at the moment.</p>
<p>Editor 0.5.0 planned features:</p>
<ol>
<li>Scene node tree editing. . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="editor-0.4.0-and-0.5.0-plans.html">Continue reading</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="editor-0.4.0-plans.html">Editor roadmap for 0.4.0</a> <a href="editor-0.4.0-plans.html">Editor roadmap for 0.4.0</a>
</h2> </h2>

View File

@@ -0,0 +1,87 @@
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<link rel="stylesheet" href="../../style.css">
</head>
<body>
<script data-goatcounter="https://services.opengamestudio.org:443/count" async src="//services.opengamestudio.org:443/count.js"></script>
<div id="header">
<div class="header2">
<div class="menu">
<a href="../../en/news/index.html">News</a>
<a href="../../en/game/index.html">Games</a>
<a href="../../en/tool/index.html">Tools</a>
<a href="../../en/page/about.html">About</a>
</div>
<div id="lang">
<a href="../../en/news/welcome-component.html">EN</a>
<a href="../../ru/news/welcome-component.html">RU</a>
</div>
<div class="clear"></div>
</div>
</div>
<h3 class="left_item_title">In the news...</h3>
<center>
<div class="news_item">
<h2 class="news_item_title">
<a href="welcome-component.html">PSKOV 2 editor and components</a>
</h2>
<p class="news_item_date">
2025-06-03
</p>
<div class="news_item_contents">
<video controls width="700">
<source src="../../images/2025-06_welcome-component.mp4" type="video/mp4"/>
</video>
<h1 id="pskov2editordraft">PSKOV 2 editor draft</h1>
<p>In May I created PSKOV 2 editor draft which is only capable of:</p>
<ol>
<li>display two left menu items</li>
<li>display contents in the right for the selected menu item</li>
</ol>
<p>You probably can't see anything substantial in this, however, the listed
functionality is run by a component. In this case it's called <a href="https://github.com/kornerr/pskov2/blob/main/welcome.js">WelcomeComponent</a>.
Future functionality like Git and Markdown is expected to follow the same pattern of
components.</p>
<p>The structure of components is not yet stable, but here's a short excerpt of
the constructor of <code>WelcomeComponent</code> just so you can feel the mood:</p>
<pre><code class="javascript language-javascript">function WelcomeComponent() {
this._construct = function() {
this.ctrl = new CLDController(new WelcomeContext());
// Dbg.
this.ctrl.registerCallback((c) =&gt; {
console.log(`ИГР WelcomeC._construct ctrl key/value: '${c.recentField}'/'${c.field(c.recentField)}'`);
});
this.setupHTML();
this.setupEffects();
this.setupEvents();
this.setupShoulds();
};
- - - -
</code></pre>
<h1 id="june">June</h1>
<p>In June I plan to create a draft version of Git component.</p>
</div>
</div>
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = "https://opengamestudio.org/en/news/welcome-component.html";
this.page.identifier = "welcome-component.html";
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://opengamestudio.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<div id="footer">
The site has been generated by <a href="http://opengamestudio.org/pskov">PSKOV</a>
from <a href="http://github.com/ogstudio/site-opengamestudio">this source code</a>.
</div>
</center>
</body>
</html>

Binary file not shown.

View File

@@ -0,0 +1,46 @@
Title: Редактор ПСКОВ 2 и компоненты
Date: 2025-06-03
Category: News
Slug: welcome-component
Lang: ru
<video controls width="700">
<source src="../../images/2025-06_welcome-component.mp4" type="video/mp4"/>
</video>
# Заготовка редактора ПСКОВ 2
В мае сделал заготовку редактора ПСКОВ 2, которая умеет лишь:
1. показывать два пункта в левом меню
2. отображать содержимое выбранного пункта меню
Функционально в этом сложно увидеть что-либо занимательное. Но
таковое есть: и левое меню, и содержимое управляются компонентом,
в данном случае [WelcomeComponent][wcmp]. Будущая функциональность вроде Git
и Markdown тоже будет представлена компонентами.
Структура компонента ещё не устоялась, но для примерного понимания приведу
текущий вид конструктора `WelcomeComponent`:
```javascript
function WelcomeComponent() {
this._construct = function() {
this.ctrl = new CLDController(new WelcomeContext());
// Dbg.
this.ctrl.registerCallback((c) => {
console.log(`ИГР WelcomeC._construct ctrl key/value: '${c.recentField}'/'${c.field(c.recentField)}'`);
});
this.setupHTML();
this.setupEffects();
this.setupEvents();
this.setupShoulds();
};
- - - -
```
# Июнь
В июне планирую сделать заготовку компонента Git.
[wcmp]: https://github.com/kornerr/pskov2/blob/main/welcome.js

View File

@@ -25,6 +25,30 @@
<h1>Новости</h1> <h1>Новости</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="welcome-component.html">Редактор ПСКОВ 2 и компоненты</a>
</h2>
<p class="news_item_date">
2025-06-03
</p>
<div class="news_item_contents">
<video controls width="700">
<source src="../../images/2025-06_welcome-component.mp4" type="video/mp4"/>
</video>
<h1 id="2">Заготовка редактора ПСКОВ 2</h1>
<p>В мае сделал заготовку редактора ПСКОВ 2, которая умеет лишь:</p>
<ol>
<li>показывать два пункта в левом меню</li>
<li>отображать содержимое выбранного пункта меню</li>
</ol>
<p>Функционально в этом сложно увидеть что-либо занимательное. Но
таковое есть: и левое меню, и содержимое управляются компонентом,
в данном случае <a href="https://github.com/kornerr/pskov2/blob/main/welcome.js">WelcomeComponent</a>. Будущая функциональность вроде Git. . .</p>
</div>
<div class="news_item_more">
<a href="welcome-component.html">Читать далее</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="notes-desktop.html">Заметки и Git</a> <a href="notes-desktop.html">Заметки и Git</a>
</h2> </h2>
@@ -209,30 +233,6 @@ Linux, macOS и Windows. Таким образом, если кому-либо
<div class="news_item_more"> <div class="news_item_more">
<a href="ht-sound.html">Читать далее</a> <a href="ht-sound.html">Читать далее</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="ht-scenes.html">Переключение сцен</a>
</h2>
<p class="news_item_date">
2024-09-06 00:00
</p>
<div class="news_item_contents">
<h1 id="">Август</h1>
<video controls width="700">
<source src="../../images/2024_scenes.mp4" type="video/mp4"/>
</video>
<p>В августе сделал переключение сцен, после чего стало возможно следующее:</p>
<ul>
<li>при нажатии в заставке кнопки «Начать игру» переходить к уровню с тремя этажами</li>
<li>при выборе двери переходить на другой этаж</li>
<li>при выборе телевизора переходить к переключению каналов</li>
<li>при переключении каналов менять изображение в телевизоре</li>
</ul>
<p>Таким образом, сцены хорошо решают вопросы как фокусирования на предметах,. . .</p>
</div>
<div class="news_item_more">
<a href="ht-scenes.html">Читать далее</a>
</div>
</div> </div>
<p class="pagination_title">Страница 1 из 9</p> <p class="pagination_title">Страница 1 из 9</p>
<p> <p>

View File

@@ -25,6 +25,30 @@
<h1>Новости</h1> <h1>Новости</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="ht-scenes.html">Переключение сцен</a>
</h2>
<p class="news_item_date">
2024-09-06 00:00
</p>
<div class="news_item_contents">
<h1 id="">Август</h1>
<video controls width="700">
<source src="../../images/2024_scenes.mp4" type="video/mp4"/>
</video>
<p>В августе сделал переключение сцен, после чего стало возможно следующее:</p>
<ul>
<li>при нажатии в заставке кнопки «Начать игру» переходить к уровню с тремя этажами</li>
<li>при выборе двери переходить на другой этаж</li>
<li>при выборе телевизора переходить к переключению каналов</li>
<li>при переключении каналов менять изображение в телевизоре</li>
</ul>
<p>Таким образом, сцены хорошо решают вопросы как фокусирования на предметах,. . .</p>
</div>
<div class="news_item_more">
<a href="ht-scenes.html">Читать далее</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="rethinking.html">Переосмысление</a> <a href="rethinking.html">Переосмысление</a>
</h2> </h2>
@@ -200,26 +224,6 @@ class memory_Context:
<div class="news_item_more"> <div class="news_item_more">
<a href="rpg-ends.html">Читать далее</a> <a href="rpg-ends.html">Читать далее</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="gitjs-intro.html">Как я создаю приложения для браузера прямо в браузере</a>
</h2>
<p class="news_item_date">
2021-01-28 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2021_gitjs-intro_снимок.jpg" alt="GitJS" /></p>
<p>В этой статье Михаил поделится опытом создания доступных долговечных приложений.</p>
<p>В 2013 году компания Canonical <a href="https://habr.com/ru/post/187480">пыталась собрать средства на выпуск смартфона
Ubuntu Edge</a>. Особенностью продукта должна была стать возможность
преобразовывать смартфон в полноценный ПК. Увы, необходимую сумму собрать не
удалось, поэтому мечта создать универсальное устройство так и осталась мечтой.</p>
<p>Со своей стороны я давно искал универсальность со стороны программного
обеспечения, не железа. Сегодня с уверенностью могу сказать, что нашёл. . .</p>
</div>
<div class="news_item_more">
<a href="gitjs-intro.html">Читать далее</a>
</div>
</div> </div>
<p class="pagination_title">Страница 2 из 9</p> <p class="pagination_title">Страница 2 из 9</p>
<p> <p>

View File

@@ -25,6 +25,26 @@
<h1>Новости</h1> <h1>Новости</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="gitjs-intro.html">Как я создаю приложения для браузера прямо в браузере</a>
</h2>
<p class="news_item_date">
2021-01-28 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2021_gitjs-intro_снимок.jpg" alt="GitJS" /></p>
<p>В этой статье Михаил поделится опытом создания доступных долговечных приложений.</p>
<p>В 2013 году компания Canonical <a href="https://habr.com/ru/post/187480">пыталась собрать средства на выпуск смартфона
Ubuntu Edge</a>. Особенностью продукта должна была стать возможность
преобразовывать смартфон в полноценный ПК. Увы, необходимую сумму собрать не
удалось, поэтому мечта создать универсальное устройство так и осталась мечтой.</p>
<p>Со своей стороны я давно искал универсальность со стороны программного
обеспечения, не железа. Сегодня с уверенностью могу сказать, что нашёл. . .</p>
</div>
<div class="news_item_more">
<a href="gitjs-intro.html">Читать далее</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="git-budget.html">Почему я сделал личный проект учёта трат на Git+JS</a> <a href="git-budget.html">Почему я сделал личный проект учёта трат на Git+JS</a>
</h2> </h2>
@@ -177,23 +197,6 @@
<div class="news_item_more"> <div class="news_item_more">
<a href="ideal-gamedev.html">Читать далее</a> <a href="ideal-gamedev.html">Читать далее</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="mahjong-demo2.html">OGS Mahjong 2: Demo 2</a>
</h2>
<p class="news_item_date">
2018-10-02 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2018-10-02-mahjong-demo2.png" alt="Начало партии Маджонг" /></p>
<p>Мы рады сообщить о выпуске второй демонстрации OGS Mahjong 2. Её целью были улучшение техники разработки и создание надёжной основы кроссплатформенной разработки.</p>
<p><strong>Выпуск</strong></p>
<p>Запустите последний выпуск OGS Mahjong 2 в вашем браузере: <a href="http://ogstudio.github.io/ogs-mahjong">http://ogstudio.github.io/ogs-mahjong</a></p>
<p>Рекомендуем запускать игру с параметром <code>seed</code> следующим образом: <a href="http://ogstudio.github.io/ogs-mahjong?seed=0">http://ogstudio.github.io/ogs-mahjong?seed=0</a>. . .</p>
</div>
<div class="news_item_more">
<a href="mahjong-demo2.html">Читать далее</a>
</div>
</div> </div>
<p class="pagination_title">Страница 3 из 9</p> <p class="pagination_title">Страница 3 из 9</p>
<p> <p>

View File

@@ -25,6 +25,23 @@
<h1>Новости</h1> <h1>Новости</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="mahjong-demo2.html">OGS Mahjong 2: Demo 2</a>
</h2>
<p class="news_item_date">
2018-10-02 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2018-10-02-mahjong-demo2.png" alt="Начало партии Маджонг" /></p>
<p>Мы рады сообщить о выпуске второй демонстрации OGS Mahjong 2. Её целью были улучшение техники разработки и создание надёжной основы кроссплатформенной разработки.</p>
<p><strong>Выпуск</strong></p>
<p>Запустите последний выпуск OGS Mahjong 2 в вашем браузере: <a href="http://ogstudio.github.io/ogs-mahjong">http://ogstudio.github.io/ogs-mahjong</a></p>
<p>Рекомендуем запускать игру с параметром <code>seed</code> следующим образом: <a href="http://ogstudio.github.io/ogs-mahjong?seed=0">http://ogstudio.github.io/ogs-mahjong?seed=0</a>. . .</p>
</div>
<div class="news_item_more">
<a href="mahjong-demo2.html">Читать далее</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="examples-and-dependencies.html">Примеры и зависимости</a> <a href="examples-and-dependencies.html">Примеры и зависимости</a>
</h2> </h2>
@@ -167,27 +184,6 @@
<div class="news_item_more"> <div class="news_item_more">
<a href="back-to-the-static.html">Читать далее</a> <a href="back-to-the-static.html">Читать далее</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="mjin-world-birth.html">Рождение вселенной MJIN</a>
</h2>
<p class="news_item_date">
2017-09-10 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-09-mjin-world-birth.png" alt="Взрыв, рождающий что-то новое" /></p>
<p>Эта статья описывает рождение вселенной MJIN в августе 2017.</p>
<p><strong>mjin-player</strong></p>
<p>Как вы знаете, <a href="scripting-research.html">в июле мы изучали скриптование</a>. Мы нашли решение, которое удовлетворяет следующим критериям. Скрипты должны:</p>
<ol>
<li>исполняться в исходном виде без изменений на всех поддерживаемых платформах</li>
<li>позволять расширять код C++</li>
</ol>
<p>Мы проверили второй критерий в рамках тестового приложения. В первый критерий мы просто поверили, т.к. он ДОЛЖЕН быть верен.. . .</p>
</div>
<div class="news_item_more">
<a href="mjin-world-birth.html">Читать далее</a>
</div>
</div> </div>
<p class="pagination_title">Страница 4 из 9</p> <p class="pagination_title">Страница 4 из 9</p>
<p> <p>

View File

@@ -25,6 +25,27 @@
<h1>Новости</h1> <h1>Новости</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="mjin-world-birth.html">Рождение вселенной MJIN</a>
</h2>
<p class="news_item_date">
2017-09-10 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2017-09-mjin-world-birth.png" alt="Взрыв, рождающий что-то новое" /></p>
<p>Эта статья описывает рождение вселенной MJIN в августе 2017.</p>
<p><strong>mjin-player</strong></p>
<p>Как вы знаете, <a href="scripting-research.html">в июле мы изучали скриптование</a>. Мы нашли решение, которое удовлетворяет следующим критериям. Скрипты должны:</p>
<ol>
<li>исполняться в исходном виде без изменений на всех поддерживаемых платформах</li>
<li>позволять расширять код C++</li>
</ol>
<p>Мы проверили второй критерий в рамках тестового приложения. В первый критерий мы просто поверили, т.к. он ДОЛЖЕН быть верен.. . .</p>
</div>
<div class="news_item_more">
<a href="mjin-world-birth.html">Читать далее</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="scripting-research.html">Изучение скриптования</a> <a href="scripting-research.html">Изучение скриптования</a>
</h2> </h2>
@@ -154,23 +175,6 @@
<div class="news_item_more"> <div class="news_item_more">
<a href="2017-happy-new-year.html">Читать далее</a> <a href="2017-happy-new-year.html">Читать далее</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="2016-november-recap.html">Ноябрь 2016 кратко</a>
</h2>
<p class="news_item_date">
2016-12-15 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2016-12-15_2016-november-recap.png" alt="Постройка здания" /></p>
<p>Эта статья описывает начало разделения библиотеки MJIN на модули.</p>
<p>Как только мы собрали OpenSceneGraph для Android, стало очевидно, что часть функционала MJIN не нужна на Android. Например, UIQt - это основа интерфейса Редактора. Раз Редактор - это приложение для ПК, то UIQt не нужен на Android.</p>
<p>Мы решили рассмотреть два подхода к разделению MJIN на модули: во время сборки (build-time) и исполнения (run-time).
Разделение <strong>во время сборки</strong> означает гибкую систему настроек MJIN, что позволит собирать её различно под каждую платформу.. . .</p>
</div>
<div class="news_item_more">
<a href="2016-november-recap.html">Читать далее</a>
</div>
</div> </div>
<p class="pagination_title">Страница 5 из 9</p> <p class="pagination_title">Страница 5 из 9</p>
<p> <p>

View File

@@ -25,6 +25,23 @@
<h1>Новости</h1> <h1>Новости</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="2016-november-recap.html">Ноябрь 2016 кратко</a>
</h2>
<p class="news_item_date">
2016-12-15 00:00
</p>
<div class="news_item_contents">
<p><img src="../../images/2016-12-15_2016-november-recap.png" alt="Постройка здания" /></p>
<p>Эта статья описывает начало разделения библиотеки MJIN на модули.</p>
<p>Как только мы собрали OpenSceneGraph для Android, стало очевидно, что часть функционала MJIN не нужна на Android. Например, UIQt - это основа интерфейса Редактора. Раз Редактор - это приложение для ПК, то UIQt не нужен на Android.</p>
<p>Мы решили рассмотреть два подхода к разделению MJIN на модули: во время сборки (build-time) и исполнения (run-time).
Разделение <strong>во время сборки</strong> означает гибкую систему настроек MJIN, что позволит собирать её различно под каждую платформу.. . .</p>
</div>
<div class="news_item_more">
<a href="2016-november-recap.html">Читать далее</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="2016-october-recap.html">Октябрь 2016 кратко</a> <a href="2016-october-recap.html">Октябрь 2016 кратко</a>
</h2> </h2>
@@ -170,21 +187,6 @@
<div class="news_item_more"> <div class="news_item_more">
<a href="2016-august-recap.html">Читать далее</a> <a href="2016-august-recap.html">Читать далее</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="back-to-social-networks.html">Мы вернулись в социальные сети</a>
</h2>
<p class="news_item_date">
2016-08-18 00:00
</p>
<div class="news_item_contents">
<p>Если вы подписаны на нашу группу в <a href="https://www.facebook.com/groups/162611230470183/">Facebook</a>, <a href="https://twitter.com/OpenGameStudio">Twitter</a> или <a href="https://new.vk.com/opengamestudo">VK</a>, вы заметили, что мы начали использовать её снова. Это не случайно: мы наконец созрели для вербального общения после 4 лет молчаливой разработки.</p>
<p>Подписывайтесь!
. . .</p>
</div>
<div class="news_item_more">
<a href="back-to-social-networks.html">Читать далее</a>
</div>
</div> </div>
<p class="pagination_title">Страница 6 из 9</p> <p class="pagination_title">Страница 6 из 9</p>
<p> <p>

View File

@@ -25,6 +25,21 @@
<h1>Новости</h1> <h1>Новости</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="back-to-social-networks.html">Мы вернулись в социальные сети</a>
</h2>
<p class="news_item_date">
2016-08-18 00:00
</p>
<div class="news_item_contents">
<p>Если вы подписаны на нашу группу в <a href="https://www.facebook.com/groups/162611230470183/">Facebook</a>, <a href="https://twitter.com/OpenGameStudio">Twitter</a> или <a href="https://new.vk.com/opengamestudo">VK</a>, вы заметили, что мы начали использовать её снова. Это не случайно: мы наконец созрели для вербального общения после 4 лет молчаливой разработки.</p>
<p>Подписывайтесь!
. . .</p>
</div>
<div class="news_item_more">
<a href="back-to-social-networks.html">Читать далее</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="once-mahjong-always-mahjong.html">Раз Маджонг всегда Маджонг</a> <a href="once-mahjong-always-mahjong.html">Раз Маджонг всегда Маджонг</a>
</h2> </h2>
@@ -145,24 +160,6 @@
<div class="news_item_more"> <div class="news_item_more">
<a href="january-live-session-decision.html">Читать далее</a> <a href="january-live-session-decision.html">Читать далее</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="2016-roadmap.html">Дорожная карта 2016</a>
</h2>
<p class="news_item_date">
2015-12-26 00:00
</p>
<div class="news_item_contents">
<p>Как вы знаете, согласно <a href="2015-roadmap.html">ранее опубликованной дорожной карте</a>, мы добавили звуковую систему. Тем не менее, мы решили пойти дальше и создать первую версию Проигрывателя. Мы хотели завершить его в декабре, но, к сожалению, изменение планов вылилось в изменение сроков.</p>
<p>Представляем вам обновлённую дорожную карту на первую половину 2016:</p>
<ol>
<li>Редактор + Проигрыватель 0.8.0 (Январь 2016): Звуковая система, игра "Поймай крота" со звуком</li>
<li>Редактор + Проигрыватель 0.9.0 (Апрель 2016): Сетевая система, простая игра ping pong для двух игроков по сети. . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="2016-roadmap.html">Читать далее</a>
</div>
</div> </div>
<p class="pagination_title">Страница 7 из 9</p> <p class="pagination_title">Страница 7 из 9</p>
<p> <p>

View File

@@ -25,6 +25,24 @@
<h1>Новости</h1> <h1>Новости</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="2016-roadmap.html">Дорожная карта 2016</a>
</h2>
<p class="news_item_date">
2015-12-26 00:00
</p>
<div class="news_item_contents">
<p>Как вы знаете, согласно <a href="2015-roadmap.html">ранее опубликованной дорожной карте</a>, мы добавили звуковую систему. Тем не менее, мы решили пойти дальше и создать первую версию Проигрывателя. Мы хотели завершить его в декабре, но, к сожалению, изменение планов вылилось в изменение сроков.</p>
<p>Представляем вам обновлённую дорожную карту на первую половину 2016:</p>
<ol>
<li>Редактор + Проигрыватель 0.8.0 (Январь 2016): Звуковая система, игра "Поймай крота" со звуком</li>
<li>Редактор + Проигрыватель 0.9.0 (Апрель 2016): Сетевая система, простая игра ping pong для двух игроков по сети. . .</li>
</ol>
</div>
<div class="news_item_more">
<a href="2016-roadmap.html">Читать далее</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="livesession-materials-editor-07.html">Видеозапись живой сессии и материалы</a> <a href="livesession-materials-editor-07.html">Видеозапись живой сессии и материалы</a>
</h2> </h2>
@@ -169,21 +187,6 @@
<div class="news_item_more"> <div class="news_item_more">
<a href="editor-06-roadmap.html">Читать далее</a> <a href="editor-06-roadmap.html">Читать далее</a>
</div> </div>
</div><div class="news_item">
<h2 class="news_item_title">
<a href="editor-0.4.0-and-0.5.0-plans.html">Редактор 0.4.0 и планы для 0.5.0</a>
</h2>
<p class="news_item_date">
2015-03-07 00:00
</p>
<div class="news_item_contents">
<p>Мы завершили работу над версией 0.4.0 редактора в январе. Как было запланировано, эта версия содержит лишь базовые возможности открыть и сохранить проект. Основная цель была в том, чтобы подружить MJIN, Python и Qt (в частности, по ряду технических причин мы не смогли использовать PyQt или PySide).</p>
<p>Вы можете <a title="Editor 0.4.0" href="http://youtu.be/3cqiTIjWwA8" target="_blank">увидеть 0.4.0 в действии здесь</a>. </p>
<p>Мы начали разработку Редактора 0.5.0 в феврале, на текущий момент сделаны 45% работ.. . .</p>
</div>
<div class="news_item_more">
<a href="editor-0.4.0-and-0.5.0-plans.html">Читать далее</a>
</div>
</div> </div>
<p class="pagination_title">Страница 8 из 9</p> <p class="pagination_title">Страница 8 из 9</p>
<p> <p>

View File

@@ -25,6 +25,21 @@
<h1>Новости</h1> <h1>Новости</h1>
<div class="news_item"> <div class="news_item">
<h2 class="news_item_title">
<a href="editor-0.4.0-and-0.5.0-plans.html">Редактор 0.4.0 и планы для 0.5.0</a>
</h2>
<p class="news_item_date">
2015-03-07 00:00
</p>
<div class="news_item_contents">
<p>Мы завершили работу над версией 0.4.0 редактора в январе. Как было запланировано, эта версия содержит лишь базовые возможности открыть и сохранить проект. Основная цель была в том, чтобы подружить MJIN, Python и Qt (в частности, по ряду технических причин мы не смогли использовать PyQt или PySide).</p>
<p>Вы можете <a title="Editor 0.4.0" href="http://youtu.be/3cqiTIjWwA8" target="_blank">увидеть 0.4.0 в действии здесь</a>. </p>
<p>Мы начали разработку Редактора 0.5.0 в феврале, на текущий момент сделаны 45% работ.. . .</p>
</div>
<div class="news_item_more">
<a href="editor-0.4.0-and-0.5.0-plans.html">Читать далее</a>
</div>
</div><div class="news_item">
<h2 class="news_item_title"> <h2 class="news_item_title">
<a href="editor-0.4.0-plans.html">План задач для Editor 0.4.0</a> <a href="editor-0.4.0-plans.html">План задач для Editor 0.4.0</a>
</h2> </h2>

View File

@@ -0,0 +1,87 @@
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<link rel="stylesheet" href="../../style.css">
</head>
<body>
<script data-goatcounter="https://services.opengamestudio.org:443/count" async src="//services.opengamestudio.org:443/count.js"></script>
<div id="header">
<div class="header2">
<div class="menu">
<a href="../../ru/news/index.html">Новости</a>
<a href="../../ru/game/index.html">Игры</a>
<a href="../../ru/tool/index.html">Инструменты</a>
<a href="../../ru/page/about.html">О нас</a>
</div>
<div id="lang">
<a href="../../en/news/welcome-component.html">EN</a>
<a href="../../ru/news/welcome-component.html">RU</a>
</div>
<div class="clear"></div>
</div>
</div>
<h3 class="left_item_title">В новостях...</h3>
<center>
<div class="news_item">
<h2 class="news_item_title">
<a href="welcome-component.html">Редактор ПСКОВ 2 и компоненты</a>
</h2>
<p class="news_item_date">
2025-06-03
</p>
<div class="news_item_contents">
<video controls width="700">
<source src="../../images/2025-06_welcome-component.mp4" type="video/mp4"/>
</video>
<h1 id="2">Заготовка редактора ПСКОВ 2</h1>
<p>В мае сделал заготовку редактора ПСКОВ 2, которая умеет лишь:</p>
<ol>
<li>показывать два пункта в левом меню</li>
<li>отображать содержимое выбранного пункта меню</li>
</ol>
<p>Функционально в этом сложно увидеть что-либо занимательное. Но
таковое есть: и левое меню, и содержимое управляются компонентом,
в данном случае <a href="https://github.com/kornerr/pskov2/blob/main/welcome.js">WelcomeComponent</a>. Будущая функциональность вроде Git
и Markdown тоже будет представлена компонентами.</p>
<p>Структура компонента ещё не устоялась, но для примерного понимания приведу
текущий вид конструктора <code>WelcomeComponent</code>:</p>
<pre><code class="javascript language-javascript">function WelcomeComponent() {
this._construct = function() {
this.ctrl = new CLDController(new WelcomeContext());
// Dbg.
this.ctrl.registerCallback((c) =&gt; {
console.log(`ИГР WelcomeC._construct ctrl key/value: '${c.recentField}'/'${c.field(c.recentField)}'`);
});
this.setupHTML();
this.setupEffects();
this.setupEvents();
this.setupShoulds();
};
- - - -
</code></pre>
<h1 id="">Июнь</h1>
<p>В июне планирую сделать заготовку компонента Git.</p>
</div>
</div>
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = "https://opengamestudio.org/ru/news/welcome-component.html";
this.page.identifier = "welcome-component.html";
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://opengamestudio.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Пожалуйста, включите JavaScript для просмотра <a href="https://disqus.com/?ref_noscript">комментариев на платформе Disqus.</a></noscript>
<div id="footer">
Сайт сгенерирован <a href="http://opengamestudio.org/pskov/ru">ПСКОВОМ</a>
из <a href="http://github.com/ogstudio/site-opengamestudio">этого исходного кода</a>.
</div>
</center>
</body>
</html>

View File

@@ -74,6 +74,10 @@ code, pre
font-family: monospace, serif; font-family: monospace, serif;
font-size: 1em; font-size: 1em;
color: #7f0a0c; color: #7f0a0c;
overflow: auto;
background-color: #f7f7f7;
padding: 1px;
border-radius: 4px;
} }
img img
{ {