Заготовка ПСКОВ 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>
<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">
<a href="notes-desktop.html">Notes and Git</a>
</h2>
@@ -223,30 +247,6 @@ graphical results did not match that of the audience.. . .</p>
<div class="news_item_more">
<a href="ht-sound.html">Continue reading</a>
</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>
<p class="pagination_title">Page 1 of 9</p>
<p>

View File

@@ -25,6 +25,30 @@
<h1>News</h1>
<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">
<a href="rethinking.html">Rethinking</a>
</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">
<a href="rpg-ends.html">Continue reading</a>
</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>
<p class="pagination_title">Page 2 of 9</p>
<p>

View File

@@ -25,6 +25,26 @@
<h1>News</h1>
<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">
<a href="git-budget.html">Why I keep track of spendings in a personal app made with Git+JS</a>
</h2>
@@ -178,23 +198,6 @@ It seems that right now we have less completed features than before the release
<div class="news_item_more">
<a href="ideal-gamedev.html">Continue reading</a>
</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>
<p class="pagination_title">Page 3 of 9</p>
<p>

View File

@@ -25,6 +25,23 @@
<h1>News</h1>
<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">
<a href="examples-and-dependencies.html">Examples and dependencies</a>
</h2>
@@ -170,27 +187,6 @@
<div class="news_item_more">
<a href="back-to-the-static.html">Continue reading</a>
</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>
<p class="pagination_title">Page 4 of 9</p>
<p>

View File

@@ -25,6 +25,27 @@
<h1>News</h1>
<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">
<a href="scripting-research.html">Scripting research</a>
</h2>
@@ -154,23 +175,6 @@
<div class="news_item_more">
<a href="2017-happy-new-year.html">Continue reading</a>
</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>
<p class="pagination_title">Page 5 of 9</p>
<p>

View File

@@ -25,6 +25,23 @@
<h1>News</h1>
<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">
<a href="2016-october-recap.html">October 2016 recap</a>
</h2>
@@ -170,21 +187,6 @@ It's time to create simple Mahjong solitaire game.
<div class="news_item_more">
<a href="2016-august-recap.html">Continue reading</a>
</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>
<p class="pagination_title">Page 6 of 9</p>
<p>

View File

@@ -25,6 +25,21 @@
<h1>News</h1>
<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">
<a href="once-mahjong-always-mahjong.html">Once Mahjong always Mahjong</a>
</h2>
@@ -148,24 +163,6 @@
<div class="news_item_more">
<a href="january-live-session-decision.html">Continue reading</a>
</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>
<p class="pagination_title">Page 7 of 9</p>
<p>

View File

@@ -25,6 +25,24 @@
<h1>News</h1>
<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">
<a href="livesession-materials-editor-07.html">Live session video and downloads</a>
</h2>
@@ -170,25 +188,6 @@
<div class="news_item_more">
<a href="editor-06-roadmap.html">Continue reading</a>
</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>
<p class="pagination_title">Page 8 of 9</p>
<p>

View File

@@ -25,6 +25,25 @@
<h1>News</h1>
<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">
<a href="editor-0.4.0-plans.html">Editor roadmap for 0.4.0</a>
</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>